iOS Push Notification Service with JDK7

Web Programing 2015.03.11 13:20
Java 7 에서는 Apple 에서 발급한 인증서를 사용하지 못한다.
javapns.communication.exceptions.InvalidCertificateChainException: Invalid certificate chain (Received fatal alert: certificate_unknown)!  Verify that the keystore you provided was produced according to specs...
 at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:410)
 at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:350)
 at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:320)
 at javapns.Push.sendPayload(Push.java:177)
 at javapns.Push.payload(Push.java:149)
 ...
jdk1.6에서 인증서 파일 포맷을 변환하고 (.p12 to .jks)
그 파일을 다시 jdk1.7에서 변환하면(.jks to .p12) 정상적으로 작동 한다.

/usr/local/jdk1.6/bin keytool -importkeystore -destkeystore CERTIFICATES.jks -srckeystore CERTIFICATES.p12 -srcstoretype PKCS12
/usr/local/jdk1.7/bin keytool -importkeystore -srckeystore CERTIFICATES.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore CERTIFICATES.jdk7.p12

참고 : https://code.google.com/p/javapns/issues/detail?id=165


설정

트랙백

댓글