首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chilkat:在Windows 10 64b中使用比利时eid签署文档时出现问题

Chilkat:在Windows 10 64b中使用比利时eid签署文档时出现问题
EN

Stack Overflow用户
提问于 2019-07-24 17:38:08
回答 1查看 66关注 0票数 0

有很长一段时间,我使用奇尔卡特来签署密室,...没有任何问题。但现在我在Windows10 (64b)上用它制作带有比利时id的签名文件时遇到了一些问题(它在Windows1032b上有效)。软件不要求提供PIN码,所以不可能签名。

我试图升级到最新版本的chilkat (我有一个旧版本的许可证),我更新了eid中间件,但没有成功。我用另一个软件试过了,签名没有问题。

下面是我的代码:

代码语言:javascript
复制
CkCrypt2 crypt;
CkCsp csp;
crypt.UnlockComponent("Start my 30-day Trial");

CkCreateCS ccs;
CkCertStore *p_certStore = 0;
ccs.put_ReadOnly(true);
p_certStore = ccs.OpenCurrentUserStore();
CkCert *p_cert = 0;

CkString ckS1;
CkString ckS2;

p_cert = p_certStore->FindCertBySerial(csCertSerialNumber);
delete p_certStore;

success = csp.SetProviderMicrosoftEnhanced();
success = csp.SetProviderMicrosoftStrong();
success = csp.SetProviderMicrosoftRsaAes();
iCount = csp.SetHashAlgorithm("sha-1");
    //crypt.SetCSP(&csp);
    crypt.SetCSP(csp);
    crypt.put_IncludeCertChain(false);

    iCount = csp.get_NumSignatureAlgorithms();
    for(i=0;i<iCount;i++)
        {
        csp.NthSignatureAlgorithm(i,ckS1);
        csAlgorithm.Format("%s",ckS1);
        }
crypt.SetSigningCert(*p_cert);  

success = crypt.CreateP7S(csFileToSign,csSignatureFile);

在Windows1064b上,我无法输入PIN码,加密失败

作为错误,我收到:签名失败。secStatus: 0x106谁有办法帮我?

EN

回答 1

Stack Overflow用户

发布于 2019-07-24 19:20:58

尝试使用带有CkCert::LoadFromSmartcard方法的最新版本的Chilkat。

https://www.example-code.com/cpp/load_certificate_on_smartcard_in_reader.asp

您也可以通过编程方式设置个人识别码,如下所示:https://www.example-code.com/cpp/cades_bes_smartcard.asp

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

https://stackoverflow.com/questions/57179809

复制
相关文章

相似问题

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