Apple Push Notifications With Amazon SNS

  • Go to AWS console and locate the SNS service.
  • Click on the Applications menu to register a new app for push notifications.

Step 1

  • Click Create platform application button.

Step 2

  • Next, Login into apple developer portal and click Certificates, Identifiers and Profiles.
  • Under the Identifiers menu on the left sidem click Apps IDs
  • Find the right bundle id and click on it to get to the details.

Step 3

  • Click on the Edit button to reveal the full details.

Step 4

  • Download the production certificate
  • The download file extension is cer, but we need to convert it to a p12 file for AWS
  • This conversion requires a mac, so copy the file over by whatever means necessary.

Step 5

  • Double click the cer file and it should open it up in keychain as shown above.
  • Rt click on the certificate (not the private key, its important) and export to p12
  • Optionally set a secure password as part of the export.
  • Upload the p12 file in the create platform application dialog (Step 2)
  • Fill in the same password you set at the time of export in case there was a passwod. I left it blank for the sake of this demo.
  • Now p12 is binary file that contains the certificate info and the private key info that we need for the next two textboxes on this dialog. For that we need to convert p12 to a pem file that is human readble.
  • Run the following command on the mac to do this conversion.
openssl pkcs12 -in dev.p12 -out dev.pem -nodes
  • Rt click on the pem fie and open with VSCode or any other text editor and copy the certificate and private key info to paste into the create platform application dialog.
  • Copy everything between BEGIN and End Certificate section, delimeters including.
  • Same for the private key
  • Finally click the Create platform application button and the endpoint is ready to test.

Step 6

Up next AWS VPC Notes Domain Driven Design Core Principles
Latest posts Refactor react code to use state store instead of multiple useState hooks Notes on Python Threat Modelling - Using Microsoft STRIDE Model WCAG - Notes Flutter CI/CD with Azure Devops & Firebase - iOS - Part 1 Flutter CI/CD with Azure Devops & Firebase - Android - Part 2 How to samples with AWS CDK A hashicorp packer project to provision an AWS AMI with node, pm2 & mongodb Some notes on Zeebe (A scalable process orchestrator) Docker-Compose in AWS ECS with EFS volume mounts Domain Driven Design Core Principles Apple Push Notifications With Amazon SNS AWS VPC Notes Building and Deploying apps using VSTS and HockeyApp - Part 3 : Windows Phone Building and Deploying apps using VSTS and HockeyApp - Part 2 : Android Building and Deploying apps using VSTS and HockeyApp - Part 1 : iOS How I diagnosed High CPU usage using Windbg WCF service NETBIOS name resolution woes The troublesome Git-Svn Marriage GTD (Getting things done) — A simplified view Javascript Refresher Sharing common connection strings between projects A simple image carousel prototype using Asp.net webforms and SignalR Simple logging with NLog Application logger SVN Externals — Share common assembly code between solutions Simple async in .net 2.0 & Winforms Clean sources Plus Console 2 — A tabbed console window