이 책의 내용은 다음과 같습니다 :git 저장소에서 서명을 확인하기 위해 공개 키를 공유해야합니까?
git의 blob에 공개 키를 수집하는 방법을 보여주기 때문에 공개 키를 추가하고 서명 된 태그를 확인할 수 있습니다.
이 방법이 실제로 안전합니까? 누군가 공개 키 블로블을 변경하고 서명을 다시 할 수 있습니다. 우리는 공개 키를 별도의 허가 된 방식으로 얻어야한다고 생각합니다. 맞습니까? 책에
명령은 다음과 같이 붙여 넣습니다 :
$ git tag -s v1.5 -m 'my signed 1.5 tag'
You need a passphrase to unlock the secret key for
user: "Scott Chacon <[email protected]>"
1024-bit DSA key, ID F721C45A, created 2009-02-09
$ gpg --list-keys
/Users/schacon/.gnupg/pubring.gpg
---------------------------------
pub 1024D/F721C45A 2009-02-09 [expires: 2010-02-09]
uid Scott Chacon <[email protected]>
sub 2048g/45D02282 2009-02-09 [expires: 2010-02-09]
$ gpg -a --export F721C45A | git hash-object -w --stdin
659ef797d181633c87ec71ac3f9ba29fe5775b92
$ git tag -a maintainer-pgp-pub 659ef797d181633c87ec71ac3f9ba29fe5775b92
$ git show maintainer-pgp-pub | gpg --import
공개 키를 변경하는 PR을받는 이유는 무엇입니까? – ceejayoz
악의적 인 요청을 왜 받아들입니까? 이것은 공격 모델이 아닙니다. 공격자가 저장소 자격 증명을 확보하고 풀 요청을하지 않고 악의적 인 커밋 (새 키 포함)을 업로드 할 수 있다고 생각하십시오. –
신뢰할 수있는 공개 키를 분리되고 인증 된 방식으로 가져 와서 보안을 보증 한 다음 (해당 키가 사용 된 키를 사용하여 서명 된 태그를 확인하면) 태그가 가리키는 커밋과 범하다. 그래서 이것은 내가 저장소를 어디서 얻든지 상관없이 그것을 검증합니다. 귀하의 의견에 따르면, 보안이인가 된 자식 서버에 의해 보증된다면, 왜 우리는 먼저 태그에 서명해야합니까? – TangXC