Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 7访问Windows X509证书存储_Delphi_Certificate_X509 - Fatal编程技术网

Delphi 7访问Windows X509证书存储

Delphi 7访问Windows X509证书存储,delphi,certificate,x509,Delphi,Certificate,X509,我的问题很简单:是否有一种使用Delphi7访问WindowsX509证书存储的简单方法 在问这个问题之前,我在谷歌上搜索过,但没有找到任何有用的信息。这不是你要找的吗? 还是搜索API包装器?最简单的方法是使用capicom,直接点击win capi API是痛苦的 注册com对象并从中创建typelib单元后 打开相应的存储,然后从中使用certificates()方法 变量 店铺:t店;; 证书:ICE证书; 证书:ICE证书2 store:=TStore.Create(无); 存储。打

我的问题很简单:是否有一种使用Delphi7访问WindowsX509证书存储的简单方法


在问这个问题之前,我在谷歌上搜索过,但没有找到任何有用的信息。

这不是你要找的吗?


还是搜索API包装器?

最简单的方法是使用capicom,直接点击win capi API是痛苦的

注册com对象并从中创建typelib单元后

打开相应的存储,然后从中使用certificates()方法

变量 店铺:t店;; 证书:ICE证书; 证书:ICE证书2 store:=TStore.Create(无); 存储。打开(CAPICOM\u当前用户\u存储,“我的”,CAPICOM\u存储\u打开\u允许的最大值或CAPICOM\u存储\u打开\u包括存档或CAPICOM\u存储\u打开\u仅现有); 证书:=存储.证书; 对于i:=1到certificates.count do 开始 证书:=作为ICertificate2的接口(证书项[i]); //使用证书 结束; store.close(); 商店。免费; capicom参考号位于


如果你不介意花钱,我从eldos那里听说了关于PKI Blackbox的好消息。

有一个复杂的库fom,它为使用X509证书和更多证书的工作添加了完整的支持;请阅读此处的完整说明:

请参阅ElX509CertificateClass类的参考


问候。

是的,CAPICOM也是我的选择。我以前用CAPICOM做过,但现在没有任何示例代码可用。 var store: TStore; certificates: ICertificates; certificate: ICertificate2 store := TStore.Create(nil); store.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY); certificates := store.Certificates; for i := 1 to certificates.count do begin certificate := IInterface(certificates.Item[i]) as ICertificate2; // work with the cert end; store.close(); store.Free;