OS (Ubuntu 16.04)를 다시 설치했으며 다음을 포함하는 오래된 .gnupg 디렉토리가 있습니다.
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
이전 공개 및 개인 키를 새 gnupg로 가져오고 싶습니다. (새 gnupg2는 새로운 EC 암호화 옵션의 일부인 데이터베이스 형식에 약간의 차이가 있음을 이해하기 때문에 단순히 .gnupg 디렉토리를 새 설치에 복사하지 않았습니다.)
다음은 공개 키에는 효과가 있었지만 비밀 키에는 실패했습니다.
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
후자는 다음과 같이 응답했습니다.
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
새 시크릿 링 을 열지 못했습니다 . 파일로 내보내려고 할 때 같은 오류가 발생합니다.
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg > secret.asc
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
내 비밀 키에는 마스터 키의 개인 부분이 제거되어 있기 때문에으로도 시도 --export-secret-subkeys
했지만 응답은 동일했습니다. 내보내기 후 내 키 ID (이메일 주소)를 입력해도 작동하지 않습니다. 반면에 키를 나열 할 수 있습니다.
gpg --list-keys --keyring=~/.gnupg.old/secring.gpg
gpg: Oops; key lost!
node 0x1e7ee00 01/00 type=secret-key
node 0x1e9cbd0 00/00 type=user-id "Me <Me@home.com>" ....
node 0x1e99dd0 00/00 type=signature class=13 keyid=XXXXXXXX ts=1383637282
node 0x1e9c510 00/00 type=secret-subkey
node 0x1eaa210 00/00 type=signature class=18 keyid=XXXXXXXX ts=1449138073
node 0x1eaf1f0 00/00 type=secret-subkey
node 0x1eaf580 00/00 type=signature class=18 keyid=XXXXXXXX ts=138363647
( "키 분실"은 제거 된 비밀 마스터 키를 의미한다고 가정합니다.) 누구든지이 문제를 해결하는 방법을 지시 할 수 있습니까?
@Jens (아래)의 도움으로 다음이 작동합니다.
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
및--secret-keyring
before--list-secret-keys
를 사용하면 인식 가능한 출력이 생성됩니다. 이제 내가 가진 것을 보도록하겠습니다.