# 使用openssl 建立Apple Wallet ###### tags: `openssl` `apple` ### 需求檔案 從IOS 開發人員那邊可以取得passTypeIdentifier, teamIdentifier, Certificates.p12, and WWDR.pem. 其中WWDR.pem.也可以自行生成 ### WWDR.pem 產生方式: ##### 1. 到 [Apple PKI](http://www.apple.com/certificateauthority/) 下載 "Worldwide Developer Relations" 憑證 ##### 2. 使用 openssl 產生 pem `openssl x509 -inform der -in AppleWWDRCA.cer -outform pem -out WWDR.pem` ##### 3.建立存放的資料夾 將WWDR.pem 放入資料夾 ##### 4.處理 pass.json 相關內容 ##### 5.新增 manifest.json [layout 相關設定](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/Creating.html) ##### 6.SHA1處理 並將 本次 Apple Wallet Pass 所需檔案在openssl 產生SHA1 編碼後放入其中. `sha1 background.png` ##### 7.在open ssl 中產生 passcertificate.pem 指令: `pkcs12 -in Certificates.p12 -clcerts -nokeys -out passcertificate.pem -passin pass:(Certificates.p12 的密碼)` ##### 8.在open ssl 中產生 passkey.pem 指令: `pkcs12 -in Certificates.p12 -nocerts -out passkey.pem -passin pass:(Certificates.p12 的密碼)` ##### 9.在open ssl 中產生 signature 指令: `smime -binary -sign -certfile WWDR.pem -signer passcertificate.pem -inkey passkey.pem -in manifest.json -out signature -outform DER -passin pass:本次密鑰密碼` ##### 10.將開資料夾以Zip方式壓縮後 以 .pkpass 為副檔名重新命名 細節相關資料 https://www.raywenderlich.com/2855-beginning-passbook-in-ios-6-part-1-2#toc-anchor-010 https://www.raywenderlich.com/2853-beginning-passbook-in-ios-6-part-2-2#toc-anchor-001