首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X509Certificate2请求PIN

X509Certificate2请求PIN
EN

Stack Overflow用户
提问于 2016-08-08 20:40:06
回答 2查看 3K关注 0票数 2

我能够在.NET厚客户端应用程序中成功地识别客户端证书,并且用户能够成功地选择一个。

代码语言:javascript
复制
X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
var fcollection = store.Certificates.Find(X509FindType.FindByApplicationPolicy, "1.3.6.1.5.5.7.3.2", true);
// other stuff where user selects one of them

现在,我如何要求用户回答问题(例如,本例中的PIN )?

see有一个SignedXML.ComputeSignature()类,但是它需要一个字节流,我不知道它是从哪里来的(也许在certificate.RawData[]中?)。

我并没有真正感兴趣得到的实际别针与我的卡/别针匹配。

编辑:

我试着用智能卡上的私钥(甚至用它加密),但是我没有被问到我的密码。

代码语言:javascript
复制
RSACryptoServiceProvider rsacsp = (RSACryptoServiceProvider)certificate.PrivateKey;
UnicodeEncoding ByteConverter = new UnicodeEncoding();
byte[] dataToEncrypt = ByteConverter.GetBytes("Data to Encrypt");
var encryptedData = RSAEncrypt(dataToEncrypt, rsacsp.ExportParameters(false), false);
EN

回答 2

Stack Overflow用户

发布于 2016-12-12 17:09:31

看起来,当我调用RSACryptoServiceProvidersa.Decrypt时,PIN请求就会发生。

下面是在控制台应用程序中非常适合我的示例代码:

http://blog.aggregatedintelligence.com/2010/02/encryptingdecrypting-using.html

在ASP.NET中要简单得多(除了所有的IIS配置麻烦/谜团.)。

票数 1
EN

Stack Overflow用户

发布于 2016-08-08 20:56:17

如果这是智能卡,则当您尝试使用证书的私钥时,将出现引脚提示。

您需要以某种方式使用证书,并验证结果。例如,您可以使用证书对某些内容进行签名。一旦该签名操作发生,就会出现引脚提示。

如果您真的不需要“使用”证书,只想验证它在那里并且用户知道引脚,那么您需要某种工作证明。证书可用于对挑战进行签名,远程服务器可以使用属于受信任根的密钥验证签名。记住,这是很难得到正确的,例如,确保你是不开放的重播攻击,等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38838137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档