资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

openssl校验SSL证书publickey是否配对

今天遇到一个很少遇到的关于SSL证书申请、安装问题,简要记录下来。

创新互联专业为企业提供嵊泗网站建设、嵊泗做网站、嵊泗网站设计、嵊泗网站制作等企业网站建设、网页设计与制作、嵊泗企业网站模板建站服务,10多年嵊泗做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

背景:SSL证书是private key + public key一起工作才能完成加密过程的。

大致来说就是client在handshake过程中先拿public key加密发送随机session encryption key set以及其它关键信息,通过public key密码的报文只能通过server端安装的SSL certificate key pair中的private key才能进行解密。

如果private key与public key不匹配,那么首先是server端在安装的时候就会提示密钥对不匹配并拒绝安装;其次,即便server允许安装不正确的证书对,那么在实际运行中,因为server无法解密client发送的加密报文,也会造成SSL handshake过程失败,进而导致session无法继续。

But, 证书购买过程会涉及到域名验证等等操作,可能在有的公司里面不会将此操作交由工程师完成,故作为运维人员的们即便明白SSL如何工作与申请、部署等等,也有可能等领导购买并生成SSL证书对。

那么拿到证书对的时候,应该如何验证private key与public key是不是一对的呢?

可以通过openssl工具public key信息提取然后进行精准的对比,命令如下

1). 针对private key(以rsa为例)

openssl rsa -pubout -in cert.key

2). 针对public key

openssl x509 -pubkey -noout -in cert.crt

然后对比两次输出,如果是正常的话,那么-----BEGIN PUBLIC KEY-----与-----END PUBLIC KEY-----之间的内容应该是完全一致的。

再借助diff工具,那么不必自己斗鸡眼对看长长的信息了

diff -eq <(openssl x509 -pubkey -noout -in cert.crt) <(openssl rsa -pubout -in cert.key)

如果是正常的话,上面的输出应该是与下面类似

writing RSA key

这表明,除了writing RSA key这部分内容以外均相同


当前标题:openssl校验SSL证书publickey是否配对
转载注明:http://cdkjz.cn/article/joocho.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

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

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220