title: javapns handling exception: javax.net.ssl.SSLException: Received fatal alert: internal_error
body: <p>I am trying to send push notifications to IOS using <strong><a href="https://code.google.com/archive/p/javapns/" rel="nofollow noreferrer">javapns</a></strong>. Path to the keystore(P12) file and its password is correctly mentioned in the code.</p>
  
  <pre><code>List &lt; PushedNotification &gt; NOTIFICATIONS = Push.payload(payload, "/home/sunil/Downloads/pushCertCurrent.p12", "password", false, "7964b31ec8b8a194f8c6b84924088d7b29bd98ecc28162e771f623d5ef0a39b6");
  </code></pre>
  
  <p>But while sending notification to the device having device token mentioned as last parameter in the above code, I am getting <strong>javax.net.ssl.SSLException: Received fatal alert: internal_error</strong> </p>
  
  <p>I have attached debugger with <strong>-Djavax.net.debug=all</strong> parameter and getting following log in the console.</p>
  
  <p>This is a part of log which I am getting.</p>
  
  <pre><code>main, READ: TLSv1.2 Alert, length = 2
  main, RECV TLSv1.2 ALERT:  fatal, internal_error
  %% Invalidated:  [Session-1, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
  main, called closeSocket()
  main, handling exception: javax.net.ssl.SSLException: Received fatal alert: internal_error
  javax.net.ssl.SSLException: Received fatal alert: internal_error
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
      at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
      at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747)
      at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
      at java.io.OutputStream.write(OutputStream.java:75)
      at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:427)
      at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:366)
      at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:336)
      at javapns.Push.sendPayload(Push.java:178)
      at javapns.Push.payload(Push.java:149)
      at com.icube.apns.TestPushNotificationApp.main(TestPushNotificationApp.java:35)
  17063 [main] INFO javapns.notification.PushNotificationManager  - Attempt failed (Received fatal alert: internal_error)... trying again
  main, called close()
  main, called closeInternal(true)
  18495 [main] DEBUG javapns.communication.ConnectionToAppleServer  - Creating SSLSocket to gateway.sandbox.push.apple.com:2195
  Allow unsafe renegotiation: false
  Allow legacy hello messages: true
  Is initial handshake: true
  Is secure renegotiation: false
  main, setSoTimeout(30000) called
  26600 [main] DEBUG javapns.notification.PushNotificationManager  - Reading responses
  main, setSoTimeout(5000) called
  </code></pre>
  
  <p>Please help me figuring out where I am doing something wrong and is this a problem from my side or from apple's side.</p>