GPG - расшифровать с несколькими получателями

Я пытаюсь расшифровать файл, который был зашифрован с использованием двух получателей (--recipient [email protected] --recipient [email protected]). Однако, когда я пытаюсь расшифровать файл, он всегда запрашивает парольную фразу 1-го получателя. Если секретный ключ 1-го получателя не является частью связки ключей, будет выдана ошибка «секретный ключ не найден».

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

(Мне вопрос кажется простым и базовым, но, очевидно, я не могу заставить его работать)

Заранее спасибо!


person user2915036    schedule 24.10.2013    source источник
comment
Похоже, это решено. В gpg (GnuPG) 1.4.11 gpg сначала проверяет, есть ли у вас закрытый ключ, а затем запрашивает парольную фразу, только если она у вас есть, что, очевидно, является разумным порядком;)   -  person Echsecutor    schedule 15.10.2015


Ответы (2)


Сегодня я столкнулся с этой проблемой и нашел ответ на ваш вопрос. Я видел много веселых примеров того, как зашифровать вещи для нескольких получателей ... никогда не говорить / не показывать, что произойдет, когда кто-то попытается расшифровать эти данные. Вот что у меня получилось:

user@system ~ $ gpg --decrypt filename.pgp

You need a passphrase to unlock the secret key for
user: "SOMEBODY ELSE <[email protected]>"
2048-bit ELG-E key, ID ABC1234, created 1972-10-29 (main key ID ABC5678)

gpg: Invalid passphrase; please try again ... [I DON'T HAVE *THEIR* PASSPHRASE!]

2 more times... finally...

You need a passphrase to unlock the secret key for
user: "HEY!  This is ME! <[email protected]>"
2048-bit ELG-E key, ID DEF1234, created 1969-02-03 (main key ID DEF5678)

gpg: encrypted with 2048-bit ELG-E key, ID ABC1234, created 1972-10-29
      "NAME <[email protected]>"
gpg: public key decryption failed: bad passphrase
gpg: encrypted with 2048-bit ELG-E key, ID DEF1234, created 1969-02-03
      "HEY!  This is ME! <[email protected]>"

and then the file decrypted fine...

Краткое примечание. Чтобы уточнить, из соображений безопасности свою парольную фразу и свой закрытый ключ нельзя НИКОГДА передавать кому-либо другому. Парольная фраза предназначена для обеспечения "безопасности" закрытого ключа на случай его взлома. общедоступный ключ - единственное, чем следует поделиться с другими.

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

--local-user/-u выглядел многообещающим. В моей версии --help показывал use this user-id to sign or decrypt Но при попытке это казалось бесполезным, дальнейшее исследование раскрыло жестокую правду: похоже, помощь неверна, и это ТОЛЬКО вариант, используемый для «подписи».

В этом сообщении есть вероятное решение, хотя я лично считаю его беспорядочным :

gpg --try-all-secrets --passphrase <passphrase here> filename.pgp

--passphrase , очевидно, был добавлен в версию 1.4.3. ФУ!

РЕДАКТИРОВАТЬ: Возможно, лучшее (возможно, ниже) решение доступно только в gpg2 ? gpg2 seems to have --try-secret-key, что, если я правильно прочитал, может быть тем, что мы оба ищем?

person pythonlarry    schedule 14.12.2013
comment
Очень хорошее исследование. Спасибо. Есть еще один вариант, удобство которого будет зависеть от вашего варианта использования. Вы можете использовать опцию --secret-keyring и передать (временную) связку ключей в gpg с правильным ключом в ней. Таким образом, вы можете извлечь решение из gpg (например, вы можете написать сценарий оболочки вокруг gpg). - person ; 24.04.2014

Сегодня я тоже столкнулся с этой проблемой, и я решил ее, запустив gpg в пакетном режиме:

/usr/bin/gpg --batch --passphrase "your_passphrase" --verbose --decrypt

person Gayolomao    schedule 16.06.2016