使用.NET Core与MailKit设置SSL握手时出现CryptographicException异常

时间:2019-03-05 23:36:40

标签: ssl .net-core openssl mailkit

我们想要做的是使用MailKit在客户端的Openshift环境中从pod(运行基于映像“ microsoft / dotnet”的Linux)发送电子邮件: https://github.com/jstedfast/MailKit

在尝试设置SSL握手时会抛出异常:

  • MailKit.Security.SslHandshakeException:发生错误时 尝试建立SSL或TLS连接。

  • System.Security.Cryptography.CryptographicException:发生错误
    在加密操作期间

我们也尝试使用.NET SMTP客户端,并且有效(使用安全连接)!不幸的是,此组件现在已过时,Microsoft建议使用MailKit。

遍历.NET源代码,引发的异常是通用的捕获所有异常,看起来像来自OpenSSL库返回的意外代码。不幸的是,我看不到如何获得错误代码(它是使用“ Debug.Fail”记录的,但是我无法设置跟踪以查看它),所以我不确定它是什么。

我已经编写了一个用于构建X509Chain的测试。当我们将“撤销模式”设置为“联机”(默认值)时,我们将获得异常。禁用撤销后,似乎可以建立链条。

当我在完全独立于客户端的Test Openshift环境上运行测试时,会收到以下错误,但看不到异常:“无法获得证书CRL”

关于吊销列表,我唯一注意到的是存在LDAP和HTTP URL。也许在处理LDAP URL时有问题?

任何帮助,将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是您应该向github.com/microsoft/dotnet报告的内容