0

从 pkcs12 文件中,我使用以下命令提取了私钥和证书 - PKCS12_parse(p12, argv[2], &privatekey, &cert, &ca);

现在,我需要使用私钥和证书来使用 xmlsec 库对 XML 进行签名。

但是, xmlSecCryptoAppKeyLoad() 需要 const char* 格式的密钥。

我该如何进行转换?

或者,我可以使用 xmlSecCryptoAppKeyLoadMemory() 和 privatekey 而无需进行转换吗?

4

1 回答 1

1

如果您使用XMLSEC-OpenSSL 接口,则xmlSecOpenSSLEvpKeyAdopt()函数会从 OpenSSL 加载 xmlsec 密钥对象EVP_PKEY *,而xmlSecOpenSSLKeyDataX509AdoptKeyCert()会加载 OpenSSL X509 证书。

于 2010-07-21T23:05:29.687 回答