본문 바로가기

Java

JDK 1.7 이상에서 APNS 인증서 문제

IOS로 Push를 전송하기 위해 사용하는 서비스인 APNS는 JDK 1.7 버전 이상에서 인증서 문제가 발생한다.


APNS 서버로 연동할 때 SSLHandshakeException이 발생하면 다음과 같이 해보자.


먼저 Apple에서 필요한 파일을 다운 받는다.

  • 인증서 : 확장자가 cer로 끝나는 파일
  • Private Key : 확장자가 p12로 끝나는 파일

그리고 openssl 명령어를 이용하므로 openssl 명령으로 실행시킬 환경도 준비가 되어야 할것이다.


총 3단계로 openssl 명령어를 실행하며 다음과 같이 진행한다.


인증서 => certification.cer

PrivateKey => my_private_key.p12


$ openssl x509 -in certification.cer -inform DER -out cert.pem -outform PEM

$ openssl pkcs12 -nocerts -in my_private_key.p12 -out key.pem

$ openssl pkcs12 -export -inkey key.pem -in cert.pem -out ios_certification.p12


위 결과로 만들어진 최종 파일인 ios_certification.p12를 APNS연동시 필요한 keystore로 이용하면 된다.