我正在使用此功能:PEM_read_bio_PUBKEY读取公钥。 是否有任何替代功能,而不是PEM文件,您可以从X509 crt文件中读取密钥?
答案 0 :(得分:0)
我通过debuging openssl cli util找到了一个解决方案: 我下载了openssl代码并使用以下参数对其进行了调整: x509 -in E:/mycert.crt -pubkey -out E:/mypubkey.pem
static EVP_PKEY *getPubKeyFromCRT(const char *filename) {
EVP_PKEY *pubkey = NULL;
X509_STORE *ctx_store = NULL;
X509 *x509_crt = NULL;
ctx_store = X509_STORE_new();
//TODO ERROR HANDLING
X509_STORE_set_verify_cb(ctx_store, callback_verify_cert);
if(!X509_STORE_set_default_paths(ctx_store)) {
//TODO ERROR HANDLING
}
x509_crt = getCertFromCRTFile(filename);
//TODO ERROR HANDLING
pubkey = X509_get_pubkey(x509_crt);
}