Hello Community:
Following the excellent guide at Apple Push Notification Services in iOS 6 Tutorial: Part 1/2 - Ray Wenderlich
I have managed to acquire new <appID>.p12 and certSigningRequest and aps_production.cer files
from the iOS developer center for/from our client.
Using the guide I have managed to create the PushChatCert.pem, PushChatKey.pem, and ck.pem files
Testing the PushChat* files works fine:
echo | openssl s_client -connect gateway.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
Enter pass phrase for PushChatKey.pem: <secret>
### Result:
Verify return code: 0 (ok)
Now I switch over to the Openfire: SSL Guide which discusses "Import the server certificate into the keystore"
and taking that literally, I issued
keytool -import -file /root/newsslkeys/Archive3/PushChatCert.pem -keystore /opt/openfire/resources/security/keystore -alias lavoultpush -keyalg RSA
I check it using
keytool -list -keystore /opt/openfire/resources/security/keystore and it is there.
I bounce the openfire service and after it starts, I check to see what the apns hosts would see by using
openssl s_client -connect localhost:5223
and get this response:
139936347678536:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:741:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 263 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
the https://server.com:9090/ssl-certificates.jsp shows an "java.security.InvalidKeyException: Supplied key (null) is not a RSAPrivateKey instance"
I bookmarked http://gtwy01.lavoult.com:9090/import-certificate.jsp as another post mentioned I should.
I have literally 2 dozen links from here and elsewhere discussing how this should be done.
But none of them seem to work for me at this time.
Openfire 3.7.0 (upgrading may not be an option)
java version "1.7.0_25"
openssl-1.0.1e-16.el6_5.x86_64
Please, someone. Outline the steps necessary to complete this.
Thank you for your time.