iospassbookwalletpasskit

Is it possible to create the certificate to sign Apple Wallet Passes from a non-iOS system such as Ubuntu?


I'd like to create a certificate from Apple developer account and use it to sign Apple Wallet passes / passbook. So I can implement a server to generate the wallet passes to serve up my mobile app.

The challenge to me is I'm on linux (Ubuntu to be specific). There are a bunch of npm modules as far as I can see, that can be used to implement a server to generate the pass but the first step is to create a certificate from Apple. So my question is it seems to me that is not even possible without a Mac? Does anyone know if it is even possible to create that certificate from a linux machine like Ubuntu?

Thanks


Solution

  • You do not create the certificate yourself, you create a private key and certificate signing request and upload the certificate signing request to Apple. They then issue a certificate that matches your private key.

    This can be done on any operating system using OpenSSL. When creating the CSR you can provide any values as Apple will ignore them and replace with the PassTypeIdentifier, Team Name and Team Id.

    The OpenSSL commands you need are:

    openssl genrsa -out /path/to/my-private-key.pem 2048
    
    openssl req -new -key /path/to/my-private-key.pem -out /path/to/my-request.csr