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

标签 c# asp.net digital-signature private-key

我正在尝试使用私钥对信息进行数字签名。我知道如何在 .Net 桌面客户端应用程序中执行此操作,但不确定如何在 ASP.Net 中执行此操作。它将在使用 IE8 的 Intranet 上使用。如果是通过 ASP.Net 完成的,我猜测当用户在访问站点(https、2-way SSL)时输入证书密码时,私钥不会发送到服务器,但我不确定。如果无法访问服务器上的客户端私钥,那么如何在浏览器中签名?我可以使用 JavaScript 吗?

编辑:我想首先知道这是否可以在服务器上完成还是必须在客户端上完成会有所帮助?

最佳答案

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

如果您确实想要/需要使用客户端证书签署某些内容,那么您需要一个客户端组件...据我所知,这对于 javascript 是不可能的...有一些解决方案使用 Flash、Silverlight、Java Applets 作为ASP.NET 页面的一部分,用于执行您要求的操作...

纯粹在服务器端执行此操作是安全性遭到破坏的明确标志(关于客户端证书)恕我直言。

关于c# - 在 ASP.Net 中使用客户端证书进行数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605565/

相关文章:

c# - 如何对任意大数字的 List<String> 进行排序?

javascript - 从 CodeBehind 调用 JavaScript 函数无法填充 getElementbyID

node.js - 如果我用 axios 调用它,digisigner 文档 api 会给出 Bad Request 错误

c# - WP8 项目 : The "CompileXaml" task failed unexpectedly

c# - VS2010有没有C#.NET的并发调试工具

c# - 委托(delegate).BeginInvoke

html - 无法将跨度和其中的元素设置到 div 的顶部

Java 存储过程作为 Java/.Net 互操作

java - 给定公共(public)指数和模数的 RSA 签名验证

security - 适合普通用户的简单数字签名