GnuPG를 사용하여 파일을 해독 할 때 개인 키를 지정하는 방법은 무엇입니까?


22

GnuPG로 파일을 해독하려고하는데 아래 명령을 사용할 때 :

gpg --decrypt filename.gpg

다음과 같은 메시지가 나타납니다.

gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key

파일이 암호화 된 개인 키가 이미 있지만 파일을 어떻게 지정할 수 있는지 잘 모르겠습니다. 이 키를 가리 키기 위해 암호 해독을 수행 할 때 포함 할 수있는 옵션이 있습니까?


1
무엇을 gpg --list-secret-keys 0x3662FD5E인쇄합니까?
Jonas Schäfer

아닙니다. 추가 할 수있는 방법이 있습니까?

개인 키는 어떻게 얻었습니까?
Jonas Schäfer

이 ID는 실제로 무엇을 나타 냅니까?
Nishant

답변:


17

파일이 암호화 된 개인 키가 이미 있지만 파일을 어떻게 지정할 수 있는지 잘 모르겠습니다.

나는 이것을 "개인 키를 포함하는 파일을 가지고 있지만 GnuPG에게 그것을 사용하도록 지시하는 방법을 모른다"고 이해합니다.

GnuPG를 사용하려면 GnuPG 키링에 키 (공용 및 개인용)를 저장해야합니다. 이만큼 쉽다

gpg --import [keyfile]

그 후에는 이미 시도한 방식대로 파일을 해독 할 수 있어야합니다.


5
따라서 gpg는 여러 키를 가져온 후에 해독 할 키를 알기에 충분합니까?
RollRoll

예. GnuPG가 모든 키를 시도하지 않는 경우 일반적으로 키는 암호화 된 파일에서도 참조됩니다.
Jens Erat

프로그래밍 방식으로 GnuPG를 사용하고 수백 개의 개인 키가있는 키 링이 있으며 메시지는 수십 개의 키로 암호화 될 수 있습니다. 그것은 단지 그것들 모두를 시도한다는 것이 약간 낭비 적입니다 (실제로 주어진 암호를 사용하여 모두를 잠금 해제하려고 시도하고 작동하는 첫 번째 암호를 사용합니다).
jlh

2
GnuPG는 키가 발신자에게 숨겨져있는 경우에만 모두 시도합니다. 유스 케이스가 GnuPG의 디자인 대상 중 하나가 아니라고 생각합니다. 암호화 된 파일에 저장되지 않았지만 올바른 개인 키를 알고 있다면 단일 개인 키로 다른 GnuPG 홈 디렉토리 / 키링을 관리하는 것이 좋습니다.
Jens Erat

예, 사용 사례가 gpg에 적합하지 않은 것 같습니다. 완성도를 높이기 위해 여기에 더 자세한 관찰이 있습니다. 수신자 ID는 숨겨져 있지 않습니다 (-R을 사용하지 않음). gpg는 시도해야 할 수십 개의 키를 알고 있으므로 전체 키링을 시도 할 필요는 없습니다. 그러나 gpg는 암호를 제공 한 키를 알지 못하므로 수십 개의 키를 시도해야하므로 속도가 상당히 느려집니다.
jlh

6
bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available

3
SuperUser에 오신 것을 환영합니다. 귀하의 제안은 이미 다른 답변에 있습니다. 새로운 답을 만드는 대신 그 답을 찬성해야합니다. 아직 평판이 충분하지 않을 때까지 기다리십시오.
Vlastimil Ovčáčík

2

gpg decrypt 명령에서 비밀 키를 명시 적으로 선언 할 필요는 없습니다. 암호 해독중인 호스트의 키 링에 Jens 상태의 공개 키 개인 키 모두의 키 쌍이있는 경우 GPG는 자동으로 암호 해독에 필요한 비밀 키를 결정하고 암호 확인 문제를 제시합니다.

그러나 모든 (캐시되지 않은) 키를 시도하려는 경우 ( 여러 키로 암호화 된 파일을 테스트하는 경우) 스위치 --try-all-secrets를 사용하면 키링의 모든 비밀 키를 차례로 시도합니다. 즉 :

gpg -d --try-all-secrets test-gpg.txt.asc

HTH- 테렌스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.