SSL-handshake mit dem Apple Push Notification Server über Java

Hallo, ich bin versucht, senden Sie eine push-Nachricht auf mein Gerät über Java. Aber ich bin schon immer Probleme beim herstellen der ssl-Verbindung.
Hier ist der code bisher:

        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();

Den Fehler bin ich immer:

java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded

Ich denke, es gibt ein problem mit den apns-dev-key.p12-Datei. Irgendwelche Tipps?

Den code oben ist entnommen aus: http://undermypalapa.wordpress.com/2009/08/23/apple-push-notification-service-java/

  • Ok ich habe es jetzt funktioniert. Das problem war, dass ich versuchte zu arbeiten, mit den apns-dev-key.p12. Aber alles, was ich tun müssen, ist, verwenden Sie die push-cert (p12-Datei mit dem Zertifikat und dem Schlüssel) und verwenden Sie das Passwort habe ich erstellt beim exportieren des cert.
InformationsquelleAutor Pathos | 2012-02-23
Schreibe einen Kommentar