服务器SSL证书验证失败

时间:2016-12-15 09:01:42

标签: c# security ssl ldap

我需要在使用LDAP + SSL连接到Active Directory服务时验证服务器的SSL证书。根证书是自签名的,我们正在运行本地CA服务。

问题是,即使创建服务器SSL证书的根证书安装到本地计算机帐户的“受信任的根证书颁发机构”证书存储中,服务器证书验证也会在客户端失败。客户端pc不属于域。

这是使用Server 2012 R2构建的测试环境。虽然我们为设置本地CA做了一切,但我们不确定本地CA服务是否正常运行。

在“LdapConnection.SessionOptions.VerifyServerCertificate”事件中验证服务器认证的示例代码。

_connection.SessionOptions.VerifyServerCertificate = (ldapCon, serverCertificate) =>
{
    X509Certificate2 certificate2 = new X509Certificate2(serverCertificate);

    //bool _result = certificate2.Verify(); //This code also returns false

    X509Chain _chain = new X509Chain(true);
    _chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
    _chain.ChainPolicy.RevocationFlag = X509RevocationFlag.ExcludeRoot;

    bool _result = _chain.Build(certificate2);
    if (!_result)
       MessageBox.Show("Verify failed without exception.");

    return _result;
};

0 个答案:

没有答案