반응형
반응형

http://blog.naver.com/wjdtjdgus956/120211932298

반응형

'연구개발 > IOS' 카테고리의 다른 글

java apns용 인증서(.p12)생성법  (0) 2016.07.14
APNS 따라하기 시리즈 (인증서 만들기)  (0) 2016.03.21
반응형

Java용 인증서의 경우 .p12로 된 인증서를 만드는 방법을 소개합니다.


인증서 생성을 위해서 일단 Cert파일(aps_development.cer)과 개인키(mykey.p12) 두개 파일이 필요합니다.

1. 개발자센터에서 개발용 인증서파일을 다운로드 받습니다. 기본적으로 파일명은 aps_development.cer으로 생성됩니다.




2. 키체인 접근에서 개인용 인증서를 내보내기로 받습니다.

내보내실때 꼭 인증서 비번을 넣으셔야 생성이 가능하니 만들실때 비번을 넣어서 추출하시기 바랍니다~!



이제 바탕화면에 파일을 옮겨놓으시고 터미널을 엽니다.


4. 터미널에서 개발자센터에서 받은 aps_development.cer파일을 .pem파일로 변환합니다.

아래와 같이 openssl명령어를 입력하시면 developer_identity.pem파일이 생성되신것을 확인 하실 수 있습니다.

openssl x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM


5. 다음으로 개발자의 개인키 mykey.p12파일을 .pem으로 변환합니다.

변환하실때 비번입력을 3번 물어보게 되는데요 첫번째 입력에는 내보내기할 때 입력했던 비밀번호를 입력하시고 나머지 2번,3번째에는 .p12파일로 변환할때 사용할 비밀번호를 입력하시면 됩니다. 

openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem


6. 마지막으로 .pem로 변환한 인증서과 개인키를 .p12파일로 변환합니다.

변환할때 5번의 2,3번째 입력했던 비밀번호를 입력하시면 변환이 완료됩니다.

openssl pkcs12 -export -inkey mykey.pem -in developer_identity.pem -out dev_push_cert.p12


기존에는 간단하게 키체인 접근에서 cert파일과개인키를 .p12파일로 내보내기 해서 생성했던 방식에 비해 굉장히 번거롭고 어렵네요.


그럼 Java apns을 위한 인증서 생성방법을 맞치겠습니다.~


핵심부분만 설명을 해서 처음인증서를 생성하시려는 분들에게는 어려움이 있을것같아 레퍼런스URL을 알려드리겠습니다.

http://ddirty.tistory.com/50


-인증서 생성을 위해 참고했던 링크

http://stackoverflow.com/questions/20077626/whats-the-correct-format-for-java-apns-certificate

- java apns 오픈소스
- 예전방식으로는 이제 Push가 발송되지 않으니 참고바랍니다


반응형

'연구개발 > IOS' 카테고리의 다른 글

ios  (0) 2017.07.18
APNS 따라하기 시리즈 (인증서 만들기)  (0) 2016.03.21
반응형

APNS 포스팅 개요

1년만에 다시 푸쉬서비스를 만들려고 하니 기억도 안나고 검색해서 찾아보니 너무 옛날 데이터들이라 헷갈리기도 해서 “이참에 좀 자세하게 기록해놓자!!” 하는 마음에 포스팅을 했습니다. 총 3단계로 나누어 인증서 설치, 서버단에서 푸시 보내기, 앱단에서 푸시 처리하기로 해서 포스팅을 시작하고자 합니다.
APNS란 용어는 애플 개발자 레퍼런스에도 너무 자세하게 나와있고 검색해도 수도 없이 나오기때문에 생략하고 철저하게 개발 적용에만 촛점을 맞추도록 하겠습니다.

 

APNS 인증서 발급 조건

  • 발급일 2013년 7월경
  • Mac OS  X 버전 10.8.4 (산사자)
  • Xcode 버전 4.6.3
  • iOS7이 베타3까지 출시

 

APNS 인증서 발급을 위한 개인 인증서 만들기

우선 애플(Apple) 사이트에서 Notification 인증서를 만들기 위해서는 아래와 같이 키체인을 이용해
CertificateSigningRequest.certSigningRequest 라는 인증서를 만들어야 합니다.

이 인증서는 Notification 인증서를 발급받을 때 반드시 필요하니 우선 따라서 만들어 봅시다.
키체인(Keychain)을 실행한 후 다음과 같이 따라 해보세요!



키체인을 실행한 후 키체인접근> 인증서지원 > 인증 기관에서 인증서 요청을 누릅니다.

 



디스크저장됨을 선택하고 본인이 키 쌍 정보 저장을 체크하세요! 특히 이메일은 개발하는 애플 개발자 아이디를 넣어주시기 바랍니다.





그림과 같이 설정하시고 다음으로 넘어가세요!



인증서 서명을 하기 위한 요청 파일이 완성되었습니다.

이렇게 작업을 완료하시고 Finder에서 보기를 눌러 보시면 다음과 같은 파일이 만들어집니다.

CertificateSigningRequest.certSigningRequest

 

 

APNS 인증서 발급받기

반드시 애플 개발자 계정을 가지고 계셔야 접근하실 수 있습니다. 일반 애플 계정과는 다르니 안되시는 분은 개발자 등록부터 해주시기 바랍니다.

이제 개인 인증서를 만들었으니 애플 개발자 사이트로 이동합니다.
개발자 사이트에 접속하시면 상단에 Member Center라는 곳이 있습니다.
접속하시면 바로 아래의 이미지와 같은 화면을 보실 수 있습니다. 그림을 보시면서 순서대로 따라하시면 금방 APNS용 인증서를 발급받을 수 있습니다.
그럼, 멤버센터에서 Certificates, Identifiers & Profiles > Identifiers > APP ID’s 메뉴로 이동하세요!

 



멤버센터 메인 화면에서 빨간 박스의 Certificates, Identifiers & Profiles를 클릭하세요!



APP IDs 메뉴를 눌러 들어온 화면입니다. 자신이 만들어놓은 앱아이디를 한눈에 보실 수 있습니다. 그럼, 노티를 원하는 앱아이디를 선택하세요!



선택하시면 해당 앱에서 무슨 서비스가 연동되고 사용되는지 한눈에 보실 수 있습니다. 그중 Push Notification 서비스가 Enable 되어있는지 확인하고 Disable 되어있으면 하단의 Edit 버튼을 누릅니다.



저는 이미 만들어 놓아 인증서 내역이 보이지만 몇개고 만들 수 있습니다. 개발용과 배포용으로 만들 수 있으며 우선 개발용으로 해보겠습니다. 자 그럼, Create Certificate를 눌러주세요!



이과정은 아까 맥에서 만들었던 인증서를 만드는 방법에 대해서 안내해주는 화면입니다. 우린 이미 만들었으니 다음 단계로 넘어가시죠!



아까 만들었던 인증서를 업로드해야 합니다. Choose File을 눌러 CertificateSigningRequest.certSigningRequest 파일을 연결해주세요!



자! 그럼 Generate를 눌러 APNS 인증서를 발급받아보세요!



드디어 인증서가 만들어졌습니다. 다운로드를 눌러주세요!



인증서가 이제 다운되었습니다. 다음은 인증서를 클릭해 실행해주세요! 그럼 키체인에 인증서가 추가됩니다.

 

이렇게 해서 인증서 발급을 과정을 마쳤습니다. 생각보다 어렵지 않습니다.
자 그럼, 이제부터가 중요한데요! 서버에 직접 설치할 인증서를 만들어 보겠습니다.

 

APNS 서버인증서 만들기

서버인증서를 만드는 작업을 하기전에 우선 키체인을 열어 방금 설치한 Apple Development(or Production) iOS Push Services: kr.co.godo.godo 인증서를 찾아서 Export(내보내기)를 해서 .p12 파일로 만들어줘야 합니다.
다음의 그림을 보면서 따라하시면 되겠습니다. 그림과 같이 인증서 옆에 화살표 아이콘이 있고 그걸 누르면 개인키가 나타나오니 참고하시면서 작업하시기 바랍니다.



저는 개발과 출시용 Push Service 인증서를 둘다 설치해서 2개가 나타나며 원하는 것을 선택해서 만들어주시면 됩니다.



우선 그림과 같이 마우스 오른쪽을 눌러 보내기 메뉴를 눌러주세요!



그럼 이러한 창이 뜰 것이고 별도저장(Save as)에 cert라고 넣어주세요!



저장을 누르면 패스워드를 넣으라는 창이 나타납니다. 이곳에 원하는 패스워드를 넣고 승인을 눌러주세요!



다음은 개인키입니다. 그림과 같이 열쇠모양의 개인키를 선택해 오른쪽 마우스 눌러 보내기를 클릭합니다.



별도저장(Save as)에 key라고 입력하고 저장을 눌러줍니다.



외우기 쉽도록 cert에서 만든 패스워드를 동일하게 넣어주세요!

 

이작업을 하시면 바탕화면(여러분이 지정한 경로)에 cert.p12와 key.p12 파일들이 만들어집니다.
이제부터 중요합니다. 인증서 형식을 변환하기 위한 작업으로 Terminal에서 작업을 할 것 입니다.
딱 4가지 명령만 실행하시면 됩니다.  ———- 이걸로 표시된 부분은 결과값을 보여주려고 나타낸 것이니 터미널에서는 입력하지 말아주세요!

다음과 같이 입력하고 엔터를 치면 비밀번호를 물어봅니다.
이 비밀번호는 아까 cert.p12 만들때 작성하신 패스워드를 넣어주시면 됩니다.
이렇게 하고 나면 해당 경로에 cert.pem 이라는 파일이 생깁니다.

 

위 코드는 key.p12를 key.pem으로 만들어주는 작업입니다.
바로 윗부분에 cert.pem 만드는 작업과 동일하지만 마지막에 패스워드를 생성하는 작업을 해주셔야 합니다.

 

위에서 만들어진 key.pem을 가지고 key.unencrypted.pem을 만드는 코드입니다.
하단의 출력결과에도 써있다 시피 윗단계에서 새로 생성한 패스워드를 입력하시면 됩니다.
이제 마지막 하나가 남았습니다.

 

마지막부분에 apns.pem이라고 적어놓은 부분은 여러분이 만들고 싶은 이름으로 변경해서 작성해주시면 됩니다.
이렇게 마무리 하시면 작업하신 해당 경로에 아래리스트와 같이 6개의 파일들이 생성되어 있을 것이니 꼭 확인해주시기 바랍니다.

  • cert.p12
  • key.p12
  • cert.pem
  • key.pem
  • key.unencrypted.pem
  • apns.pem

 

윗 단계를 하나의 이미지로 보면 다음과 같습니다.



총 6개의 파일이 생성되며 터미널 안에 보시면 타이핑한 내역이 그대로 있습니다.

 

이제 모든 것이 끝났습니다. 결국 apns.pem 이 파일 하나 만들고자 이짓을 했던 것 입니다.
푸시서버로 구성할 곳으로 apns.pem 파일을 업로드 해주시면 됩니다.
위치는 아무곳에나 하셔도 상관없지만 경로만 알면 다운로드가 가능한 웹루트는 피하시기 바랍니다.

이렇게 만들어진 인증서를 이용해 SSL Connect의 연결을 유지한 상태에서 Push메시지를 발송하면 됩니다.
개발에 관련된 부분은 다음 스텝에서 안내해드리겠습니다.

 

http://qnibus.com/blog/how-to-make-certification-for-apns/

반응형

'연구개발 > IOS' 카테고리의 다른 글

ios  (0) 2017.07.18
java apns용 인증서(.p12)생성법  (0) 2016.07.14

+ Recent posts

반응형