openssl校验SSL证书publickey是否配对-创新互联
今天遇到一个很少遇到的关于SSL证书申请、安装问题,简要记录下来。
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联建站面向各种领域:效果图设计等成都网站设计、成都营销网站建设解决方案、网站设计等建站排名服务。背景: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这部分内容以外均相同
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:openssl校验SSL证书publickey是否配对-创新互联
文章URL:http://hbruida.cn/article/dgjdjs.html