c - 在 Swift 中使用 OpenSSL stack_st_x509?

标签 c swift openssl cryptography stack

我终于成功地使用 OpenSSL 的 CMS_Verify 使代码能够在 Swift 中验证 CMS 签名。方法。现在我想使用STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms)获取用于签署消息的证书的方法。在 Swift 中,该调用的数据类型为 UnsafeMutablePointer<stack_st_X509> 。我能够获得该调用的返回值,所以我知道它成功了。我不知道的是如何提取其中的内容?

我正在阅读STACK API docs看来对 OpenSSL 堆栈值内容的访问是通过使用 OpenSSL 代码中的一堆宏来完成的。然而,这些宏并未在 Swift 中延续。

有谁知道我如何访问 stack_st_x509 Swift 中的数据?我对 OpenSSL API 不太熟悉,所以我有些困惑。

最佳答案

如果宏是访问数据的唯一方法,则无法从 swift 中执行此操作。您必须编写 C 或 Objective-C 代码来获取您感兴趣的数据。

然后您可以从 swift 调用这些包装函数来获取数据。

关于c - 在 Swift 中使用 OpenSSL stack_st_x509?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025139/

相关文章:

c - 在 C 中交换 unsigned long(8 字节)内的字节

swift - 解码 RealmSwift 类中的可选对象列表

ios - 主细节 iOS 应用程序有多个 "show detail"segues

bash - 使用 OpenSSL 生成质数

在 C 代码中使用 OpenSSL 进行明文签名

c++ - Eclipse-PDT:更改包含文件夹

python - 如何在C/C++程序中加载内核模块

ios - 在 Swift 中将对象添加到 NSMutableArray 时出错

c++ - x509 证书主题备用名称

linux - 如何以编程方式将程序的输出重定向到 SSL 套接字