Java在使用鑰匙串導(dǎo)出的推送證書(.p12),有時(shí)會(huì)報(bào)InvalidToken錯(cuò)誤,但是這個(gè)證書卻可以通過Pusher(Github)成功使用,為了解決這個(gè)問題,現(xiàn)使用終端腳本方式導(dǎo)出(.p12)文件。
1. 從鑰匙串生成一個(gè)CertificateSigningRequest.certSigningRequest文件
2. 從開發(fā)者賬號(hào)下載對(duì)應(yīng)的推送證書aps_development.cer(測(cè)試)或者aps.cer(正式)
3. 雙擊步驟2中對(duì)應(yīng)的證書,在鑰匙串中展開這個(gè)安裝后的證書,導(dǎo)出其中的專用密鑰(導(dǎo)出格式為p12),記為private_key.p12
4. 將步驟2中下載下來的證書轉(zhuǎn)成pem格式,命令如下
openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM
5. 將導(dǎo)出的p12格式密鑰轉(zhuǎn)換成pem,命令如下
openssl pkcs12 -nocerts -out private_key.pem -in private_key.p12
6. 將步驟1、步驟4和步驟5中的三個(gè)證書合成一個(gè)推送證書,命令如下
openssl pkcs12 -export -in aps.pem -inkey private_key.pem -out aps.p12 -passout pass:步驟三中設(shè)置的密碼