• <ul id="cgeq2"></ul>
  • 歡迎您光臨深圳塔燈網絡科技有限公司!
    電話圖標 余先生:13699882642

    網站百科

    為您解碼網站建設的點點滴滴

    ios 制作推送證書的流程

    發表日期:2018-01 文章編輯:小燈 瀏覽次數:3052

    制作推送證書的流程:

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

    2. 登錄開發者賬號:

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

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

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

    3. 創建發布證書;點擊Certificates,development 點擊加號 (此處省略一萬字。。。)制作并下載,點擊done完成;

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

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

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

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

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

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

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

    ? ? ? ? ? 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創建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

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

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

    telnet gateway.sandbox.push.apple.com 2195

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

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

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

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

    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

    發布地址 gateway.push.apple.com:2195

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

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

    生成鑰匙串請求 -->配置下載開發證書-->? 配置App ID ,配置、下載SSL證書-->Provisioning證書


    本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.juherenli.com/20494.html
    相關開發語言