从 pkcs12 文件中,我使用以下命令提取了私钥和证书 - PKCS12_parse(p12, argv[2], &privatekey, &cert, &ca);
现在,我需要使用私钥和证书来使用 xmlsec 库对 XML 进行签名。
但是, xmlSecCryptoAppKeyLoad() 需要 const char* 格式的密钥。
我该如何进行转换?
或者,我可以使用 xmlSecCryptoAppKeyLoadMemory() 和 privatekey 而无需进行转换吗?
如果您使用XMLSEC-OpenSSL 接口,则xmlSecOpenSSLEvpKeyAdopt()函数会从 OpenSSL 加载 xmlsec 密钥对象EVP_PKEY *
,而xmlSecOpenSSLKeyDataX509AdoptKeyCert()会加载 OpenSSL X509 证书。