Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

BlackBerry® Enterprise Service 10

Community Manager
Community Manager
Posts: 4,485
Registered: ‎01-10-2011
My Device: PRIV
My Carrier: Koodo

APNs Simplified

[ Edited ]

The Universal Device Service (UDS) within BlackBerry Enterprise Service 10 (BES10) leverages the Apple Push Notification Service (APNs) to manage and push notifications to an IOS device.


What you will need?


  • An installed BES10 server
  • An accessible UDS console
  • An Apple ID
  • A BlackBerry CSR certificate

Request a signed CSR certificate from BlackBerry

Download signed CSR certification

Request an APNs certificate from Apple

Upload the APNs certificate to UDS

Import the generated .PFX into your certificate store


Request a signed CSR certificate from BlackBerry


  1. Login to the UDS console and navigate to Settings > APNs certificate
  2. In the APNs Certificate status window, click Get APNs Certificate
  3. In the Provide your company information screen, type your organization information.

Once this request has been submitted, it can take up to 1 business day for BlackBerry to verify your information and provide the signed CSR certificate. You will receive an email once this is completed.


Download the signed CSR from BlackBerry and generate an APNs certificate


Once you have received the CSR from BlackBerry, you will need to login to the Apple Push certificate Portal  with your Apple ID. This will use your signed CSR to generate an APNs certificate.




  1. Login to Apple Push Certification Portal and select Create Certificate
  2. Upload your CSR file from BlackBerry to Apples portal
  3. Download the APNs Certificate that is generated
  4. Save the PEM file to your BES10 server

Install the APNs Certificate on your BES10 server


  1. Select browse to upload the downloaded PEM file
  2. Enter a private key password for the PFX file that will be generated.
  3. Click Install APNs Certificate



Import the PFX certificate into the certificate store


  1. Open the MMC console by navigating to Start>Run>MMC
  2. On the file menu Select Add/Remove Snap-in
  3. Select Certificates and click Add
  4. Select Computer Account in the certificate snap-in page and click next
  5. Select Local Computer and click Finish
  6. Expand Certificates (Local Computer)
  7. Expand Personal
  8. Right-click Certificates and select Import
  9. Navigate through the Import Wizard and upload the PFX file



For more information on APNs, visit Apples website.

Did you know that PRIV & the DTEK50 come with 12 months of free, complimentary support?

PRIV: Call 1-866-533-8067 (Canada\USA), or 0800-141-3330 (UK)

DTEK50: Call 1-855-556-2522 (Canada\USA), or 0800-141-3330 (UK)

Follow me on Twitter and subscribe to the Inside BlackBerry Help Blog

Guru III
Posts: 32,144
Registered: ‎06-25-2008
My Device:

I'm rockin the BlackBerry PRIV, Passport, Z30, Z10, Q10, BlackBerry Mini Stereo Speaker, 64 gig PlayBook,BT Headset HS-700

My Carrier: I am on AT&T. Please edit your Personal Profile with your DEVICE TYPE, DEVICE OS and Carrier

Re: APNs Simplified

[ Edited ]

if using IE11, turn on compatability mode for the apple site or it wont work , you get a json file once you try to make a cert 



Click here to Backup the data on your BlackBerry Device! It's important, and FREE!

Click "Accept as Solution" if your problem is solved. To give thanks, click thumbs up
Click to search the Knowledge Base at BTSC and click to Read The Fabulous Manuals

BESAdmin's, please make a signature with your BES environment info.

SIM Free BlackBerry Unlocking FAQ
Follow me on Twitter @knottyrope

Want to thank me? Buy my KnottyRope App here

BES 12 and BES 5.0.4 with Exchange 2010 and SQL 2012 Hyper V

New Contributor
Posts: 2
Registered: ‎08-21-2015
My Device: WorkSpace
My Carrier: TDE

Re: APNs Simplified

Hello out there,


we try to renew our certificate. When we want upload it to the UDS in step 3, choose the pem file, enter a password and click install, it takes a while and returns in an error.


We are using BES and the UDS Console shows version:


Does anybody have the same issues? Time is remaining... our certifiacte expires on 27. August 2015.


Details of the error:

 Windows    : 6.1.7601.65536 (Win32NT)
 Common Language Runtime  : 4.0.30319.34209
 System.Deployment.dll   : 4.0.30319.34244 built by: FX452RTMGDR
 clr.dll    : 4.0.30319.34209 built by: FX452RTMGDR
 dfdll.dll    : 4.0.30319.34244 built by: FX452RTMGDR
 dfshim.dll    : 4.0.31106.0 (Main.031106-0000)

 Bereitstellungs-URL   : https://bes1-koeln.bld-koeln.local:6443/settings/testAPNsCert.do

 Es folgt eine Zusammenfassung der Fehler. Details zu diesen Fehlern werden später im Protokoll aufgelistet.
 * Die Aktivierung von https://bes1-koeln.bld-koeln.local:6443/settings/testAPNsCert.do führte zu einer Ausnahme. Folgende Fehlermeldungen wurden entdeckt:
  + Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler.

 Es wurde kein Transaktionsfehler festgestellt.

 Während dieses Vorgangs gab es keine Warnungen.

 * [20.08.2015 15:24:14] : Die Aktivierung von https://bes1-koeln.bld-koeln.local:6443/settings/testAPNsCert.do wurde gestartet.

 Folgende Fehler wurden bei diesem Vorgang entdeckt.
 * [20.08.2015 15:24:31] System.Net.WebException
  - Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler.
  - Quelle: System
  - Stapelüberwachung:
   bei System.Net.HttpWebRequest.GetResponse()
   bei System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   bei System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   bei System.Xml.XmlTextReaderImpl.OpenAndPush(Uri uri)
   bei System.Xml.XmlTextReaderImpl.PushExternalEntityOrSubset(String publicId, String systemId, Uri baseUri, String entityName)
   bei System.Xml.XmlTextReaderImpl.DtdParserProxy_PushExternalSubset(String systemId, String publicId)
   bei System.Xml.DtdParser.ParseExternalSubset()
   bei System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
   bei System.Xml.DtdParser.System.Xml.IDtdParser.ParseInternalDtd(IDtdParserAdapter adapter, Boolean saveInternalSubset)
   bei System.Xml.XmlTextReaderImpl.ParseDtd()
   bei System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
   bei System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   bei System.Deployment.Application.ManifestValidatingReader.XmlFilteredReader.Read()
   bei System.Xml.XmlCharCheckingReader.Read()
   bei System.Xml.XsdValidatingReader.Read()
   bei System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
   bei System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
   bei System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
   bei System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
   bei System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

 Es sind keine Transaktionsinformationen verfügbar.



Kind Regards