我将应用程序从php移植到go并且无法弄清楚如何验证SSL证书是否由我们的私钥为给定服务器签名。
在php中简单地说: openssl_x509_check_private_key($ cert,$ pkey)
我可以验证主机的开始/结束日期和有效期,但无法找到实现此目的的方法。
答案 0 :(得分:1)
openssl_x509_check_private_key的文档实际上并没有说明参数是什么。我将假设它们是PEM编码数据的文件名或直接PEM编码数据(字符串)。
在这种情况下,您只需拨打tls.LoadX509KeyPair或tls.X509KeyPair,即可检查证书和密钥是否匹配。
如果您对执行实际检查的低级API感兴趣,请检查tls.X509KeyPair的来源(搜索x509.ParseCertificate)。