[ios] APNS에 사용할 인증서 만들기 (KeyChain에 있는 인증서 Export)
첨부 '1' |
|
---|
APNS를 사용하기 위해서 인증서가 필요하다. 메시지를 보내는 내가 인증된 사람(서버)인지 확인하기 위한 절차이다. APNS을 설정하고 인증서를 등록하는 것은 생략하고 이미 등록된 인증서를 뽑아서 사용하기 위해서 필요한 인증서 파일을 만드는 것을 설명하려 한다.
KeyChain에 있는 인증서 Export하기
맥의 인증서는 KeyChain에서 관리를 한다. APNS를 설정했다면 인증서가 KeyChain에 들어 있을 것이다. 이것을 Export해서 서버에서 사용할 형태로 변환다.
그림에서 처럼 인증서와 개인키를 모두 Export 시킨다. 이때 이름은 push.p12로 한다.
인증서 파일을 PEM 타입으로 변환
pkcs12 타입은 개인키, 공개키, 인증서를 모두 담을 수 있는 포멧이지만 대부분의 push library들을 PEM 타입을 선호 한다. 이 과정은 포멧 변경 작업이니 다른 포멧을 사용한다면 이 과정은 불필요하다.
인증서 파일 생성
$ openssl pkcs12 -clcerts -nokeys -out push-cert.pem -in push.p12
push.p12파일에서 인증서 부분만 뽑아서 push-cert.pem로 뽑는다. openssl은 첫번째 파라미터로 포멧이름을 받고 이후에 옵션들을 입력한다. -clcerts는 인증서 중에 클라이언트 인증서만 그리고 -nokeys 옵션은 개인키는 무시한다는 내용이다.
개인키 파일 생성 ( 암호화된 )
$ openssl pkcs12 -nocerts -out key.pem -in push.p12
이제 개인키는 뽑아보다. 역시 pkcs12 포멧이기 때문에 첫번째 파라미터로 pkcs12를 넣고 이번에는 -nocerts로 인증서를 무시하고 key.pem으로 개인키를 뽑는다. 이때 개인키에 암호를 걸게 되어 있는데 이것을 다음 명령을 통해서 제거할 것이다.
개인키에서 암호 제거
$ openssl rsa -in key.pem -out push-key.pem
앞에서 뽑은 key.pem에서 암호를 제거한다. 제거된 키는 push-key.pem으로 저장될 것이다.
이상으로 openssl을 이용해서 인증서와 개인키를 파일을 만드는 방법을 알아보았다. 앞서서도 설명했드시 이것은 APNS서버에 메시지를 보내는 서버가 개인키, 인증서를 사용하는 형태에 따라서 달라질 수 있다.
참고
[출처] http://10apps.tistory.com/59
-
[ios] Xcode의 디버그 모드에서 콜스택
-
[mac] 패키지 매니저, MacPort
-
[mac] Mac OS 패키지 매니저, HomeBrew
-
[ios] binary를 C코드로 변환
-
[ios] APNS에 사용할 인증서 만들기 (KeyChain에 있는 인증서 Export)
-
[ios] iOS앱의 Xcode 빌드 과정
-
[ios] Xcode를 사용해서 Static Library 만들기 (시뮬레이터 + 디바이스)
-
[ios] Thread Loop 내에서 UI 업데이트 방법
-
[ios] UIView 계층구조
-
[linux] CentOS 에 APM 설치하기
-
[ios] UIWebView를 이용한 로컬 HTML 파일 표시
-
[android] 안드로이드 동영상 스트리밍 예제