사용자 도구

사이트 도구


pgp

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
pgp [2014/06/09 23:10]
kwon37xi
pgp [2015/03/17 00:51] (현재)
kwon37xi
줄 3: 줄 3:
 ===== GnuPG로 Key 생성하기 ===== ===== GnuPG로 Key 생성하기 =====
   * https://www.gnupg.org/   * https://www.gnupg.org/
-  * 키 생성 시작<code sh>+  * [[https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven|PGP Signatures with Maven]] 
 + 
 +==== Key 생성 ==== 
 +<code sh>
 # key 생성 # key 생성
 gpg --gen-key gpg --gen-key
 </code> </code>
   * 질문에 대답하고 가능하면 passphrase도 지정해줄것.   * 질문에 대답하고 가능하면 passphrase도 지정해줄것.
-  * 키 목록보기<code sh>+  * ''~/.gnupg'' 디렉토리에 ''pubring.gpg'', ''secring.gpg''로 생성됨. 
 + 
 +==== Key 목록 보기 ==== 
 +<code sh>
 # 공개키 보기 # 공개키 보기
 gpg --list-keys gpg --list-keys
줄 14: 줄 20:
 # 비밀키 보기 # 비밀키 보기
 gpg --list-sceret-keys gpg --list-sceret-keys
 +</code>
 +
 +==== Sign a file ====
 +<code sh>
 +gpg -ab somefile.txt
 +
 +# somefile.txt.asc 파일 생성됨
 +</code>
 +  * ''-a'' : ASCII output
 +  * ''-b'' : 별도 Signature 파일 생성
 +
 +==== 사인 된 파일 검증 ====
 +<code sh>
 +gpg --verify somefile.txt.asc
 +</code>
 +  * Maven 저장소에 artifact를 올릴 때는 Primary Key만 사용할 것.
 +
 +==== subkey 삭제 ====
 +일부 PGP 툴은 subkey를 사용해 사인을 하는데 Maven은 이를 인식하지 못한다. 그래서 subkey를 삭제해 버리고 사인할 것.
 +<code sh>
 +gpg --list-keys # 여기서 pub key의 ID를 가지고 아래에서 사용
 +
 +gpg --edit-key [KEYID] # 예 A6BAB25C
 +
 +# 아래와 같은 화면이 나왔다고 할 때
 +gpg (GnuPG/MacGPG2) 2.0.17; Copyright (C) 2011 Free Software Foundation, Inc.
 +This is free software: you are free to change and redistribute it.
 +There is NO WARRANTY, to the extent permitted by law.
 +
 +Secret key is available.
 +
 +pub  2048R/A6BAB25C  created: 2011-08-31  expires: 2012-06-26  usage: SC
 +                     trust: ultimate      validity: ultimate
 +sub  2048R/DD289F64  created: 2011-08-31  expired: 2011-09-30  usage: E
 +sub  2048R/8738EC86  created: 2011-12-19  expires: 2012-06-16  usage: S
 +[ultimate] (1). Juven Xu (for testing) <test@juvenxu.com>
 +</code>
 +  * 여기서 ''usage: E''로 된 것은 Encryption에만 사용, **''usage: S''**가 사이닝할 때사용된다. 따라서 ''S''가 지정된 subkey를 삭제하면 된다(여기서는 8738EC86).
 +  * ''key 2'' 명령으로 해당 키 선택(출력 순서대로 0 기반)
 +  * ''delkey'' : 선택된 키 삭제
 +  * ''save'' : 저장
 +
 +==== PGP Public Key 업로드 ====
 +  * PGP key Servers 중에 하나 선택해서 올리기
 +    * [[https://sks-keyservers.net/|sks-keyservers]] : ''<nowiki>hkp://pool.sks-keyservers.net</nowiki>''
 +    * [[https://keyserver.pgp.com/|keyserver.pgp.com]]
 +
 +  * 올리기<code sh>
 +gpg --keyserver hkp://pool.sks-keyservers.net --send-keys [KEYID]
 +</code>
 +  * 남이 올린 키 받아서 import<code sh>
 +gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys [KEYID]
 </code> </code>
pgp.1402323023.txt.gz · 마지막으로 수정됨: 2014/06/09 23:10 저자 kwon37xi