C# 在ASP.Net中使用客户端证书进行数字签名

C# 在ASP.Net中使用客户端证书进行数字签名,c#,asp.net,digital-signature,private-key,C#,Asp.net,Digital Signature,Private Key,我正在尝试使用私钥对信息进行数字签名。我知道如何在带有.Net的桌面客户端应用程序中执行此操作,但不确定如何在ASP.Net中执行此操作。它将在使用IE8的内部网上使用。如果是通过ASP.Net完成的,我猜当用户在访问站点时键入他们的证书passowrd(https,双向SSL)时,私钥不会发送到服务器,但我不确定。如果无法访问服务器上的客户端私钥,那么如何在浏览器中签名?我可以使用javascript吗 编辑:我想首先应该知道这是否可以在服务器上完成,还是必须在客户端完成?客户端证书的私钥不会

我正在尝试使用私钥对信息进行数字签名。我知道如何在带有.Net的桌面客户端应用程序中执行此操作,但不确定如何在ASP.Net中执行此操作。它将在使用IE8的内部网上使用。如果是通过ASP.Net完成的,我猜当用户在访问站点时键入他们的证书passowrd(https,双向SSL)时,私钥不会发送到服务器,但我不确定。如果无法访问服务器上的客户端私钥,那么如何在浏览器中签名?我可以使用javascript吗


编辑:我想首先应该知道这是否可以在服务器上完成,还是必须在客户端完成?

客户端证书的私钥不会传输到服务器

如果你真的想/需要用客户端证书签署一些东西,那么你需要一个客户端组件。。。AFAIK这在javascript中是不可能的。。。有一些解决方案使用Flash、Silverlight、Java小程序作为ASP.NET页面的一部分来完成您的任务

完全在服务器端实现这一点是破坏安全性(关于客户端证书)IMHO的可靠标志