mirror of
https://github.com/certimate-go/certimate.git
synced 2026-06-22 21:05:48 +08:00
36 lines
828 B
Go
36 lines
828 B
Go
package cert
|
|
|
|
import (
|
|
"crypto/x509"
|
|
)
|
|
|
|
// 比较两个 x509.Certificate 对象,判断它们是否是同一张证书。
|
|
//
|
|
// 入参:
|
|
// - a: 待比较的第一个 x509.Certificate 对象。
|
|
// - b: 待比较的第二个 x509.Certificate 对象。
|
|
//
|
|
// 出参:
|
|
// - 是否相同。
|
|
func EqualCertificates(a, b *x509.Certificate) bool {
|
|
if a == nil || b == nil {
|
|
return false
|
|
}
|
|
|
|
return a.Equal(b)
|
|
}
|
|
|
|
// 与 [EqualCertificates] 方法类似,但入参是 PEM 编码的证书字符串。
|
|
//
|
|
// 入参:
|
|
// - a: 待比较的第一个证书 PEM 内容。
|
|
// - b: 待比较的第二个证书 PEM 内容。
|
|
//
|
|
// 出参:
|
|
// - 是否相同。
|
|
func EqualCertificatesFromPEM(a, b string) bool {
|
|
aCert, _ := ParseCertificateFromPEM(a)
|
|
bCert, _ := ParseCertificateFromPEM(b)
|
|
return EqualCertificates(aCert, bCert)
|
|
}
|