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

3

我正在将一款应用从php转换为go,并且无法弄清如何验证给定服务器的SSL证书是否由我们的私钥签名。

在php中只需要使用以下代码:

openssl_x509_check_private_key($cert, $pkey)

我可以验证主机的开始/结束日期和有效性,但是看不到可以这样做的方法。

1个回答

1
openssl_x509_check_private_key的文档实际上没有说明参数是什么。我会假设它们要么是PEM编码数据的文件名,要么是直接的PEM编码数据(字符串)。
在这种情况下,您可以简单地调用tls.LoadX509KeyPair或tls.X509KeyPair,这将检查证书和密钥是否匹配。
如果您对执行实际检查的低级API感兴趣,请检查tls.X509KeyPair的源代码(搜索x509.ParseCertificate)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接