gpt4 book ai didi

delphi - 从 Delphi 访问 Mozilla 证书

转载 作者:行者123 更新时间:2023-12-03 15:02:31 25 4
gpt4 key购买 nike

我想从 Delphi (XE) 应用程序访问 Mozilla 产品(Firefox 和 Thunderbird)中存储的证书。首先,我想列出它们,接下来,如果能够管理它们(导入、导出、删除)并使用它们(签名),那就太好了。尽管使用 mozilla 支持的所有 token 会很棒,但软件 token 就足够了。

到目前为止,我尝试使用 XPCOM 和 http://d-gecko.svn.sourceforge.net/viewvc/d-gecko/trunk/德尔福绑定(bind)。然而,周围没有太多文档,我对所有术语和概念都有点困惑。我能做到的最好的办法是:

    var ns:nsIX509CertDB;
servMgr:nsIServiceManager;
p:Pchar;
begin
GRE_Startup;
NS_GetServiceManager(servmgr);
servMgr.GetServiceByContractID('@mozilla.org/security/x509certdb;1',NS_IX509CERTDB_IID,ns);
ns.FindCertNicknames(nil,1,count,p);
GRE_Shutdown;
end;

使用此代码,我确实获得了 certdb 对象的实例,并且我能够向它请求证书。然而,它似乎完全是空的(FindCertNicknames 的计数为 0),并且它对更改 OCSP 也没有反应(IsOcspOn 始终返回 true)。我认为我要么创建了新的证书库,要么需要以某种方式激活默认用户配置文件。

我还尝试将 softokn.dll 作为 PKCS#11 库访问。由于这似乎有某种 PKCS#11 API,因此响应不佳。 IE。 C_Initialize 上的 CKR_BAD_ARGUMENTS。

最后一个也是非常糟糕的方法是直接访问证书文件,因为它应该是“标准”NSS,但我真的不喜欢这种方式。

最佳答案

我们的 SecureBlackbox 通过 PKCS#11 与 softtokn.dll 配合使用,您可以使用 SecureBlackbox 提供的接口(interface)进行便捷的证书管理。

关于delphi - 从 Delphi 访问 Mozilla 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com