こんにちは、Javaを使用してデバイスにプッシュメッセージを送信しようとしています。しかし、私はすでにssl接続を確立するときに問題が発生しています。JavaによるApple Push Notification ServerとのSSLハンドシェイク
KeyStore keyStore = KeyStore.getInstance("PKCS12");
InputStream key = getClass().getResourceAsStream("apns-dev-key.p12");
char[] c = key.toString().toCharArray();
keyStore.load(getClass().getResourceAsStream("apns-dev-cert.p12"), c);
KeyManagerFactory keyMgrFactory = KeyManagerFactory.getInstance("SunX509");
keyMgrFactory.init(keyStore, c);
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyMgrFactory.getKeyManagers(), null, null);
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket(host, port);
String[] cipherSuites = sslSocket.getSupportedCipherSuites();
sslSocket.setEnabledCipherSuites(cipherSuites);
sslSocket.startHandshake();
私は取得していますエラーは次のとおりです: はここで、これまでのコードである
java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded
私はAPNを-DEV-するkey.p12ファイルに問題があると思います。何かヒント?ここでhttp://undermypalapa.wordpress.com/2009/08/23/apple-push-notification-service-java/
私はそれを今働いています。問題は私がapns-dev-key.p12で作業しようとしたことでした。しかし、私がする必要があるのは、プッシュ証明書(証明書と鍵を含むp12ファイル)を使用し、証明書をエクスポートするときに作成したパスワードを使用することだけです。 – Pathos