欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

ios 制作推送证书的流程

发表日期:2018-01 文章编辑:小灯 浏览次数:2290

制作推送证书的流程:

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://dengtar.com/20494.html
相关开发语言
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨询
  • 在线咨询
  • 官方微信
  • 联系电话
    座机0755-29185426
    手机13699882642
  • 预约上门
  • 返回顶部