Как экспортировать закрытый / секретный ключ ASC для расшифровки файлов GPG в Windows



фон: мой босс попытался экспортировать ключ ASC для меня с публичными и частными частями, но всякий раз, когда я получаю файл, частная часть никогда не загружается, и она не будет расшифровывать файлы.



мы попытались экспортировать ключ ASC с помощью:




  • приложение для Windows Kleopatra 2.1 (входит в gpg4win)


  • Windows Application GNU Privacy Assistant (входит в gpg4win)



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



Как правильно экспортировать a секретный или частный ключ asc для расшифровки файлов gpg?

692   7  

7 ответов:

вы можете экспортировать закрытый ключ с инструмент командной строки от GPG. Он работает на Windows-оболочки. Используйте следующую команду:

gpg --export-secret-keys

нормальный экспорт с --export не будет включать никаких закрытых ключей, поэтому вы должны использовать --export-secret-keys.

Edit:

чтобы суммировать информацию, приведенную в моих комментариях, это команда, которая позволяет экспортировать определенный ключ с идентификатором 1234ABCD в файл секрет.АСК:

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

вы можете найти ID, который вам нужен, используя следующую команду. Идентификатор-это вторая часть второго столбца:

gpg --list-keys

чтобы экспортировать только 1 конкретный секретный ключ вместо всех из них:

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

keyIDNumber-это номер идентификатора ключа для нужного ключа, который вы пытаетесь экспортировать.

все приведенные выше ответы верны, но может отсутствовать один важный шаг, вам нужно отредактировать импортированный ключ и" в конечном счете доверять " этому ключу

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

и выберите 5, чтобы включить этот импортированный закрытый ключ в качестве одного из ваших ключей

смотрите лечение темной выдры

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

, который включает в себя достаточно безопасный способ передачи ключей. Вы можете поместить эту рекомендацию в shell-скрипты, показанные ниже для повторного использования.

сначала получить идентификатор ключа, который вы хотите из списка, показанного

$ gpg -K

из полученного списка обратите внимание на KEYID (8 шестнадцатеричных чисел, следующих за секундой), который вам нужен передача.

затем вызывается тестируемая оболочка scipts "export_private_key" на первом аккаунте и генерируется ваш pubkey.ключ gpg.АСК. Впоследствии вызовите на второй учетной записи "import_private_key". Вот их содержимое показано с помощью cat (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  #####################

Теперь передайте каким-то образом "pubkey.gpg "(при необходимости) и закрытые " ключи.asc " ко второму аккаунту и envoke ниже показана программа.

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

в духе выдры "и что, должно быть, что".

Я думаю, что вы еще не импортировали закрытый ключ, как указано в сообщении об ошибке, чтобы импортировать открытый / закрытый ключ из gnupg:

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

это в конечном итоге работает для меня:

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

вы можете назвать имя файла.asc под любым именем, пока вы держите на себе .расширение АГК.
эта команда копирует все секретные ключи на компьютере пользователя в имя файла.asc в рабочем каталоге, где была вызвана команда.

чтобы экспортировать только 1 конкретный секретный ключ вместо всех из них:

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

keyIDNumber-это номер идентификатора ключа для нужного ключа, который вы пытаетесь экспортировать.

подобно ответу @Wolfram J, Вот способ шифрования вашего закрытого ключа с паролем:

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

и соответствующий метод для расшифровки:

gpg private_key.asc

1.Экспорт секретного ключа (это то, что ваш босс должен был сделать для вас)

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

2.Секретный ключ импорт (импортировать закрытый ключ)

gpg --import privateKey.asc

3.Еще не сделано, вам все равно нужно в конечном итоге доверять ключу. Вам нужно будет убедиться, что вы также в конечном итоге доверяете ключу.

gpg --edit-key yourKeyName

введите trust, 5, y, а затем выйти

источник: https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca

Comments

    Ничего не найдено.