证书的私钥

本文关键字:私钥 证书 | 更新日期: 2023-09-27 18:25:21

我连接到服务器,并在作为客户端进行身份验证后

sslStream = new SslStream(_serverStream, false, SslCertificateValidatorCallback);
sslStream.AuthenticateAsClient(host);

我想使用已收到的证书作为服务器。有可能吗?为此,我需要私钥,但这个证书没有。

所以我的问题是:1.如果我有带公钥的证书,我可以向该证书添加私钥吗?2.我可以根据收到的公钥和私钥创建新证书吗?

任何想法对我都很有帮助。

感谢

证书的私钥

我建议对证书加密/非对称加密进行一些研究,因为您的问题表明在这方面缺乏了解。不想粗鲁,只是说说而已。

为了将证书用作服务器,您必须已经拥有证书的私钥。

简而言之:

  1. 服务器绑定到端口并拥有一个带有公钥/私钥对的证书
  2. 向服务器发出请求
  3. 客户端使用证书验证服务器的标识
  4. 如果有效通信继续
  5. 公钥用于加密到服务器的流量
  6. 服务器使用其私钥解密流量

需要注意的是,证书通常只用于交换对称密钥(对称加密更快)。因此,在验证证书后,将进行密钥交换,并使用对称加密密钥恢复通信。

这是一篇让你开始的文章这里是

要具体回答您的问题:1.没有2.有可能"欺骗"证书-然而,这将是顽皮的,大多数(好的)客户端都会抓住并阻止任何进一步的流量发生