在服务器端,我有自签名 CA(证书和私钥)。我使用它们来颁发我的设备证书,并且我想确保如果远程证书未由 CA 签名,则会出现异常。
我指的是下面的链接,但似乎它们对我不起作用,请帮助:
在服务器端,我有自签名 CA(证书和私钥)。我使用它们来颁发我的设备证书,并且我想确保如果远程证书未由 CA 签名,则会出现异常。
我指的是下面的链接,但似乎它们对我不起作用,请帮助:
当您收到设备证书时,您将使用 CA 证书验证其签名。这就是您所需要的(但您需要记住,当 CA 证书过期并重新颁发时,您必须同时替换设备证书或使用多个 CA 验证设备证书,以确保您允许由以前的 CA 签署的设备证书证书。
我正在关注下面的链接,使用 BouncyCastle 来执行此操作,它工作正常。
C# 如何验证 Root-CA-Cert 证书 (x509) 链?
Org.BouncyCastle.X509.X509Certificate caCert =
new X509CertificateParser().ReadCertificate(CaCertBytes[]); Org.BouncyCastle.X509.X509Certificate remoteCert =
new X509CertificateParser().ReadCertificate(remoteCertBytes[]);
尝试
{
remoteCert.Verify(caCert.GetPublicKey());
结果=真;
}
捕捉(异常前)
{
结果 = 假;
}
如果 remoteCert 没有被 caCert 签名,就会出现异常。