GPG 공개 키 크기를 얻는 방법은 무엇입니까?

GPG 공개 키 크기를 얻는 방법은 무엇입니까?

GPG 구성을 일반 크기로 복원하려고 합니다. 방금 다음 명령을 사용하여 pubring.gpg를 pubring.kbx로 변환했습니다.클래식 GPG에서 릴리스 마이그레이션, 수십 개의 공개 키만 포함되어 있음에도 불구하고 이러한 파일은 각각 거의 30MB입니다. 키의 일반적인 크기가 틀렸다면 정정해 주세요. 하지만 다음과 같은 이유 때문일 수도 있습니다.인증서 스팸. 그래서 키 크기를 넘어서는 의미가 있다면 어떤 키가 그렇게 큰 파일 크기를 유발하는지(그리고 GPG 관련 명령을 줄이려는지) 알아내려고 노력 중입니다.

답변1

디스크에 있는 키의 크기는 서명 수와 관련이 있으므로 조사할 키를 찾는 한 가지 방법은 다음과 같은 명령을 실행하는 것입니다.

gpg2 --with-colons --list-keys --with-sig-list |
awk -F: 'function dump(key, uid, sigs) {
           if (key && uid) {
             printf "%s: %d (%s)\n", key, sigs, uid
           }
         }
         /^pub/ { dump(key, uid, sigs); key = $5; sigs = 0 }
         /^uid/ { dump(key, uid, sigs); uid = $10; sigs = 0 }
         /^sig/ { sigs++ }
         END { dump(key, uid, sigs) }' |
sort -n -k2,2

(하위키 시그니처가 포함되어 있어서 계산이 살짝 틀렸으나 심각한 오류는 아닙니다.)

스팸이 아닌 키는 수천 개 이상의 서명을 표시해서는 안 됩니다. 내 (정리된) 키링에서 가장 큰 키는 Werner Koch의 0xF2AD85AC1E42B367로, 4,773개의 sig항목을 표시하고 1MB 미만을 차지합니다.

키링의 키 크기를 보려면 다음을 실행하세요.

gpg2 --export ${keyid} | wc -c

관련 정보