当前位置: 首页 > news >正文

pfx证书与cer证书的区别

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

207.11.13 update:证书格式在线转换 

1.PFX是带有私钥的证书(包含公钥和私钥) 
由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名(文件的扩展名可以为pfx或p12)。 

2.CER二进制编码的证书(只包含公钥) 
证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。 

3.Base64编码的证书(只包含公钥) 
证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。

如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。

如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密

======================================

从pfx导出公、私钥

======================================

从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)

1、提取密钥对(如果pfx证书已加密,会提示输入密码。)
       openssl pkcs12 -in 1.pfx -nocerts -nodes -out 1.key

2、从密钥对提取私钥
       openssl rsa -in  1.key -out 1_pri.key

3、从密钥对提取公钥
       openssl rsa -in 1.key -pubout -out 1_pub.key

4、因为RSA算法使用的是pkcs8模式补足,需要对提取的私钥进一步处理(可选)

       openssl pkcs8 -in 1_pri.key -out 1_pri.p8 -outform der -nocrypt -topk8

================================

将pfx成一个cer

================================

openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

另:

apple developer中关于CSR证书请求文件(本机生成Cert Signing Request),它只是包含公钥的一个文件文件,传到apple开发者网站,去下载apple的对此商家签名后的公钥,用以后续开发操作。

另:如果生成tomcat需要的证书文件

keytool -import -v -trustcacerts -storepass 123456 -alias root -file xxx.im.crt -keystore xxx.jks

参考

http://blog.chinaunix.net/uid-24709751-id-3475550.html

http://blog.csdn.net/wangshfa/article/details/9110383

http://www.openssl.org/docs/apps/pkcs12.html

http://blog.csdn.net/blade2001/article/details/9787295

SSL证书:在应用HTTPS之前,用户应先配置SSL证书。SSL证书是由证书授权中心(CA)签发的对用户公钥的认证。证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。

HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。

SSL:Secure Sockets Layer。SSL是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用 SSL 来实现安全的通信。

TLS:Transport Layer Security Protocol。TLS是IETF制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。TLS也经常用SSL来指代。

CA:即证书授权中心(CA, Certificate Authority)。CA是负责签发证书、认证证书、管理已颁发证书的机关。用户向CA提出申请后,CA负责审核用户信息,然后对关键信息利用私钥进行”签名”,并公开对应的公钥。客户端可以利用公钥验证签名。

非对称加密:即常见的RSA、DH、EC等算法,算法特点是密钥成对出现,一般称为公钥(公开)和私钥(保密),公钥加密的信息只能私钥解开,私钥加密的信息只能公钥解开。公钥对外公开,私钥由服务器保存。因此掌握公钥的不同客户端之间不能互相解密信息,只能和掌握私钥的服务器进行加密通信,服务器可以实现1对多的通信,客户端也可以用来验证掌握私钥的服务器身份。

CSR:CSR是Certificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时所生成的证书请求文件。证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。

PEM:Openssl所使用的文档格式。RFC 1421-1424。

转载于:https://my.oschina.net/swingcoder/blog/673299

相关文章:

  • mysql互换表中两列数据方法
  • ASP.NET Core 指定环境发布(hosting environment)
  • [android] 手机卫士黑名单功能(ListView优化)
  • sqlserver去重复数据
  • Quartz学习总结(1)——Spring集成Quartz框架
  • Gearman + PHP 实现分布式对象调用
  • JAVA数据库编程
  • DEDECMS之三 首页、列表页怎么调用文章内容
  • 在opencv中实现中文输出
  • 使用wget下载xcode
  • Java接口中的字段
  • jar包启动与停止
  • 怎么使用微信JSSDK的自定义分享功能
  • YII学习
  • 因为安迪的一句话,这2万5千人凭空多出9亿财富!_财经_腾讯网
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Android 控件背景颜色处理
  • Android框架之Volley
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • ES6之路之模块详解
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • java正则表式的使用
  • java中的hashCode
  • LintCode 31. partitionArray 数组划分
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • SOFAMosn配置模型
  • Vim Clutch | 面向脚踏板编程……
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 面试遇到的一些题
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 三栏布局总结
  • 使用SAX解析XML
  • 算法之不定期更新(一)(2018-04-12)
  • 《天龙八部3D》Unity技术方案揭秘
  • FaaS 的简单实践
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #考研#计算机文化知识1(局域网及网络互联)
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (33)STM32——485实验笔记
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Oracle)SQL优化技巧(一):分页查询
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (规划)24届春招和25届暑假实习路线准备规划
  • (译)2019年前端性能优化清单 — 下篇
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转载)Google Chrome调试JS
  • **python多态
  • ./configure,make,make install的作用(转)
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Core引入性能分析引导优化