Contents

Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

APNS를 사용하기 위해서 인증서가 필요하다. 메시지를 보내는 내가 인증된 사람(서버)인지 확인하기 위한 절차이다. APNS을 설정하고 인증서를 등록하는 것은 생략하고 이미 등록된 인증서를 뽑아서 사용하기 위해서 필요한 인증서 파일을 만드는 것을 설명하려 한다.

KeyChain에 있는 인증서 Export하기

맥의 인증서는 KeyChain에서 관리를 한다. APNS를 설정했다면 인증서가 KeyChain에 들어 있을 것이다. 이것을 Export해서 서버에서 사용할 형태로 변환다.

figure01.png

<그림 1> 인증서 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


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
933 System/OS [mac] Mac OS 패키지 매니저, HomeBrew file hooni 2015.01.03 1321
932 Develop [ios] binary를 C코드로 변환 file hooni 2015.01.03 1531
» Develop [ios] APNS에 사용할 인증서 만들기 (KeyChain에 있는 인증서 Export) file hooni 2015.01.03 898
930 Develop [ios] iOS앱의 Xcode 빌드 과정 file hooni 2015.01.03 2280
929 Develop [ios] Xcode를 사용해서 Static Library 만들기 (시뮬레이터 + 디바이스) file hooni 2015.01.03 3283
928 Develop [ios] Thread Loop 내에서 UI 업데이트 방법 hooni 2015.01.03 851
927 Develop [ios] UIView 계층구조 hooni 2015.01.03 1128
926 System/OS [linux] CentOS 에 APM 설치하기 hooni 2015.01.02 1694
925 Develop [ios] UIWebView를 이용한 로컬 HTML 파일 표시 file hooni 2015.01.02 1238
924 Develop [android] 안드로이드 동영상 스트리밍 예제 2 hooni 2015.01.02 4819
923 System/OS CentOS 에서 Cacti 설치하기 hooni 2015.01.02 1768
922 Develop [java] netty (비동기 이벤트 방식 네트워크 프레임워크) 사용법 #2 (client) hooni 2015.01.02 2043
Board Pagination Prev 1 ... 16 17 18 19 20 21 22 23 24 25 ... 98 Next
/ 98