如何在Mono下使用Let的加密证书?

时间:2017-11-09 14:04:15

标签: c# https mono lets-encrypt

我正在编写一个通过HTTPS实现REST API的程序。到目前为止,我已经在Windows下测试了它,通过向受信任的商店添加自签名证书,它工作正常。现在,我试图让它在Mono下的Linux服务器上工作,使用来自加密的真实证书,到目前为止我的尝试都没有成功。

我的第一次尝试是使用HttpListener,并使用Mono的httpcfg工具在服务器上安装证书。经过大量的反复试验,我设法将PEM证书转换为httpcfg可接受的PVK文件。但是,当我启动服务器并尝试通过HTTPS从浏览器连接到服务器时,服务器崩溃时出现System.IO.IOException: Remote prematurely closed connection错误,来自Mono。

无法找到原因的答案,并且希望我没有必要在机器上安装证书才能让它工作,我从HttpListener切换到SslStream,一直试图让测试程序与之合作。但是我再一次试图让它以某种形式接受Let的加密证书。我使用证书文件调用X509Certificate.CreateFromCertFile()的每次尝试都会导致System.NotSupportedException: The server mode SSL must use a certificate with the associated private key错误。

我需要做些什么才能让Let's加密证书在这里工作?似乎没有任何相关的文档。在这一点上,我希望SslStream能够正常工作,这样我就不必安装证书,但如果有HttpListener,我会再次安排CAN | Contact | Email | Order Ref 22 | C1 |blah@b | 23334 22 | C2 |blah@b | 23334 22 | C3 |blah@b | 23334 。让Mono接受它的方法。

0 个答案:

没有答案