Как экспортировать закрытый / секретный ключ 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?
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.asckeyIDNumber-это номер идентификатора ключа для нужного ключа, который вы пытаетесь экспортировать.
все приведенные выше ответы верны, но может отсутствовать один важный шаг, вам нужно отредактировать импортированный ключ и" в конечном счете доверять " этому ключу
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.asckeyIDNumber-это номер идентификатора ключа для нужного ключа, который вы пытаетесь экспортировать.
подобно ответу @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.asc2.Секретный ключ импорт (импортировать закрытый ключ)
gpg --import privateKey.asc3.Еще не сделано, вам все равно нужно в конечном итоге доверять ключу. Вам нужно будет убедиться, что вы также в конечном итоге доверяете ключу.
gpg --edit-key yourKeyNameвведите trust, 5, y, а затем выйти
источник: https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca
Comments