
GnuPG를 사용하여 파일의 암호를 해독하려고 하는데 아래 명령을 사용할 때:
gpg --decrypt filename.gpg
다음 메시지가 나타납니다.
gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key
파일이 암호화된 개인 키가 이미 있는데 어떻게 지정해야 하는지 모르겠습니다. 이 키를 가리키도록 암호 해독을 수행할 때 포함할 수 있는 옵션이 있습니까?
답변1
파일이 암호화된 개인 키가 이미 있는데 어떻게 지정해야 하는지 모르겠습니다.
나는 이것을 "개인 키가 포함된 파일을 가지고 있지만 GnuPG에게 이를 사용하도록 지시하는 방법을 모릅니다"라고 이해합니다.
GnuPG에서는 GnuPG 키링에 키(공개 및 개인 모두)를 저장해야 합니다. 이것은 다음과 같이 쉽습니다
gpg --import [keyfile]
그 후에는 이미 시도한 것과 똑같은 방식으로 파일의 암호를 해독할 수 있습니다.
답변2
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
gpg decrypt 명령에서 비밀 키를 명시적으로 선언할 필요는 없습니다. 키 쌍이 모두 공개인 경우그리고개인 키 - Jens 상태가 해독 중인 호스트의 키링에 존재하므로,GPG는 암호 해독에 필요한 비밀 키를 자동으로 결정하고 암호 질문을 제시합니다.
하지만캐시되지 않은 모든 키를 시도하려는 경우(어쩌면 여러 키로 암호화된 파일을 테스트하고 있을 수도 있습니다.), 스위치를 사용하면 --try-all-secrets
키링의 모든 비밀 키를 차례로 순환하면서 시도하게 됩니다. 즉:
gpg -d --try-all-secrets test-gpg.txt.asc
HTH- 테렌스