SfNetworkLibrary::VerifyResult SfNetworkLibrary::VerifyX509CertChain(
const std::vector<std::string>& cert_chain,
const std::string& hostname,
const std::string& auth_type) {
在上面的Android Jelly bean 4.2.2代码中进行服务器身份验证。
我需要将此 DER编码字符串 std::vector<std::string> cert_chain
转换为 X509 格式。
我想进行此转换,以便我可以在openssl上设置此服务器证书。
SSL_CTX_use_certificate(ctx,x)
其中ctx
是上下文,x
是x509证书。
我可以使用d2i_x509
将DER编码的字符串转换为x509吗?
但是在这种情况下,我们有字符串vector<string>&cert_chain
的向量,那么我该如何转换呢?
答案 0 :(得分:0)
我想你想在cert_chain verctor中的所有证书上调用d2i_x509()。如果是这种情况,对于向量中的每个元素,将字符串转换为c string(char *)表示cstr。使用string :: c_str()获取c字符串(比如cstr)。现在调用d2i_x509(NULL,&amp; cstr,strlen(cstr))。
希望这有帮助。