繁体   English   中英

证书的私钥

[英]Private key of the certificate

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

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

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

因此,我的问题是:1.如果我具有带公钥的证书,可以向该证书添加私钥吗? 2.我可以根据收到的带有公共和私有密钥的内容来创建新证书吗?

任何想法对我都会非常有帮助。

谢谢

我建议您对证书加密/非对称加密进行一些研究,因为您的问题表明对该领域缺乏理解。 并不是说要无礼,只是说。

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

简而言之:

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

应当注意,证书通常仅用于交换对称密钥(对称加密速度更快)。 因此,在验证证书之后,将进行密钥交换,并使用对称加密密钥恢复通信。

这里是让你开始的文章 在这里

要具体回答您的问题:1.否2.可以“欺骗”证书-但是,这很顽皮,并且大多数(好的)客户都可以抓住并阻止任何进一步的流量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM