ios 制作推送證書的流程

制作推送證書的流程:

1. 首先我們要有生成一個Certificate Signing Request(也就是CSR)的請求文件。(在應用程序里的使用工具中找到鑰匙串訪問)柑潦。

2. 登錄開發(fā)者賬號:

? (1)如果沒有為app創(chuàng)建APP ID的話需要先為APP創(chuàng)建APP ID

? ???????? 首先到accounts第二欄:點擊APP IDs ,點擊加號峻凫,按照提示操作

? (2)如果有的話直接進入第三步渗鬼;

3. 創(chuàng)建發(fā)布證書;點擊Certificates荧琼,development 點擊加號 (此處省略一萬字譬胎。。铭腕。)制作并下載银择,點擊done完成多糠;

4. 創(chuàng)建配置文件(Provisioning files) 按照提示操作 制作并下載 點擊done完成

5. 雙擊第三步下載的發(fā)布證書進行安裝累舷,然后打開鑰匙串,找到對應的證書夹孔,右鍵選擇導出被盈,制作P12證書。

6. 到現在為止我們已經獲取到了三個文件搭伤,將他們一起放在一個文件夾下只怎;

7. 打開terminal(終端),(位置:應用程序à實用工具à終端)怜俐,

鍵盤輸入cd到切換到桌面身堡,我們那三個文件所在的位置,使用openssl 命令編譯

注釋:在講解之前先說一下cd切換的目的:切換根目錄是要讀取前面創(chuàng)建的三個文件拍鲤,如果大家不是在桌面放置的話需要將根目錄cd到你放置這三個文件的位置贴谎,如果不知道當前目錄中都有那些文件夾,可以使用命令ls進行查看

? (1)把.cer的SSL證書轉換為.pem文件季稳,執(zhí)行命令:

? ? ? ? ? openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

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

? (2)把私鑰Push.p12文件轉化為.pem文件擅这,命令如下:

????????????openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12

????????????openssl pkcs12 -nocerts -out PushChatKey.pem -in disPush.p12

? (3)如果服務端是java寫的,那么用下面的命令生成P12文件景鼠。

? ???????? 用certificate和the key創(chuàng)建PKCS#12格式的文件仲翎。

(A)openssl pkcs12 -export -in PushChatCert.pem -inkey PushChatKey.pem -certfile CertificateSigningRequest.certSigningRequest -name "push" -out testPush.p12

或:openssl pkcs12 -export -in PushChatCert.pem -inkey PushChatKey.pem -name "push" -out testPush.p12

注意: 如果報錯”unable to load certificates”,把第三條命令的-certfile CertificateSigningRequest.certSigningRequest 去掉就好

(B)如果服務端是PHP寫的,那么用下面的命令生成CK文件:命令行如下:

? ? ? cat PushChatCert.pem PushChatKey.pem > ck.pem

到此為止铛漓,推送需要的文件就全部制作完成了溯香。

為了測試證書是否工作,執(zhí)行下面的命令:

telnet gateway.sandbox.push.apple.com 2195

它將嘗試發(fā)送一個規(guī)則的浓恶,不加密的連接到APNS服務逐哈。如果你看到上面的反饋,那說明你的MAC能夠到達APNS问顷。按下Ctrl+C關閉連接昂秃。如果得到一個錯誤信息禀梳,那么你需要確保你的防火墻允許2195端口。一般這里都不會出現什么問題肠骆。

下面我們要使用我們生成的SSL證書和私鑰來設置一個安全的鏈接去鏈接蘋果服務器:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

執(zhí)行完這一句命令后需要我們輸入密語:

Enter pass phrase for PushChatKey.pem:這個密碼是你在生成PushChatKey.pem文件時設置的密碼算途,我們輸入密碼按回車

你會看到一個完整的輸出,讓你明白OpenSSL在后臺做什么蚀腿。如果鏈接是成功的嘴瓤,你可以隨便輸入一個字符,按下回車莉钙,服務器就會斷開鏈接廓脆,如果建立連接時有問題,OpenSSL會給你返回一個錯誤信息磁玉。

?當你在最后的時候你看到這樣說明你已經成功了:

CONNECTED(00000003)

depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa isincorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust CertificationAuthority - L1C

verify error:num=20:unable to get local issuercertificate

verify return:0

---

Certificate chain

?0s:/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=iTMSEngineering/CN=gateway.sandbox.push.apple.com

? i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated byreference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C

?1s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated byreference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C

?? i:/O=Entrust.net/OU=www.entrust.net/CPS_2048incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.netCertification Authority (2048)

---

Server certificate

-----BEGIN CERTIFICATE-----

MIIFGzCCBAOgAwIBAgIETBz90jANBgkqhkiG9w0BAQUFADCBsTELMAkGA1UEBhMC

……省略……

fMGbLqkGn8YogdPqe5T1

-----END CERTIFICATE-----

subject=/C=US/ST=California/L=Cupertino/O=AppleInc./OU=iTMS Engineering/CN=gateway.sandbox.push.apple.com

issuer=/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa isincorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust CertificationAuthority - L1C

---

No client certificate CA names sent

---

SSL handshake has read 2731 bytes and written 2165 bytes

---

New, TLSv1/SSLv3, Cipher is AES256-SHA

Server public key is 2048 bit

Secure Renegotiation IS supported

Compression: NONE

Expansion: NONE

SSL-Session:

??? Protocol? : TLSv1

??? Cipher??? : AES256-SHA

??? Session-ID:

??? Session-ID-ctx:

??? Master-Key:C7A47EED5E1F5……省略……369D4

??? Key-Arg?? : None

??? Start Time:1361862882

??? Timeout?? : 300 (sec)

??? Verify return code: 0 (ok)

---

3停忿、APNS地址

測試地址gateway.sandbox.push.apple.com:2195

發(fā)布地址 gateway.push.apple.com:2195

測試的地址用的是沙盒,發(fā)布地址是不同的蚊伞。發(fā)布軟件的時候記得改過來

4席赂、要注意順序問題,一定要按照這個順序來:

生成鑰匙串請求 -->配置下載開發(fā)證書-->? 配置App ID 时迫,配置颅停、下載SSL證書-->Provisioning證書

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市掠拳,隨后出現的幾起案子癞揉,更是在濱河造成了極大的恐慌,老刑警劉巖溺欧,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喊熟,死亡現場離奇詭異,居然都是意外死亡胧奔,警方通過查閱死者的電腦和手機逊移,發(fā)現死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龙填,“玉大人胳泉,你說我怎么就攤上這事⊙乙牛” “怎么了扇商?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宿礁。 經常有香客問我案铺,道長,這世上最難降的妖魔是什么梆靖? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任控汉,我火速辦了婚禮笔诵,結果婚禮上,老公的妹妹穿的比我還像新娘姑子。我一直安慰自己乎婿,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布街佑。 她就那樣靜靜地躺著谢翎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沐旨。 梳的紋絲不亂的頭發(fā)上森逮,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音磁携,去河邊找鬼褒侧。 笑死,一個胖子當著我的面吹牛颜武,可吹牛的內容都是我干的璃搜。 我是一名探鬼主播拖吼,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼鳞上,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吊档?” 一聲冷哼從身側響起篙议,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怠硼,沒想到半個月后鬼贱,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡香璃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年这难,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葡秒。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡姻乓,死狀恐怖,靈堂內的尸體忽然破棺而出眯牧,到底是詐尸還是另有隱情蹋岩,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布学少,位于F島的核電站剪个,受9級特大地震影響,放射性物質發(fā)生泄漏版确。R本人自食惡果不足惜扣囊,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一乎折、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侵歇,春花似錦笆檀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至枷遂,卻和暖如春樱衷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酒唉。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工矩桂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痪伦。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓侄榴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親网沾。 傳聞我的和親對象是個殘疾皇子癞蚕,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內容