HttpWebRequest 是否通过互联网发送证书的私钥?



我想知道在HttpWebRequest的头部分添加带有私钥的证书是否会向公众公开私钥?添加带有私钥的证书是否安全,如下所示?

public class WebClientHandler : WebClient
{
X509Certificate2 clientCertifiacte;
public WebClientHandler(X509Certificate2 clientCertifiacte)
{
this.clientCertifiacte= clientCertifiacte;
}
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
request.ClientCertificates.Add(clientCertifiacte);
return request;
}
}

在HttpWebRequest的头部分添加带有私钥的证书是否会向公众公开私钥?

不,不会。私钥将在客户端身份验证质询/握手期间使用。密钥本身不会发送/暴露在任何地方。

添加带有私钥的证书是否安全,如下所示?

必须这样做。没有私钥的证书不能用于身份验证,因为基于证书的身份验证需要数据签名,而没有私钥是不可能的。

最新更新