我想使用来自其他CA X509证书的公钥来验证X509证书的签名(知道此证书是由此CA直接签名的)。我无法将CA证书添加到系统上受信任的根CA列表中。
X509Certificate
或X509Certificate2
都包含证书的哈希值(我可以使用GetCertHash()
方法检索它)。但这些都不包含检索证书签名的方法。请参阅下面的代码:
X509Certificate2 sslCert = new X509Certificate2(...);
X509Certificate2 CAcert = new X509Certificate2(...);
var rsa = CAcert.PublicKey.Key as RSACryptoServiceProvider;
rsa.VerifyHash(sslCert.GetCertHash(),CryptoConfig.MapNameToOID("SHA1"), ???)
是否有一些(可能不同的)这样做?