Я использую gpg4win и пытаюсь экспортировать свой закрытый ключ gpg в формат p12 (чтобы импортировать его в Lotus Notes). В соответствии с моим пониманием мне нужно:

gpgsm.exe -o "XXXXXXXX_private.p12" --export-secret-key-p12 0xXXXXXXXX

Однако я получаю следующую ошибку: "Без секретного ключа" На самом деле gpgsm -K вообще ничего не возвращает (где работает gpg -K).

Что мне не хватает?

1 ответ1

1

Я думаю, что вы используете не ту программу; pgpsm используется для подписи, проверки, шифрования или дешифрования с использованием протокола S/MIME.

У меня нет pgp4win под рукой, но согласно man-странице, это должно экспортировать ваш открытый и секретный ключ:

gpg -o XXXXXXX_private.p12 --export [key id] --export-format pkcs12 --cert

Информация о pkcs12 следующая,

pkcs12 только двоичные блоки; расширение файла по умолчанию .p12; подписанный ключ должен быть парным; и ввод должен соответствовать ровно одной клавише. В этом случае --cert требуется.

поэтому я включил параметр --cert , не задумываясь об этом:

--cert Этот параметр является длинным именем издателя X.509 или 32-разрядным или 64-разрядным идентификатором ключа, если ключ подписи доступен.


Я сделал еще несколько тестов (теперь с gpg4win), и частично должен был противоречить сам себе. Инструмент gpgsm в gpg4win описывает себя как

gpgsm - это инструмент, аналогичный gpg, для предоставления услуг цифрового шифрования и подписи на сертификатах X.509 и протоколе CMS. Он в основном используется в качестве бэкэнда для обработки почты S/MIME.

что действительно звучит правильно.

Итак, ваша команда, опубликованная в вопросе, кажется совершенно разумной, у меня есть только две подсказки:

  • Вы можете попробовать использовать бронированный выход ASCII через опцию -a
  • И есть опция, касающаяся кодировки экспортируемого ключа, которая часто является проблемой для (особенно старых) программ Windows:

--p12-charset name gpgsm использует кодировку UTF-8 при кодировании парольных фраз для файлов PKCS # 12. Эта опция может использоваться для принудительного кодирования ключевой фразы с указанным именем кодировки. Это полезно, если приложение, используемое для импорта ключа, использует другую кодировку и, следовательно, не сможет импортировать файл, сгенерированный gpgsm. Обычно используемые значения для имени - Latin1 и CP850. Обратите внимание, что сам gpgsm автоматически импортирует любой файл с парольной фразой, закодированной в наиболее часто используемые кодировки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .