猿问

x509 CheckSignature 参数

在 x509 库中,有一个名为CheckSignature. 我对传递什么有点迷茫signed。它应该是什么?

功能是

func (c *Certificate) CheckSignature(algo SignatureAlgorithm, signed, signature []byte) (err error)

https://golang.org/src/crypto/x509/x509.go?s=21660:21759#L623

我想加倍注意的另一件事是,如果我使用与证书关联的私钥对某些内容进行签名,该签名会通过此CheckSignature功能吗?


紫衣仙女
浏览 239回答 2
2回答

蝴蝶不菲

signed看起来是签名者的ASN.1 DER 格式的证书。

侃侃无极

您需要使用父证书来检查颁发的证书上的签名。例如:// parent is the parent x509.Certificate// cert is the certificate signed by the parent// alg is the algorithm used to sign, eg x509.PureEd25519alg := cert.SignatureAlgorithmerr := parent.CheckSignature(alg, cert.RawTBSCertificate, cert.Signature)if err != nil {    return errors.New("Signature invalid")}
随时随地看视频慕课网APP

相关分类

Go
我要回答