저는 Debian 기반 Docker 이미지를 사용하고 있으며 키링에는 단 하나의 키만 사용할 수 있습니다.
$ gpg -K
/tmp/test-keyring/pubring.kbx
-------------------------------
sec> rsa2048 2012-01-16 [C] [expires: 2024-05-15]
CB522FE0379DDF40A93400D7E4BC91FACDA9A65B
Card serial no. = 00nn 00nnnnnn
uid [ unknown] John Doe <[email protected]>
ssb# rsa2048 2012-01-16 [S] [expires: 2024-05-14]
ssb rsa3072 2012-01-16 [S] [expires: 2024-05-15]
여기서 볼 수 있듯이 세 가지 키가 있습니다.
- 라벨이 붙은 마스터 키는
>
스마트 카드에 있습니다. 키 검증 전용으로 표시되어 있어 서명용으로는 사용할 수 없습니다. #
두 번째 보조 서명 키( 표시됨)의 비공개 부분은 여기에 없습니다. 따라서 서명에는 사용할 수 없습니다.- 세 번째 보조 서명 키에는 사용 가능한 비공개 부분이 있습니다. 여기서 서명하는 데 사용할 수 있는 유일한 키입니다.
여기서도 마지막 키는 서명 목적으로 사용할 수 있는 유일한 키입니다.
아아, 어떤 이유로 GnuPG는 그것을 볼 수 없습니다:
$ echo test | gpg --clearsign
gpg: no default secret key: Unusable public key
gpg: [stdin]: clear-sign failed: Unusable public key
그러나 사용자 ID를 직접 지정하면 서명에 문제가 없습니다.
$ echo test | gpg --clearsign --default-key [email protected]
gpg: using "[email protected]" as default secret key for signing
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
test
-----BEGIN PGP SIGNATURE-----
설명서에 따르면즉시 사용할 수 있습니다.
--default-key name 서명을 위한 기본 사용자 ID로 name을 사용합니다. 이 옵션을 사용하지 않는 경우 기본 사용자 ID는 키링에서 발견된 첫 번째 사용자 ID입니다.
저는 GnuPG 2.2.19를 사용하고 있습니다:
$ gpg --version
gpg (GnuPG) 2.2.19
libgcrypt 1.8.5
나는 이미 신청했습니다Docker에 대한 알려진 해결 방법GPG_TTY
, 소용이 없습니다.
작동하게 하려면 어떻게 해야 하나요?
답변1
문제를 해결하기 위해 넣거나 넣을 수 있습니다.default-key [email protected]
default-key CB522FE0379DDF40A93400D7E4BC91FACDA9A65B
~/.gnupg/gpg.conf
답변2
올바르게 읽었다면 서명을 위한 두 개의 하위 키가 있지만 그 중 하나는 오프라인입니다.
ssb# rsa2048 2012-01-16 [S] [expires: 2024-05-14]
ssb rsa3072 2012-01-16 [S] [expires: 2024-05-15]
나는 보고 싶습니다 ssb>
: 둘 다에서 아이가 다음으로 대체되었음을 확인합니다.그루터기. 이것이 아마도 gnupg가 혼란스러운 이유일 것입니다.
동일한 출처에서:
# 이 키에 대한 개인 키를 전혀 사용할 수 없음을 나타냅니다. 이는 오프라인 마스터 키의 경우입니다.
내 설정은 서명, 암호화 및 인증을 위한 3개의 하위 키가 있는 것과 같습니다. 3개의 하위 키는 모두 스마트 카드에 있습니다.
sec# rsa4096 2011-01-15 [C]
xxxxxxxxxxxxxxxxxxxx
uid [ unknown] xxxxxxxxxxxxx
ssb> rsa4096 2011-01-15 [S]
ssb> rsa4096 2011-01-15 [E]
ssb> rsa4096 2011-01-15 [A]
작업에 서명하려고 할 때 스마트 카드가 리더기에 있는지 알고 싶습니다.
답변3
스마트 카드를 제거하고 서명 작업을 반복하면 문제가 사라집니다.이것은 GnuPG 버그입니다, 다음 버전에서는 수정될 것으로 보입니다.
Dockerized 환경은 이와 관련이 없습니다.