Histórico: Meu chefe tentou exportar uma chave ASC para mim com partes públicas e privadas, mas sempre que recebo o arquivo, a parte privada nunca carrega e não descriptografa nenhum arquivo.
Tentamos exportar a chave ASC usando:
Aplicativo Windows Kleopatra 2.1 (incluído no gpg4win)
Aplicativo do Windows GNU Privacy Assistant (incluído no gpg4win)
Como você exporta corretamente uma chave asc secreta ou privada para descriptografar arquivos gpg?
Você pode exportar a chave privada com a ferramenta de linha de comando do GPG . Ele funciona no shell do Windows. Use o seguinte comando:
Uma exportação normal com --exportnão incluirá nenhuma chave privada, portanto, você deve usar --export-secret-keys.
Para resumir as informações fornecidas em meus comentários, este é o comando que permite exportar uma chave específica com o ID 1234ABCD para o arquivo secret.asc:
Você pode encontrar o ID de que precisa usando o seguinte comando. O ID é a segunda parte da segunda coluna:
Para exportar apenas 1 chave secreta específica em vez de todas:
keyIDNumber é o número do ID da chave desejada que você está tentando exportar.
@Brian: Isso irá despejar a chave no console. Se você deseja armazená-lo em um arquivo, pode redirecionar a saída para um nome de arquivo arbitrário ("gpg --export-secret-keys> secret.asc").
@Brian: Fornece a saída em ASCII e não em binário. Se você mantê-lo em um arquivo, isso realmente não importa. Mas se você quiser distribuí-lo de outra maneira, a versão ASCII é muito mais fácil de manusear (enviando inline por e-mail, por exemplo)
Talvez você queira levar sua chave secreta para outro local. Neste caso, você deve criptografar os dados exportados: "gpg --export-secret-keys keyIDNumber | gpg -c> criptografado" descriptografar com "gpg -o não criptografado criptografado".
— rockdaboot
As chaves exportadas do GnuPG permanecem criptografadas (é por isso que você não precisa inserir a senha da chave privada), portanto, não há realmente necessidade de criptografá-la novamente.
— Ferry Boender
@FerryBoender Tem certeza disso ?
Todas as respostas acima estão corretas, mas pode estar faltando uma etapa crucial, você precisa editar a chave importada e "confiar" nessa chave
e selecione 5 para habilitar a chave privada importada como uma de suas chaves
Veja o tratamento de Dark Otter
Se o site estiver fora do ar, use a referência do backup archive.org:
que inclui uma maneira razoavelmente segura de transferir chaves. Você pode colocar essa recomendação em scripts de shell mostrados abaixo para uso repetido.
Primeiro pegue a KEYID que você deseja da lista mostrada por
Na lista resultante, observe o KEYID (os 8 hexadecimais após o segundo) que você precisa para a transferência.
Em seguida, invoque os scipts de shell testados "export_private_key" na primeira conta e gere seu pubkey.gpg + keys.asc. Subseqüentemente, chame na segunda conta "import_private_key". Aqui está o conteúdo mostrado com cat (copiar e colar conteúdo):
Agora transfira de alguma forma o "pubkey.gpg" (se necessário) e o "keys.asc" privado para a segunda conta e invoque o programa mostrado abaixo.
No espírito de Otter "E isso, deveria ser, isso".
— Wolfram J
Obrigado pelo script para incluir as chaves pública e privada em um arquivo protegido por senha. Torna minha vida muito melhor!
— codekoala de
A opção --no-use-agentestá obsoleta na versão 2. do gpg.
Acho que você ainda não importou a chave privada, conforme a mensagem de erro dizia, Para importar a chave pública / privada do gnupg:
Eu estava perguntando sobre a exportação de um computador que funciona ... você só pode importar a chave se estiver em um servidor local.
@Brian McCarthy: O que você está tentando dizer?
Nós realmente precisamos importar a chave pública se a privada já foi importada? Pelo que entendi, uma chave pública pode ser gerada a partir de uma chave privada qualquer coisa.
— farhany
@farhany eu acho que sim, porque você vai precisar quando assinar sua mensagem.
isso acabou funcionando para mim:
você pode nomear keyfilename.asc por qualquer nome, desde que mantenha a extensão .asc.
este comando copia todas as chaves secretas do computador de um usuário para keyfilename.asc no diretório de trabalho de onde o comando foi chamado.
Você pode listar todas as chaves disponíveis com "--list-keys". A segunda coluna conterá IDs como "2048g / 1234ABCD". Encontre a chave desejada e exporte-a com "gpg --export-secret-keys 1234ABCD> secret.asc", obviamente alterando 1234ABCD com o ID correto. Você também pode adicionar o sinalizador "-a". Ele escreve a saída com caracteres ASCII, apenas no caso de a saída binária estar causando problemas.
@demento, obrigado pelo feedback adicional ... acrescentarei isso à resposta
você ainda precisa do -a se você realmente quiser asc
Como você os importa para outro computador?
@Natim imagino que você leve exportedKeyFilename.ascpara o outro computador e depois faça gpg --allow-secret-key-import --import exportedKeyFilename.ascno diretório com o .ascarquivo. Veja: unix.stackexchange.com/questions/184947/…
Semelhante à resposta de @Wolfram J, aqui está um método para criptografar sua chave privada com uma senha longa :
E um método correspondente para descriptografar:
1. Exporte uma chave secreta (isso é o que seu chefe deveria ter feito por você)
2. Importe a chave secreta (importe sua chave privada)
3. Ainda não foi feito, você ainda precisa confiar em uma chave. Você precisará certificar-se de que também confia em uma chave.
Insira trust, 5, y, e então saia
Fonte: https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca