為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2018-01 文章編輯:小燈 瀏覽次數(shù):2630
制作推送證書(shū)的流程:
1. 首先我們要有生成一個(gè)Certificate Signing Request(也就是CSR)的請(qǐng)求文件。(在應(yīng)用程序里的使用工具中找到鑰匙串訪問(wèn))。
2. 登錄開(kāi)發(fā)者賬號(hào):
?(1)如果沒(méi)有為app創(chuàng)建APP ID的話需要先為APP創(chuàng)建APP ID
? ???????? 首先到accounts第二欄:點(diǎn)擊APP IDs ,點(diǎn)擊加號(hào),按照提示操作
?(2)如果有的話直接進(jìn)入第三步;
3. 創(chuàng)建發(fā)布證書(shū);點(diǎn)擊Certificates,development 點(diǎn)擊加號(hào) (此處省略一萬(wàn)字。。。)制作并下載,點(diǎn)擊done完成;
4. 創(chuàng)建配置文件(Provisioning files) 按照提示操作 制作并下載 點(diǎn)擊done完成
5. 雙擊第三步下載的發(fā)布證書(shū)進(jìn)行安裝,然后打開(kāi)鑰匙串,找到對(duì)應(yīng)的證書(shū),右鍵選擇導(dǎo)出,制作P12證書(shū)。
6. 到現(xiàn)在為止我們已經(jīng)獲取到了三個(gè)文件,將他們一起放在一個(gè)文件夾下;
7. 打開(kāi)terminal(終端),(位置:應(yīng)用程序à實(shí)用工具à終端),
鍵盤(pán)輸入cd到切換到桌面,我們那三個(gè)文件所在的位置,使用openssl 命令編譯
注釋?zhuān)涸谥v解之前先說(shuō)一下cd切換的目的:切換根目錄是要讀取前面創(chuàng)建的三個(gè)文件,如果大家不是在桌面放置的話需要將根目錄cd到你放置這三個(gè)文件的位置,如果不知道當(dāng)前目錄中都有那些文件夾,可以使用命令ls進(jìn)行查看
? (1)把.cer的SSL證書(shū)轉(zhuǎn)換為.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文件轉(zhuǎn)化為.pem文件,命令如下:
????????????openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
????????????openssl pkcs12 -nocerts -out PushChatKey.pem -in disPush.p12
?(3)如果服務(wù)端是java寫(xiě)的,那么用下面的命令生成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
(B)如果服務(wù)端是PHP寫(xiě)的,那么用下面的命令生成CK文件:命令行如下:
? ? ? cat PushChatCert.pem PushChatKey.pem > ck.pem
到此為止,推送需要的文件就全部制作完成了。
為了測(cè)試證書(shū)是否工作,執(zhí)行下面的命令:
telnet gateway.sandbox.push.apple.com 2195
它將嘗試發(fā)送一個(gè)規(guī)則的,不加密的連接到APNS服務(wù)。如果你看到上面的反饋,那說(shuō)明你的MAC能夠到達(dá)APNS。按下Ctrl+C關(guān)閉連接。如果得到一個(gè)錯(cuò)誤信息,那么你需要確保你的防火墻允許2195端口。一般這里都不會(huì)出現(xiàn)什么問(wèn)題。
下面我們要使用我們生成的SSL證書(shū)和私鑰來(lái)設(shè)置一個(gè)安全的鏈接去鏈接蘋(píng)果服務(wù)器:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
執(zhí)行完這一句命令后需要我們輸入密語(yǔ):
Enter pass phrase for PushChatKey.pem:這個(gè)密碼是你在生成PushChatKey.pem文件時(shí)設(shè)置的密碼,我們輸入密碼按回車(chē)
你會(huì)看到一個(gè)完整的輸出,讓你明白OpenSSL在后臺(tái)做什么。如果鏈接是成功的,你可以隨便輸入一個(gè)字符,按下回車(chē),服務(wù)器就會(huì)斷開(kāi)鏈接,如果建立連接時(shí)有問(wèn)題,OpenSSL會(huì)給你返回一個(gè)錯(cuò)誤信息。
?當(dāng)你在最后的時(shí)候你看到這樣說(shuō)明你已經(jīng)成功了:
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地址
測(cè)試地址gateway.sandbox.push.apple.com:2195
發(fā)布地址 gateway.push.apple.com:2195
測(cè)試的地址用的是沙盒,發(fā)布地址是不同的。發(fā)布軟件的時(shí)候記得改過(guò)來(lái)
4、要注意順序問(wèn)題,一定要按照這個(gè)順序來(lái):
日期:2018-04 瀏覽次數(shù):6774
日期:2017-02 瀏覽次數(shù):3448
日期:2017-09 瀏覽次數(shù):3674
日期:2017-12 瀏覽次數(shù):3542
日期:2018-12 瀏覽次數(shù):4839
日期:2016-12 瀏覽次數(shù):4592
日期:2017-07 瀏覽次數(shù):13658
日期:2017-12 瀏覽次數(shù):3522
日期:2018-06 瀏覽次數(shù):4278
日期:2018-05 瀏覽次數(shù):4454
日期:2017-12 瀏覽次數(shù):3568
日期:2017-06 瀏覽次數(shù):3993
日期:2018-01 瀏覽次數(shù):3957
日期:2016-12 瀏覽次數(shù):3922
日期:2018-08 瀏覽次數(shù):4439
日期:2017-12 瀏覽次數(shù):3726
日期:2016-09 瀏覽次數(shù):6443
日期:2018-07 瀏覽次數(shù):3220
日期:2016-12 瀏覽次數(shù):3240
日期:2018-10 瀏覽次數(shù):3392
日期:2018-10 瀏覽次數(shù):3501
日期:2018-09 瀏覽次數(shù):3591
日期:2018-02 瀏覽次數(shù):3609
日期:2015-05 瀏覽次數(shù):3536
日期:2018-09 瀏覽次數(shù):3316
日期:2018-06 瀏覽次數(shù):3444
日期:2017-02 瀏覽次數(shù):3882
日期:2018-02 瀏覽次數(shù):4346
日期:2018-02 瀏覽次數(shù):4190
日期:2016-12 瀏覽次數(shù):3586
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.