web-dev-qa-db-fra.com

Comment exporter une clé ASC privée / secrète pour déchiffrer des fichiers GPG dans Windows

Contexte: Mon patron a essayé de m'exporter une clé ASC avec des parties publiques et privées, mais chaque fois que je récupère le fichier, la partie privée ne se charge jamais et ne déchiffre aucun fichier.

Nous avons essayé d’exporter la clé ASC en utilisant:

  • Application Windows Kleopatra 2.1 (incluse dans gpg4win)
  • Application Windows GNU Assistant de confidentialité (inclus dans gpg4win)

            Error: "Decryption failed. Secret Key Not available." 
    

Comment exporter correctement une clé secrète ou privée pour décrypter des fichiers gpg?

81
Brian McCarthy

Vous pouvez exporter la clé privée avec le outil de ligne de commande de GPG . Cela fonctionne sur le Windows-Shell. Utilisez la commande suivante:

gpg --export-secret-keys

Une exportation normale avec --export n'inclura aucune clé privée, vous devez donc utiliser --export-secret-keys.

Modifier:

Pour résumer les informations données dans mes commentaires, il s'agit de la commande qui vous permet d'exporter une clé spécifique portant l'ID 1234ABCD dans le fichier secret.asc:

gpg --export-secret-keys --armor 1234ABCD > secret.asc

Vous pouvez trouver l'ID dont vous avez besoin à l'aide de la commande suivante. L'ID est la deuxième partie de la deuxième colonne:

gpg --list-keys

Pour exporter seulement une clé secrète spécifique au lieu de toutes:

gpg --export-secret-keys keyIDNumber > exportedKeyFilename.asc

keyIDNumber est le numéro de l'identifiant de clé pour la clé souhaitée que vous essayez d'exporter.

173
Demento

Toutes les réponses ci-dessus sont correctes, mais il manque peut-être une étape cruciale. Vous devez modifier la clé importée et "faire confiance en définitive" à cette clé.

gpg --edit-key (keyIDNumber)
gpg> trust

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

et sélectionnez 5 pour activer cette clé privée importée comme l'une de vos clés

30
higuita

Voir le traitement de Dark Otter

http://montemazuma.wordpress.com/2010/03/01/moving-a-gpg-key-privately/

qui comprend un moyen raisonnablement sécurisé de transférer les clés. Vous pouvez mettre cette recommandation dans les scripts Shell indiqués ci-dessous pour une utilisation répétée.

Obtenez d’abord le KEYID que vous voulez dans la liste indiquée par

$ gpg -K

Dans la liste résultante, notez le KEYID (les 8 hexadécimaux suivant la seconde) dont vous avez besoin pour le transfert.

Ensuite, envoiz les extraits de shell testés "export_private_key" sur le premier compte et générez votre pubkey.gpg + keys.asc. Invoquez ensuite le deuxième compte "import_private_key". Voici leur contenu montré avec chat (copier/coller du contenu):

$ cat export_private_key 
gpg -K
echo "select private key"
read KEYID
gpg --output pubkey.gpg --export $KEYID
echo REMEMBER THE COMING PASS-PHRASE
gpg --output - --export-secret-key $KEYID | \
   cat pubkey.gpg - | \
   gpg --armor --output keys.asc --symmetric --cipher-algo AES256
ls -l pubkey.gpg keys.asc
####################  E X P O R T _ P R I V A T E _ K E Y  #####################

Maintenant, transférez par certains moyens le "pubkey.gpg" (si nécessaire) et le "keys.asc" privé vers le deuxième compte et envoignez le programme présenté ci-dessous.

$ cat import_private_key 
gpg --no-use-agent --output - keys.asc | gpg --import
###################  I M P O R T _ P R I V A T E _ K E Y  ######################

Dans l'esprit d'Otter "Et ça, ça devrait être ça".

17
Wolfram J

Je pense que vous n'aviez pas encore importé la clé privée, car le message d'erreur disait: Pour importer une clé publique/privée depuis gnupg:

gpg --import mypub_key
gpg --allow-secret-key-import --import myprv_key
9
SIFE

cela a fini par travailler pour moi:

   gpg -a --export-secret-keys > exportedKeyFilename.asc 

vous pouvez nommer keyfilename.asc par n'importe quel nom tant que vous conservez l'extension .asc.
Cette commande copie toutes les clés secrètes de l'ordinateur d'un utilisateur vers le fichier nomfichier.asc dans le répertoire de travail où la commande a été appelée.

Pour exporter seulement une clé secrète spécifique au lieu de toutes:

   gpg -a --export-secret-keys keyIDNumber > exportedKeyFilename.asc

keyIDNumber est le numéro de l'identifiant de clé pour la clé souhaitée que vous essayez d'exporter.

6
Brian McCarthy

Semblable à la réponse de @Wolfram J, voici une méthode pour chiffrer votre clé privée avec une phrase secrète :

gpg --output - --armor --export $KEYID | \
    gpg --output private_key.asc --armor --symmetric --cipher-algo AES256

Et une méthode correspondante pour décrypter:

gpg private_key.asc
4
Mateen Ulhaq

1.Exporter une clé secrète (c'est ce que votre patron aurait dû faire pour vous)

gpg --export-secret-keys yourKeyName > privateKey.asc

2.Import Secret Key (importez votre clé privée)

gpg --import privateKey.asc

3.Pas terminé, vous devez toujours faire confiance à une clé. Vous devrez vous assurer de faire confiance à une clé.

gpg --edit-key yourKeyName

Entrez confiance, 5, y, puis quittez

Source: https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca