使用 Qt 获取系统中已安装的 p12 证书

Posted

技术标签:

【中文标题】使用 Qt 获取系统中已安装的 p12 证书【英文标题】:Getting p12 certificates already installed in system with Qt 【发布时间】:2011-02-15 14:49:18 【问题描述】:

我在 Google 做了一些研究,但无法找到获取系统中已安装的 CA 证书的方法

我的问题是我的应用程序应该通过 swissID 身份验证系统进行身份验证。 SwissID 提供存储证书的 USB 密钥。当用户将 USB 插入 soscket windows/MAC 时,会自动将 p12 证书安装到系统中。 我的问题是我找不到从操作系统获取此证书并将它们传递给 NetworkAccessManager 的方法。

编程语言是:C++ 框架:Qt4.7 操作系统:Windows/MacOS/Linux

感谢您的帮助。

谢谢 最好的祝福 塔伦·萨尔基相

【问题讨论】:

您询问的是什么操作系统、语言?请使用此附加信息更新您的问题 【参考方案1】:

我一直在寻找的是 QList QSslConfiguration::caCertificates (); 来自 Qt4 文档。

返回此连接的 CA 证书数据库。套接字在握手阶段使用 CA 证书数据库来验证对等方的证书。可以在握手之前使用 addCaCertificate()、addCaCertificates() 和 setCaCertificates() 对其进行调整。

【讨论】:

以上是关于使用 Qt 获取系统中已安装的 p12 证书的主要内容,如果未能解决你的问题,请参考以下文章

mac下 空密码P12证书如何安装

如何使用 javascripts forge 从 p12 证书中获取证书信息?

使用给定的 p12 证书连接到 https 站点

iOS - p12 证书

使用 PHP 从 p12 证书文件中获取信息

获取UDID的简单方法 和 P12证书无法导出问题