2
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,那么我该如何转换呢?

4

1 回答 1

0

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

希望这可以帮助。

于 2013-10-22T06:36:52.690 回答