Apple Remote Push Notifications and IIS

I’ve been working with push notifications using Apple APN Remote push notifications for the past few weeks, and just wanted to post a few notes on this. My project was using the .Net webAPI for services, and there are a few basic examples out there to build upon. The frustrating part about Apple APN is debugging, as it is not possible to get a response when submitting a request. Also, setting up the certificates in IIS takes some patience.  Here are the steps I used to get APN going:

  • Generate .p12 file on ios dev center
  • Copy to windows server
  • Open mmc.exe and import .p12 file into the “console root -> Certificates(Local Machine)” certificates, and file under “Personal
  • Add permissions to the certificate as follows:
    • Go to Start > Run
    • Type mmc and press Enter
    • Click on File > Add/Remove Snap-in
    • Select the Certificates snap-in and click Add
    • Select the Computer account option and click Next
    • Select the Local Computer option and click Finish
    • Click OK
    • Expand Certificates > Personal and select the Certificates folder
    • Right-click on Apple Push Notification Service – Client Certificate and select All Tasks > Manage Private Keys
    • On the Security tab for the properties of the certificate, click Add
    • Type Authenticated Users and click Check Name then “OK”
    • Select the Read check box under the Allow column
    • Click Apply then OK
  • Note: you will need to specify a development or production request for APN. This can be added to the .net web.config file, as an appSettings entry.