我终于设法使用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代码以获取您感兴趣的数据。
然后,您可以迅速调用这些包装器函数以获取数据。