Impossible d'envoyer des notifications push à l'aide de Javapns/Javaapns SSL handshake échec

J'ai un problème avec les notifications push. J'ai un p.12 certificat qui a été créé par un membre de l'équipe et j'ai le dispositif de jeton pour le périphérique à être poussé. Je suis l'aide de la javapns bibliothèque pour faire pousser (aussi essayé le javaapns lib avec les mêmes résultats), mais je reçois ce message d'erreur:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.OutputStream.write(OutputStream.java:58)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:402)
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.combined(Push.java:100)
at PushTest.push(PushTest.java:43)
at PushTest.main(PushTest.java:25)

et c'est le code que j'utilise test

try {
    List<PushedNotification> n = Push.combined(text, 20, null, file, "********", false, token);

    for (PushedNotification notification : n) {
        if (notification.isSuccessful())  
            System.out.println("Push notification sent successfully to: " + notification.getDevice().getToken());
        else {
            String invalidToken = notification.getDevice().getToken();

            Exception theProblem = notification.getException();
            theProblem.printStackTrace();

            ResponsePacket theErrorResponse = notification.getResponse();
            if (theErrorResponse != null)
                System.out.println(theErrorResponse.getMessage());
        }
    }
}
catch (CommunicationException e)  {
    //TODO Auto-generated catch block
    e.printStackTrace();
}
catch (KeystoreException e) {
    //TODO Auto-generated catch block
    e.printStackTrace();
}

J'ai lu et essayé les suggestions de plusieurs autres postes, y compris l'importation du certificat dans le fichier cacerts fichier de stockage des clés, mais l'importation échoue également. Je suis en train d'élaborer à l'aide d'eclipse sur une machine windows.

Quiconque est familier avec ce problème? Je suis nouveau à l'aide de ssl donc peut-être que je fais quelque chose de mal ou est-ce que je ne peux pas utiliser un certificat généré sur une autre machine?

InformationsquelleAutor user1192724 | 2012-09-25