Golang:验证证书是使用私钥签名的

时间:2017-06-27 20:11:31

标签: ssl go x509

我将应用程序从php移植到go并且无法弄清楚如何验证SSL证书是否由我们的私钥为给定服务器签名。

在php中简单地说: openssl_x509_check_private_key($ cert,$ pkey)

我可以验证主机的开始/结束日期和有效期,但无法找到实现此目的的方法。

1 个答案:

答案 0 :(得分:1)

openssl_x509_check_private_key的文档实际上并没有说明参数是什么。我将假设它们是PEM编码数据的文件名或直接PEM编码数据(字符串)。

在这种情况下,您只需拨打tls.LoadX509KeyPair或tls.X509KeyPair,即可检查证书和密钥是否匹配。

如果您对执行实际检查的低级API感兴趣,请检查tls.X509KeyPair的来源(搜索x509.ParseCertificate)。