Support Article

Configuring the Push Notification on iOS

SA-30673

Summary



Imported the p12 certificate to enable the push notification on iOS, after the certificate configuration. While doing the connectivity to APN service using the OOTB functionality ''SendNotificationToIOS'', which is used at step 14 of ''PushNotificationForToken" and getting the below exceptions

com.notnoop.exceptions.InvalidSSLConfig: com.notnoop.exceptions.InvalidSSLConfig: java.security.NoSuchAlgorithmException: sunx509 KeyManagerFactory not available

 

Error Messages



ERROR  HN26RU - Exception
com.notnoop.exceptions.InvalidSSLConfig: com.notnoop.exceptions.InvalidSSLConfig: java.security.NoSuchAlgorithmException: sunx509 KeyManagerFactory not available
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:88)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:167)
at com.pega.push.notification.message.sender.APNSPushSender.buildApnsService(APNSPushSender.java:84)
at com.pega.push.notification.service.sender.impl.PushSenderServiceImpl.createConnection(PushSenderServiceImpl.java:54)


Steps to Reproduce

  1. Launch Pega Marketing portal. 
  2. Configuration > Settings > Channel > Push notification.
  3. create an Application and APP variant for iOS and import the p12 certificate.
  4. provide the push token and clik test button.


Root Cause



In case of ML 9 with Websphere there is a bug in 3rd party library apns-0.2.3 that causes the following error: java.security.NoSuchAlgorithmException: sunx509 KeyManagerFactory not available. This library needs to be replaced with newer version, e.g. apns-1.0.0.Beta6.

Resolution



Apply HFix-30239

After the installation follow the below steps:
 
1. Stop the server and run the following query in the problematic environment:
 
select pzcodeset from ${dbschema}.pr_engineclasses where pzjar like '%apns-0.2.3.jar%';
update ${dbschema}.pr_engineclasses set pzcodeset='pega-enginecodenouse' where pzjar like '%apns-0.2.3.jar%';
commit;
 
Replace ${dbschema} with the actual PegaRules schema name in respective environment.
 
2. Server needs to be restarted after running the above query and installing the new jar file which is apns-1.0.0.Beta6.jar.

 

Published November 22, 2016 - Updated November 23, 2016

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.