ASCII-armored GnuPG 데이터에는 일반적으로 Version
헤더가 있습니다.
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.22 (GNU/Linux)
hQIMAxfkjOs8YMF+AQ//e9yWfwKBddUX/1YfghKfF/xJhuirYmAdxhsLaO5Fj0QJ
yYZUQ6mtBH6L9J0hxfvsfLvH0+28jw//HTd4iAvczW99Qo0jH/BYfZLeMeh3B42J
Ws7iS5WUdhgXrT/EkBO2OkEPjuRbolU7p8XnX6tD/bazeI5FViwyfLb1EBffKYXG
...
-----END PGP MESSAGE-----
버전 줄을 제거해도 데이터는 여전히 잘 해독되지만이 오류 메시지로 시작됩니다.
gpg: invalid armor header: hQIMAxfkjOs8YMF+AQ/8CZO9fuB8CImJN7Kl7O0n18Uvk+B9wgCBiS0E2ZIr4sjJ\n
왜 Version
문자열이 포함되어 있습니까? 이 추가 정보 라인이 누구에게나 유익하거나 어디에서나 필요한가요?
답변
Version
헤더는 순전히 정보입니다; 내 생각에 호환성 버그를 쉽게 발견 할 수 있도록 포함되어 있다고한다 (예 : 클라이언트가 10 개의 메시지를 해독 할 수없고 10 개가 모두 같은 버전으로 만들어진 경우).
그러나 표시되는 오류 메시지는의 부족이 Version
아니라 헤더와 본문을 구분 하는 빈 줄 이 없기 때문에 발생합니다 . OpenPGP 기갑 메시지의 구문에 따르면 헤더가 0이 아니더라도 파서가 hQIMAxfkjOs8...
실제로 이상한 헤더가 아니라 본문 임을 알 수 있도록 구분 기호가 필요합니다 .