我已经查看了关于SSlStream类和关于证书的大约10-15个不同的页面,并且我还没有找到完全向我解释的一切。所以我有一堆问题。我有几个关于SslStream类和关于证书的问题
我目前正在研究一些SslStream代码,并对证书有疑问。从我的研究看来,如果我们使用TSL12,则服务器需要证书。而且客户端需要证书似乎是可选的。
1)现在,如果我们设计一个客户端需要证书的系统,我们是否使用客户端和服务器的相同证书?或者他们都使用不同的?
2)同时查看Microsoft SslStream帮助页面: https://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v=vs.110).aspx 代码如何知道它们是否是预期的证书?
3)在签名项目的Property页面上,您可以创建一个测试证书。当你点击该按钮时,它会要求输入密码。如果使用密码,那将如何影响SslStream代码?上面的Microsoft帮助页面上的代码根本不涉及?
4)一旦我有服务器和客户端的证书,我可以将它们放在一个目录中,或者我需要将它们放在存储中吗?
谢谢。
因此,如果服务器有一个有效的证书,并假设有人删除它,并提出一个新的有效证书,一切仍然会工作?从你所说的话,客户关心的唯一事情就是认证还没有过期。 – ashlar64
是的。但是,如果服务器证书根CA没有在您的信任机构中,那么在您对客户机进行验证期间它将会失败。并且客户端还检查服务器证书属性是否符合要求(例如,域名是否正确) –
只是好奇,您如何确保证书在受信任的机构中? (我们在这里不涉及网络浏览器。) – ashlar64