it-swarm.com.de

Exportieren eines privaten / geheimen ASC-Schlüssels zum Entschlüsseln von GPG-Dateien in Windows

Hintergrund: Mein Chef hat versucht, mir einen ASC-Schlüssel mit öffentlichen und privaten Teilen zu exportieren, aber wenn ich die Datei erhalte, wird der private Teil nie geladen und es werden keine Dateien entschlüsselt.

Wir haben versucht, den ASC-Schlüssel zu exportieren mit:

  • Windows-Anwendung Kleopatra 2.1 (in gpg4win enthalten)
  • Windows-Anwendung GNU Privacy Assistant (in gpg4win enthalten)

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

Wie exportiere ich einen geheimen oder privaten Aufstiegsschlüssel, um GPG-Dateien zu entschlüsseln?

81
Brian McCarthy

Sie können den privaten Schlüssel mit Befehlszeilentool von GPG exportieren. Es funktioniert auf der Windows-Shell. Verwenden Sie den folgenden Befehl:

gpg --export-secret-keys

Ein normaler Export mit --export Enthält keine privaten Schlüssel, daher müssen Sie --export-secret-keys Verwenden.

Bearbeiten:

Um die in meinen Kommentaren angegebenen Informationen zusammenzufassen, ist dies der Befehl, mit dem Sie einen bestimmten Schlüssel mit der ID 1234ABCD in die Datei secret.asc exportieren können:

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

Sie können die ID, die Sie benötigen, mit dem folgenden Befehl finden. Die ID ist der zweite Teil der zweiten Spalte:

gpg --list-keys

So exportieren Sie nur einen bestimmten geheimen Schlüssel anstelle aller Schlüssel:

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

keyIDNumber ist die Nummer der Schlüssel-ID für den gewünschten Schlüssel, den Sie exportieren möchten.

173
Demento

Alle obigen Antworten sind korrekt, aber möglicherweise fehlt ein entscheidender Schritt. Sie müssen den importierten Schlüssel bearbeiten und diesem Schlüssel "letztendlich vertrauen"

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

und wählen Sie 5, um diesen importierten privaten Schlüssel als einen Ihrer Schlüssel zu aktivieren

30
higuita

Sehen Sie sich die Behandlung von Dark Otter an

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

dies beinhaltet eine einigermaßen sichere Möglichkeit, Schlüssel zu übertragen. Sie können diese Empfehlung zur wiederholten Verwendung in die unten gezeigten Shell-Skripte einfügen.

Holen Sie sich zuerst die gewünschte KEYID aus der Liste von

$ gpg -K

Notieren Sie aus der resultierenden Liste die KEYID (die 8 hexadezimalen Nachkommastellen), die Sie für die Übertragung benötigen.

Rufen Sie dann die getesteten Shell-Skripte "export_private_key" im ersten Konto auf und generieren Sie Ihr pubkey.gpg + keys.asc. Rufen Sie anschließend auf dem zweiten Konto "import_private_key" auf. Hier ist ihr Inhalt mit cat dargestellt (copy & paste content):

$ 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  #####################

Übertragen Sie nun auf irgendeine Weise das "pubkey.gpg" (falls erforderlich) und das private "keys.asc" auf das zweite Konto und rufen Sie das unten gezeigte Programm auf.

$ 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  ######################

In Otters Geist "Und das sollte das sein".

17
Wolfram J

Ich denke, Sie hatten den privaten Schlüssel noch nicht importiert, als der Nachrichtenfehler sagte: So importieren Sie den öffentlichen/privaten Schlüssel von gnupg:

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

das endete für mich zu arbeiten:

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

sie können keyfilename.asc nach einem beliebigen Namen benennen, solange Sie die Erweiterung .asc beibehalten.
Dieser Befehl kopiert alle geheimen Schlüssel auf dem Computer eines Benutzers nach keyfilename.asc im Arbeitsverzeichnis, in dem der Befehl aufgerufen wurde.

So exportieren Sie nur einen bestimmten geheimen Schlüssel anstelle aller Schlüssel:

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

keyIDNumber ist die Nummer der Schlüssel-ID für den gewünschten Schlüssel, den Sie exportieren möchten.

6
Brian McCarthy

Ähnlich wie bei der Antwort von @Wolfram J gibt es hier eine Methode zum Verschlüsseln Ihres privaten Schlüssels mit einer Passphrase :

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

Und eine entsprechende Methode zum Entschlüsseln:

gpg private_key.asc
4
Mateen Ulhaq

1. Einen geheimen Schlüssel exportieren (das hätte dein Chef für dich tun sollen)

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

2.Geheimen Schlüssel importieren (PrivateKey importieren)

gpg --import privateKey.asc

3.Noch nicht erledigt, müssen Sie einem Schlüssel letztendlich noch vertrauen. Sie müssen sicherstellen, dass Sie letztendlich auch einem Schlüssel vertrauen.

gpg --edit-key yourKeyName

Geben Sie trust, 5, y ein und beenden Sie das Programm

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