Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

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 24, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

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

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice