/passsigner-js

Apple Pass Signer for Node.js

Primary LanguageJavaScriptMIT LicenseMIT

Apple Wallet Logo

PassSigner

NPM Version NPM Downloads

Apple Pass Signer for Node.js

Install

$ npm install passsigner-js

Get Started

Apple's WWDR Certificate

Apple’s World Wide Developer Relations (WWDR) certificate is available from Apple at http://developer.apple.com/certificationauthority/AppleWWDRCA.cer.

Pass Signing Certificate

To download your pass signing certificate, do the following:

  1. Log into your Apple Developer Console.
  2. In Certificates, Identifiers & Profiles, select Identifiers.
  3. Under Identifiers, select Pass Type IDs.
  4. Click the plus (+) button.
  5. Enter the description and pass type identifier, and click Submit.
  6. Select the pass type identifier, then click Edit.
  7. Click the Create Certificate button, then follow the instructions to create a pass signing certificate.
  8. Download your new certificate. Double click to add this certificate to your Keychain.
  9. Right-click on your certificate, then click Export.

Options

Name Type Required Description
appleWWDRCA Buffer | String Required Buffer or Path of Apple's WWDR Certificate.
signCert Buffer | String Required Buffer or Path of Pass Signing Certificate.
password String Optional The Password of the Pass Signing Certificate.

Usage

const PassSigner = require("passsigner-js")

const manifest = {
  "icon.png": "a05b6df8cdc27338f296856e367116b09d5bd63c",
  "icon@2x.png": "e4fda792e9e2f0b043e16006cfea70fffe610e51",
  "logo.png": "284d8cca28de0ebb2ca28ebdf5a8dc11c9e7543c",
  "logo@2x.png": "3343ada60b6b504c9b65a601e8b89a0566d5ca00",
  "pass.json": "6923eaca29e9ef3f97dacf9d0a0880efc368df28"
}
// Note: The manifest is a JSON object that contains a dictionary of the SHA1 hashes for each of the source files for the pass.

const passSigner = new PassSigner({
  appleWWDRCA: './AppleWWDRCA.cer',
  signCert: './Certificates.p12'
})
const signature = passSigner.sign(JSON.stringify(manifest))

License

MIT