[英]APNS Java simple implementation with SOCKS support (Apple Push Notification Service)
[英]Java APNS (Apple Push Notification Service) error
我正在嘗試使用Java APNS(一個開源項目)向iPhone發送推送通知。 但是我收到了一個錯誤。
我使用.pem文件作為證書。 這應該是.p12文件嗎? 我不確定區別是什么,但我在網上看到這些文件格式之間存在差異。
這是代碼:
ApnsService service =
APNS.newService()
.withCert("gpk.pem", "XXXX")
.withSandboxDestination()
.build();
String payload = APNS.newPayload().alertBody("Can't be simpler than this!").build();
String token = "theTokenIsRemoveHere";
service.push(token, payload);
這是錯誤:
Exception in thread "main" com.notnoop.exceptions.InvalidSSLConfig: java.io.IOException: toDerInputStream rejects tag type 45
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:102)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:161)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:124)
at com.geomobsters.cli.ApnsClient.main(ApnsClient.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.io.IOException: toDerInputStream rejects tag type 45
at sun.security.util.DerValue.toDerInputStream(DerValue.java:806)
at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1201)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:87)
... 8 more
Java APNS期望cert為.p12文件。
您必須在鑰匙串中檢查私鑰和證書。 然后右鍵單擊 - >“導出2個文件”並導出它們你必須給它一個密碼,這個密碼你必須在這里輸入
.withCert("gpk.pem", "XXXX")
作為你的XXXX
祝好運
編輯:
.P12 - PKCS#12,包含用密碼保存的私鑰的證書.PEM - 是Base64編碼的證書,由„-----BEGIN CERTIFICATE-----“ and „-----END CERTIFICATE-----“
鎖定„-----BEGIN CERTIFICATE-----“ and „-----END CERTIFICATE-----“
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.