繁体   English   中英

使用ukey上的密钥/证书对数据进行签名

[英]Use key / certificate on ukey to sign data

我想从ukey获得证书,并签署数据。 现在,我可以获取它,并成功完成了控制台应用程序。 但是,当我将其作为Internet Explorer的OCX控件使用时,它将无法正常工作。

当我使用以下功能时:

CryptAcquireContext(&hProvder, NULL, my_provder_name, PROV_RSA_FULL, 0)

它失败,返回nte_bad_keyset

当我使用CRYPT_NEWKEYSETCRYPT_MACHINE_KEYSET而不是0 ,数据签名失败。

如何使用ukey创建签名?

CryptAcquireContext(&hProvder,NULL,my_provder_name,PROV_RSA_FULL,0);

您想获得对签名文件很有帮助的csp。在桌面应用程序中,可以将函数与诸如此类的参数一起使用。但是在浏览器中却不能。 我们想要获取与当前用户关联的默认密钥容器。 但是,创建证书时,可以将它们放置在默认容器之外的其他密钥容器中,因此默认容器不存在。 为什么? 该问题似乎源于第二个参数。 因此,我们必须指定密钥容器的名称作为第二个参数。 像这样:CryptAcquireContext(&hProvder,container_name,my_provder_name,PROV_RSA_FULL,0);

暂无
暂无

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

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