我连接到服务器并在作为客户端进行身份验证后
sslStream = new SslStream(_serverStream, false, SslCertificateValidatorCallback);
sslStream.AuthenticateAsClient(host);
我想将收到的证书用作服务器。可能吗?为此,我需要私钥,但这个证书没有私钥。
所以我的问题是: 1.如果我有公钥证书,我可以在该证书上添加私钥吗? 2.我可以根据收到的公钥和私钥创建新证书吗?
任何想法对我都非常有帮助。
由于
答案 0 :(得分:0)
我建议您对证书加密/非对称加密进行一些研究,因为您的问题表明该领域缺乏理解。不要试图粗鲁,只是说。
要将证书用作服务器,您必须已拥有证书的私钥。
简而言之:
应该注意,证书通常仅用于交换对称密钥(对称加密更快)。因此,在验证证书后,将进行密钥交换,并使用对称加密密钥恢复通信。
Here is an article to get you started And here
具体回答您的问题: 1.不 2.有可能“欺骗”证书 - 然而,这将是顽皮的,大多数(好的)客户会流行并阻止任何进一步的流量发生