检查 X509 证书是否与 CertificateRequest (CSR) 匹配
Check if X509 Certificate matches a CertificateRequest (CSR)
如何在 Go 中检查 x509 证书是否与 CSR 匹配(如果证书是根据特定 CSR 生成的)?我是否需要从 CSR 生成新证书并进行比较?
如果您的签名请求是 DER 格式,您可以使用标准库中的几个函数;首先解析 CSR (https://golang.org/pkg/crypto/x509/#ParseCertificateRequest) and then the certificate (https://golang.org/pkg/crypto/x509/#ParseCertificate)。解析后,您可以比较 public 键值。
标准但重要的安全说明:
请注意,这无论如何都不会验证证书。它可能使用安全,也可能不安全,并且可能已被替换或更改。
如何在 Go 中检查 x509 证书是否与 CSR 匹配(如果证书是根据特定 CSR 生成的)?我是否需要从 CSR 生成新证书并进行比较?
如果您的签名请求是 DER 格式,您可以使用标准库中的几个函数;首先解析 CSR (https://golang.org/pkg/crypto/x509/#ParseCertificateRequest) and then the certificate (https://golang.org/pkg/crypto/x509/#ParseCertificate)。解析后,您可以比较 public 键值。
标准但重要的安全说明:
请注意,这无论如何都不会验证证书。它可能使用安全,也可能不安全,并且可能已被替换或更改。