시스템 구성 관리 도구의 일부 측면을 확인하기 위해 gpg 서명을 사용하려고합니다. 또한 개별 sysadmin 키가 마스터 서명 키로 서명 된 "신뢰"모델을 사용하고 시스템에서 해당 마스터 키를 신뢰하고 "신뢰의 웹"을 사용하여 시스템 관리자의 서명을 확인합니다.
이것은 누군가가 떠날 때 키에 대한 신뢰를 쉽게 철회하는 능력과 같은 많은 유연성을 제공하지만 문제가 발생합니다. 키를 신뢰할 수없는 경우 gpg
명령에서 알려 주지만 이 사실을 나타내는 종료 코드를 반환하지는 않습니다. 예를 들면 다음과 같습니다.
# gpg -v < foo.asc
Version: GnuPG v1.4.11 (GNU/Linux)
gpg: armor header:
gpg: original file name=''
this is a test
gpg: Signature made Fri 22 Jul 2011 11:34:02 AM EDT using RSA key ID ABCD00B0
gpg: using PGP trust model
gpg: Good signature from "Testing Key <someone@example.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: ABCD 1234 0527 9D0C 3C4A CAFE BABE DEAD BEEF 00B0
gpg: binary signature, digest algorithm SHA1
우리가 관심을 갖는 부분은 다음과 같습니다.
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
이 경우 gpg가 리턴 한 종료 코드는 신뢰 실패에도 불구하고 0입니다.
# echo $?
0
신뢰할 수없는 서명으로 서명 된 경우 gpg가 어떻게 실패합니까?
gpgv
명령이 적절한 종료 코드를 반환 한다는 몇 가지 제안을 보았지만 불행히도 gpgv
키 서버에서 키를 가져 오는 방법을 모릅니다. --status-fd를 사용하여 상태 출력을 구문 분석 할 수 gpg
있지만 더 좋은 방법이 있습니까?