[英]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_NEWKEYSET
或CRYPT_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.