我终于设法使用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中继承。

有谁知道我如何才能在Swift中访问stack_st_x509数据?我对OpenSSL API并不十分熟悉,因此有些困惑。

最佳答案

如果宏是访问数据的唯一方法,那么您将无法迅速进行访问。您必须编写C或Objective-C代码以获取您感兴趣的数据。

然后,您可以迅速调用这些包装器函数以获取数据。

08-16 10:01