X.509证书具有签名值。
我要使用根CA或中间CA的公钥来验证客户端证书中的签名。
我知道他们两个人的信息。但是我不知道需要什么消息。
我想问问生成签名值需要什么消息?
仅需要颁发者信息或主题名称(十六进制)?还是颁发者在生成证书时是任意的?
答案 0 :(得分:0)
验证签名还不够,您需要验证证书链和所有相关的策略约束。在Windows / C中,您可以使用CertGetCertificateChain(https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-certgetcertificatechain),但是每个平台都有解决此问题的方法。它比大多数人意识到的要复杂得多(https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf),因此请坚持使用平台API进行此验证。