2013-10-24 2 views
1

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

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

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

Спасибо заранее!

+0

Похоже, это была решена. В gpg (GnuPG) 1.4.11 gpg сначала проверит, есть ли у вас закрытый ключ, а затем попросите кодовую фразу, только если у вас есть это, что, очевидно, разумный порядок;) – Echsecutor

ответ

3

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

[email protected] ~ $ 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... 

Быстрого Примечания: Просто чтобы прояснить, for security reasons свою ключевую фразу и одна-х private key должны НИКОГДА дать кому-либо еще. The passphrase is to keep the private key "safe" should it become compromised. 1's public ключ - это единственное, что нужно делиться с другими.

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

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

This post имеет вероятное решение, хотя я лично считаю, что неаккуратно:

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

was apparently added in version 1.4.3--passphrase. UGH!

EDIT:Perhaps a better (possibly, below) solution is only available in gpg2?gpg2 seems to have--try-secret-key, что, если я правильно прочитал, может быть то, что мы оба ищем?

+1

Очень хорошее исследование. Благодарю. Существует еще один вариант, для которого удобство будет зависеть от вашего прецедента. Вы можете использовать опцию --secret-keyring и передать (временную) keyring на gpg с помощью правого ключа в ней. Таким образом, вы можете вытеснить решение из gpg (например.вы можете написать сценарий оболочки вокруг gpg). – nus

0

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

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

Смежные вопросы