본문 바로가기

iPhone

APNS(Apple Push Notification service) 인증서 파일(p12) 만들기

APNS 인증서 파일(p12)을 만드는 방법입니다.

1. Member Center - Provisioning Portal 에서 New App ID 를 만든다.



Description : 새로 생성 할 App ID의 이름을 정합니다.
Bundle Seed ID (App ID Prefix) : Generate New 를 선택 합니다.
Bundle Identifier (App ID Suffix) : 번들 ID를 설정합니다. com.domainname.appname 형식으로 하라고 하네요 :)

모든 정보를 입력 하신 뒤에 Submit 을 클릭 하시면 새로운 App ID가 생성 됩니다.



* 생성 된 App ID 에서 Apple Push Notification service 의 state 가 비활성(노란색) 되 있습니다.

2. Apple Push Notification service 의 state 를 활성화



생성 된 App ID 에서 Configure 를 클릭 합니다.

Push SSL Certificate 는 Development, Production 두 가지가 있습니다.
말 그대로, Development 는 앱스토어 등록 전에 개발용으로 사용하실 인증이며, Product 는 앱스토어에 등록 된 후 사용하실 인증입니다. 각각의  Push SSL Certificate 의 state 를 활성화 하기 위하여 Enable for Apple Push Notification Service 를 체크하신 뒤, Configure 를 클릭 합니다.



Configure를 클릭 하시면, Generate a Certificate Signing Request 라는 새 창이 뜹니다.



이 화면에서 Continue 를 클릭 하여 위자드를 진행하시고, Submit Certificate Signing Request 화면으로 넘어갑니다.



이번 프로세스가 APNS 인증서를 추출하는 모든 과정 중 가장 중요한 부분이라고 할 수 있습니다. 여기서 Select the Certificate Signing request (CSR) file that you saved to your disk. 라는 문구가 나오며, 파일을 선택하여 업로드 할 수 있는 submit 버튼이 나오는데요, 업로드 하실 파일은 바로 CertificateSigningRequest.certSigningRequest 파일입니다. 익숙하지만 너무 길어서 좀 낯선.. 이 파일은 맴버 센터에서 Certificates 를 하기 위해 진행할 때 만드셨던 파일이죠.

이 부분이 가장 중요한 이유는, 이 때  CertificateSigningRequest.certSigningRequest 파일을 잘 못 업로드 하는 경우 APNS 인증서와 Certificates 됐던 인증 키(개인 키)가 매치가 되지 않아 인증서 추출을 올바르게 할 수 없기 때문입니다.

혹시, 이 CertificateSigningRequest.certSigningRequest 파일을 이전에 Save 해 두신 게 없으시다면 방법은 2가지 밖에 없습니다.
그 첫번째는 Certificates 부터 아예 다시 진행하시는 방법입니다. 이 방법은 계정 인증부터 다시 하게 되니 이미 Provisioning Profile 이 배포 된 모든 프로젝트를  Provisioning Profile 을 업데이트 하신 뒤 다시 빌드해야 하는 리스크를 감수해야 합니다.
두 번째 방법은 CertificateSigningRequest.certSigningRequest 파일만 새로 만드는 것인데요. 이 방법은 아무런 리스크는 없지만 처음 Certificates 를 진행하면서 입력하신 정보를 정확하게 입력해야 만 APNS 인증서와 Certificates 됐던 인증 키(개인 키)가 매치 된다는 점을 유의하셔야 합니다.
[CertificateSigningRequest.certSigningRequest 생성]




그럼, 다시 Submit Certificate Signing Request 화면으로 가서 CertificateSigningRequest.certSigningRequest 파일을 업로드 해 보겠습니다.



CertificateSigningRequest.certSigningRequest  파일을 선택 하신 뒤 Generate 를 하시면,  APNs SSL Certificate has been generated. 되며 Push SSL Certificate 의 State 가 Enabled로 활성화 되 있는 것을 확인 하실 수 있습니다.



이렇게 Push SSL Certificate 가 활성화 된 뒤, Action 에서 Download 를 통해 인증서 파일(aps_developer_identity.cer, aps-product-identity.cer)을 받으신 뒤 실행 하시면 키체인 접근에 인증서가 등록 되고, 개인 키와 물려 있는 화면을 확인 하실 수 있습니다.



여기서 APNS 인증서와, 물려있는 개인 키를 함께 선택 하신 뒤, 우클릭을 하시면 컨텍스트 메뉴 중에 2개 항목 보내기.. 항목이 있습니다.



클릭하신 뒤 개인 정보 교환(.p12) 형식으로 저장 하시면 



비밀번호를 설정 한 뒤 원하시는 곳에 저장하실 수가 있습니다.

* 이렇게 추출 된 인증서는 서버 프로그램을 하실 때, 사용 되니 APNS 가 필요한 어플을 구상하신다면 반드시 필요합니다 :)