2013-10-22 34 views
1
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中将DER编码字符串的向量转换为x509

我想做这个转换,以便我可以在openssl上设置这个服务器证书。 SSL_CTX_use_certificate(ctx,x)其中ctx是上下文,x是x509证书。

我可以使用d2i_x509将DER编码的字符串转换为x509吗?

但在这种情况下,我们有字符串向量vector<string>&cert_chain,那么我该如何转换它?

回答

0

我想你想在cert_chain的所有证书上调用d2i_x509()。如果是这种情况,对于向量中的每个元素,将字符串转换为c字符串(char *)说cstr。使用string :: c_str()来获取c字符串(比如cstr)。现在调用d2i_x509(NULL,& cstr,strlen(cstr))。

希望这会有所帮助。

+0

嗨Pallavi,感谢您的答复。是否有一种方法可以将整个cert_chain转换为x509格式? – archana

+0

这有道理吗? cert_chain中的每个字符串对应不同的X509。对?如果是,那么如何从所有cert_chain字符串中获得单个X509? –

相关问题