2013-10-22 66 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? –

相關問題