1、把.cer的SSL证书转换为.pem文件,执行命令:

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

在桌面上会生成一个PushChatCert.pem文件

2、把私钥Push.p12文件转化为.pem文件:

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

这里需要我们输入密码,这个密码也就是我们导出p12文件时的密码,也就是我们上面设置的abcabc。然后,需要我们对生成的pem文件设置一个密语,这里我们推荐还是用上面这个abcabc,防止混乱(当然你也可以设置成别的更有意义的密语),这里的密语是要告诉我们服务器的。这样,桌面上又会生成一个PushChatKey.pem文件

3、对生成的这两个pem文件再生成一个pem文件,来把证书和私钥整合到一个文件里:

cat PushChatCert.pem PushChatKey.pem > ck.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:

我们输入abcabc按回车

你会看到一个完整的输出,让你明白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)

---

在这里提醒一下,也许你会看到像我这样的提示:verify error:num=20:unable to get local issuercertificate

verify return:0

其实是没问题的。

java 生成pem_生成pem文件 - The NoteBook of EricKong - BlogJava相关推荐

  1. 使用Java代码生成RSA公私钥的.pem文件

    大家好,我是神韵,是一个技术&生活博主.出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己.二是希望我的文章可以帮到大家.欢迎大家留言讨论,你们的行动将是我无限的动力. 本篇主题是 ...

  2. 妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件

    大家好,我是神韵,是一个技术&生活博主.出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己.二是希望我的文章可以帮到大家.欢迎来点赞打卡,你们的行动将是我无限的动力. 本篇主题是: ...

  3. 使用key和pem文件生成 pfx 或 jks 文件

    1.准备好 key 和 pem 文件 server.key server.pem 2.生成 pfx 文件 openssl pkcs12 -export -out server.pfx -inkey s ...

  4. java使用ireport生成报表_JasperReport(3)——Java简单使用IReport生成的文件建立报表...

    先看看设计的报表样式: reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed.IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该p ...

  5. 生成pfx文件需要在服务器上执行,PEM文件和private.key文件生成IIS服务器所需的pfx文件(配置SSL用)...

    第一步:输入域名,点击"创建免费的SSL证书"按钮,如图 第二步:输入邮箱,点击创建,如图 创建成功后,需要进行dns验证,结果图如下: 第三步:在域名所在的云服务器上,添加域名解 ...

  6. java编译后生成字节码_请问java源文件编译后怎么生成字节码文件?

    比如,有的java源程序生成一个字节码文件,带有内部类的生成两个.可是有一种情况怎么回事呢?importjava.awt.*;importjavax.swing.*;importjava.awt.ev ...

  7. java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo

    ## Java实现PDF生成并且打印pdf文件(附demo) #### 目录: 0. 效果预览 1. 准备环境 2. Java如何调用打印机进行打印 3. Java如何生成pdf打印文件 4. 实现p ...

  8. eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件

    导读: 最近在看 Flink 源码的时候发现到一段实用的代码,该代码实现了 java 动态编译以及生成 jar 文件.将其进行改进后可以应用到我们的平台上,实现在平台页面上编写 java 代码语句,提 ...

  9. java testng 源代码_根据测试用例的java源码自动生成TestNG的XML文件

    1.读取当前项目目录下的所有.java文件,过滤出含有@Test标识的java源文件 2.读取java文件内容,解析出包名.类名.方法名.使用Vector存储,第一个元素为包名,第二个元素为类名,从第 ...

  10. java中如何生成可执行的jar文件

    java中如何生成可执行的jar文件最简单的方法就是:jar -cfe Card.jar CardLayoutDemo CardLayoutDemo$1.class CardLayoutDemo$my ...

最新文章

  1. Android音量控制曲线
  2. 小程序语音识别+php,微信小程序之语音识别(附小程序+服务器源码)
  3. [转]微软发布WF教程及大量示例
  4. 简单的石头剪刀布(机器胜率略高)
  5. 并联串联混合的电压和电流_串、并联电路中的电流与电压规律
  6. 计算1到N的十进制数中1的出现次数
  7. VS2003转VS2010 fatal error C1189: #error
  8. idea android 模块,IntelliJ IDEA 12 - 新的Android应用程序模块向导失败,“无法找到模块的资源目录”...
  9. Shell——流程控制
  10. httpclient base64 文件上传_代码级别的上传下载神器
  11. 解决重启VCSA 6.0,访问vsphere web client提示:503 Service Unavailable错误
  12. SAP License:SAP 初学者指南
  13. 如何将道具传递给{this.props.children}
  14. C# 设置Windows程序窗口为穿透状态
  15. Jdk8 中文 api(百度网盘免费下载)
  16. 多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里
  17. Android 面试题(答案最全) 转:http://www.jobui.com/mianshiti/it/android/2682/
  18. “磨刀”真的不误“砍柴”工吗?
  19. 实话实说!猿如意大测评!助力coding!
  20. 微信小程序如何使用SCSS

热门文章

  1. nginx 上传文件漏洞_nginx 0day漏洞 上传图片可入侵百万台服务器
  2. JAVA中小型医院信息管理系统源码 医院系统源码
  3. VUE生成二维码或条形码
  4. python编程符号大全-python符号大全
  5. 浙江大学深蓝质感简约答辩PPT模板
  6. ARP欺骗,DNS欺骗和图片嗅探——ettercap软件的使用
  7. react在线编辑器
  8. Linux安装缺少字体包,linux版wps-office安装缺少的字体
  9. 全面了解CAN总线协议
  10. 【jzoj5053】【石子游戏】【搜索】