Sobre chaves privadas para GitHub Apps
Depois de criar uma GitHub App, você precisará gerar uma chave privada para fazer solicitações à GitHub API como o próprio aplicativo. Por exemplo, você precisa de uma chave privada para assinar um JWT (Token Web JSON) e solicitar um token de acesso de instalação. Para saber mais, confira Gerando um JWT (Token Web JSON) para um aplicativo GitHub
Você pode criar até 25 chaves privadas para um aplicativo. Você deve usar várias chaves para realizar a rotação sem tempo de inatividade no caso de um comprometimento de chave. Se o aplicativo tiver 25 ou mais chaves, você deverá excluir algumas antes de criar mais.
As chaves privadas não expiram e, assim, precisam ser revogadas manualmente. Para obter mais informações sobre como revogar ou excluir uma chave privada, confira Como excluir chaves privadas.
Você deve manter as chaves privadas de GitHub Apps seguras. Para obter mais informações, confira Como armazenar chaves privadas.
Para verificar se uma chave privada corresponde a uma chave pública, confira Como verificar chaves privadas.
Gerar chaves privadas
Para gerar uma chave privada:
-
No canto superior direito de qualquer página do GitHub, clique na foto do seu perfil.
-
Acesse as configurações da sua conta.
- Para um aplicativo de propriedade de uma conta pessoal, clique em Configurações.
- Para um aplicativo de propriedade de uma organização:
- Clique em Suas organizações.
- À direita da organização, clique em Configurações.
- Para um aplicativo de propriedade de uma empresa:
- Clique em Configurações da empresa.
-
Navegue até as configurações GitHub App.
- Para um aplicativo pertencente a uma conta pessoal ou a uma organização:
- Na barra lateral esquerda, clique em Developer settings e clique em GitHub Apps.
- Para um aplicativo de propriedade de uma empresa:
- Na barra lateral esquerda, clique em Configurações, depois clique em GitHub Apps.
- Para um aplicativo pertencente a uma conta pessoal ou a uma organização:
-
Ao lado de GitHub App, para o qual você deseja gerar uma chave privada, clique em Editar.
-
Em "Chaves privadas", clique em Gerar uma chave privada.
-
Você verá uma chave privada no formato PEM baixado no seu computador. Certifique-se de armazenar esse arquivo porque GitHub armazena apenas a parte pública da chave. Para obter mais informações sobre como armazenar sua chave com segurança, confira Como armazenar chaves privadas.
Observação
Se você estiver usando uma biblioteca que exija um formato de arquivo específico, o arquivo PEM que você baixar estará no formato PKCS#1 RSAPrivateKey.
Verificar chaves privadas
GitHub gera uma impressão digital para cada par de chaves públicas e privadas usando a função de hash SHA-256. Você pode verificar se a chave privada corresponde à chave pública armazenada GitHub gerando a impressão digital da chave privada e comparando-a com a impressão digital mostrada.GitHub
Para verificar uma chave privada:
-
Localize a impressão digital do par de chaves pública e privada que você deseja verificar na seção "Chaves privadas" da página de configurações para o seu GitHub App. Para obter mais informações, confira Como gerar chaves privadas.

-
Gere a impressão digital da chave privada (PEM) localmente usando o seguinte comando:
openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl sha256 -binary | openssl base64 -
Compare os resultados da impressão digital gerada localmente com a impressão digital que você vê.GitHub
Apagar chaves privadas
Você pode remover uma chave privada perdida ou comprometida excluindo-a, mas deve regenerar uma nova chave antes de poder excluir a chave existente.
-
No canto superior direito de qualquer página do GitHub, clique na foto do seu perfil.
-
Acesse as configurações da sua conta.
- Para um aplicativo de propriedade de uma conta pessoal, clique em Configurações.
- Para um aplicativo de propriedade de uma organização:
- Clique em Suas organizações.
- À direita da organização, clique em Configurações.
- Para um aplicativo de propriedade de uma empresa:
- Clique em Configurações da empresa.
-
Na barra lateral esquerda, clique em Developer settings.
-
Na barra lateral esquerda, clique em GitHub Apps .
-
Ao lado do GitHub App do qual você deseja excluir uma chave privada, clique em Editar.
-
Em "Chaves privadas", à direita da chave privada que você deseja excluir, clique em Excluir.
-
Quando solicitado, confirme se deseja excluir a chave privada clicando em Excluir. Se tiver GitHub App apenas uma chave, você precisará gerar uma nova chave antes de excluir a chave antiga. Para obter mais informações, confira Como gerar chaves privadas.
Armazenar chaves privadas
A chave privada é o único segredo mais valioso para um GitHub App. Considere armazenar a chave em um cofre de chaves, como Azure Key Vault, e torná-la somente para assinar. Isso ajuda a garantir que você não perca a chave privada. Depois que a chave privada é carregada no cofre de chaves, ela nunca poderá ser lida por ali. Só poderá ser usada para assinar itens, e o acesso a ela é determinado pelas regras de infraestrutura.
Como alternativa, você pode armazenar a chave como uma variável de ambiente. Isso não é tão forte quanto armazenar a chave em um cofre de chaves. Se um invasor obtiver acesso ao ambiente, ele poderá ler a chave privada e obter autenticação persistente como .GitHub App
Você não deve codificar a chave privada em seu aplicativo, mesmo que o código seja armazenado em um repositório privado.
Para saber mais, confira Práticas recomendadas para criar um aplicativo GitHub.