后臺(tái)配置推送 證書pem

http://www.reibang.com/p/e759c864c2b8

P12證書直接生成

剛開始說需要pem證書時(shí)蔬浙,我查到有好些說可以直接轉(zhuǎn)化凯旋。在終端進(jìn)入p12所在的文件夾型酥,再用命令:

openssl pkcs12 -in 你的推送.p12 -out apns_production.pem -nodes

提示輸入密碼,輸入p12的密碼即可

注意:尾部的參數(shù),如果只導(dǎo)出私鑰可以加上 -nocerts 參數(shù),只導(dǎo)出證書則可以加上 -nokeys 參數(shù)

我沒條件抬頭驗(yàn)證,我將pem給服務(wù)器后臺(tái)戒祠,結(jié)果運(yùn)行失敗。因?yàn)槲抑篮笈_(tái)推送服務(wù)器存在著秘鑰解析的問題速种。但是既然都可以驗(yàn)證pem證書姜盈,那么這樣直接生成的pem也是正確的

證書和秘鑰分開生成

如圖把鑰匙串中的推送證書找開,分別把證書配阵,秘鑰分別導(dǎo)出成生pem馏颂,最后合成

image

具體的生成流程:

1.先分別導(dǎo)出證書apns-dev-cert.p12和秘鑰apns-dev-key.p12

2.把證書轉(zhuǎn)成pem

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

3.把秘鑰轉(zhuǎn)成pem

openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

這里需要輸入三次密碼

4.合成pem

cat apns-dev-cert.pem apns-dev-key.pem > apns.pem

詳細(xì)參考 (證書的驗(yàn)證可以直接驗(yàn)證最后的合成證書)

5.注意

   (1) 在第3點(diǎn)生成秘鑰pem時(shí)總共是輸了三次密碼,第一次密碼是key.p12的密碼棋傍,第二次和第三次重復(fù)的密碼是轉(zhuǎn)成pem后必須需要的解析密碼救拉,兩者密碼是不一樣的。但是是為了記憶瘫拣,直接就輸入同樣的密碼亿絮。

   (2)在PHP的后臺(tái)服務(wù)中,如果開發(fā)人員寫得比較細(xì)麸拄,把證書pem和秘鑰pem分開來進(jìn)行的話派昧,那你可以不用走第5步,直接把證書pem和秘鑰pem給PHP開發(fā)人員就行了拢切。

(3)如果后臺(tái)服務(wù)器在使用時(shí)報(bào)錯(cuò):failed to parse PKCSI private key蒂萎。那說明我們第3步的這個(gè)密碼錯(cuò)誤。但是再想想淮椰,你生成這個(gè)pem,不可能不記清你的這個(gè)密碼吧五慈。所以了很大可能是后臺(tái)解析時(shí)密碼的輸入代碼有誤。

    很可憐的事就是我就遇到了無法檢查原代碼的情況主穗。那怎么辦了泻拦,我們的思維告訴我們,實(shí)在不行公鑰pem不使用密碼就多好的黔牵。可是我直接測(cè)試了一下爷肝,那里是公鑰pem必須要密碼猾浦,不然在進(jìn)行搶著驗(yàn)證時(shí)是通不過的陆错。請(qǐng)看第6條,補(bǔ)充方法

6.補(bǔ)充方法

    我們可以給秘鑰apns-dev-key.pem設(shè)置為無密碼金赦,將第3步生成的apns-dev-key.pem轉(zhuǎn)成未加密的apns-dev-key-unencrypted.pem

openssl rsa -in apns-dev-key.pem -out apns-dev-key-unencrypted.pem

那么第4步合成的時(shí)候就用這個(gè)未加密的apns-dev-key-unencrypted.pem來合成

cat apns-dev-cert.pem  apns-dev-key-unencrypted.pem > apns-dev.pem 

我最后就是用這個(gè)方法解決了failed to parse PKCSI private key的問題音瓷。

未加密秘密的參考

驗(yàn)證證書

apns的推送服務(wù)器地址
開發(fā)環(huán)境:gateway.sandbox.push.apple.com:2195 生產(chǎn)環(huán)境:gateway.push.apple.com:2195

但是我驚奇的發(fā)現(xiàn),不管是對(duì)于生產(chǎn)pem,還是測(cè)試pem,這兩個(gè)網(wǎng)址都可以進(jìn)行驗(yàn)證

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns.pem

openssl s_client -connect gateway.push.apple.com:2195 -cert apns-dev.pem

結(jié)果

image

x509 生成服務(wù)器所需證書pem或P12

http://www.reibang.com/p/354a12d2b1a4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

基本流程:

1.利用“鑰匙串”請(qǐng)求證書

2.創(chuàng)建證書夹抗,下載cer文件

3.雙擊安裝下載的cer文件后绳慎,導(dǎo)出p12證書

4.利用命令行轉(zhuǎn)換pem文件

5.如果需要轉(zhuǎn)換為p12

6.驗(yàn)證證書是否可用

具體步驟:

1.利用鑰匙串請(qǐng)求證書

image

Apple建議這樣填寫

image

保存,得到"CertificateSigningRequest.certSigningRequest"文件漠烧。這是請(qǐng)求所有證書的基礎(chǔ)杏愤。

2.創(chuàng)建證書,下載cer文件

進(jìn)入蘋果開發(fā)者中心:https://developer.apple.com/cn/ Certificates, IDs & Profiles

image
image

創(chuàng)建 “iOS Development” 和 “iOS Distribution” 以及“Identifiers->App IDs”證書后已脓,才可以創(chuàng)建推送證書珊楼。

創(chuàng)建方法類似,此處省略800字度液。

把做的證書下載下來厕宗。

image

分別得到發(fā)布開發(fā)cer和發(fā)布cer

"aps_development.cer" 和 "aps.cer"

3.雙擊安裝下載的cer文件后,導(dǎo)出p12證書

image

分別導(dǎo)出開發(fā)證書和發(fā)布證書

"Apple Development IOS Push Services- com.in.inlan.p12" 和 "Apple Push Services- com.in.inlan.p12"

4.利用命令行轉(zhuǎn)換pem文件

1). 先把下載下的cer轉(zhuǎn)換為pem


$ openssl x509 -inform der -in aps_development.cer -out devPushChatCert.pem

$ openssl x509 -inform der -in aps.cer -out PushChatCert.pem             

2). 將鑰匙串中的p12轉(zhuǎn)換成pem


$  openssl pkcs12 -nocerts -out devPushChatKey.pem -in Apple\ Development\ IOS\ Push\ Services-\ com.in.inlan.p12

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in Apple\ Push\ Services-\ com.in.inlan.p12 

3). 將上面生成的2中pem轉(zhuǎn)為一個(gè)pem


$ cat devPushChatCert.pem devPushChatKey.pem > dev_ck.pem

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

5.如果需要轉(zhuǎn)換為p12


$ openssl pkcs12 -export -in dev_ck.pem -out dev_pushcer.p12

$ openssl pkcs12 -export -in ck.pem -out pushcer.p12

6.驗(yàn)證證書是否可用

整理有個(gè)寫好的腳本可用(內(nèi)部替換所需deviceToken即可)

Push Demo

https://iodefog.github.io/file/push.zip


$ php ios-push.php

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末堕担,一起剝皮案震驚了整個(gè)濱河市已慢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霹购,老刑警劉巖佑惠,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異厕鹃,居然都是意外死亡兢仰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門剂碴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來把将,“玉大人,你說我怎么就攤上這事忆矛〔於祝” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵催训,是天一觀的道長(zhǎng)洽议。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么并淋? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任顽冶,我火速辦了婚禮,結(jié)果婚禮上审胚,老公的妹妹穿的比我還像新娘匈勋。我一直安慰自己,他們只是感情好膳叨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布洽洁。 她就那樣靜靜地躺著,像睡著了一般菲嘴。 火紅的嫁衣襯著肌膚如雪饿自。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天龄坪,我揣著相機(jī)與錄音昭雌,去河邊找鬼。 笑死悉默,一個(gè)胖子當(dāng)著我的面吹牛城豁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抄课,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼唱星,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了跟磨?” 一聲冷哼從身側(cè)響起间聊,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抵拘,沒想到半個(gè)月后哎榴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僵蛛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年尚蝌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片充尉。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡飘言,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驼侠,到底是詐尸還是另有隱情姿鸿,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布倒源,位于F島的核電站苛预,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏笋熬。R本人自食惡果不足惜热某,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昔馋,春花似錦芜繁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔬捷。三九已至垄提,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間周拐,已是汗流浹背铡俐。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妥粟,地道東北人审丘。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像勾给,于是被迫代替她去往敵國和親滩报。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容