Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否有任何OpenSSL函数将PKCS7文件转换为PEM_C++_Openssl_Pkcs#7 - Fatal编程技术网

C++ 是否有任何OpenSSL函数将PKCS7文件转换为PEM

C++ 是否有任何OpenSSL函数将PKCS7文件转换为PEM,c++,openssl,pkcs#7,C++,Openssl,Pkcs#7,是否有任何openssl api函数将PKCS7文件转换为PEM。我能够使用PKCS12_parse()函数将PKCS12文件转换为PEM,该函数返回给定密码的密钥和证书。pkcs7没有类似的功能 我的pkcs7输入只有二进制格式的证书。我可以使用命令进行转换 openssl pkcs7 -inform DER -in input.p7b -printcerts -text 在C程序中如何实现这一点?我可以把它读到像这样的PKCS7结构中 FILE* fp; if (!(fp = fope

是否有任何openssl api函数将PKCS7文件转换为PEM。我能够使用PKCS12_parse()函数将PKCS12文件转换为PEM,该函数返回给定密码的密钥和证书。pkcs7没有类似的功能

我的pkcs7输入只有二进制格式的证书。我可以使用命令进行转换

openssl pkcs7 -inform DER -in input.p7b -printcerts -text
在C程序中如何实现这一点?我可以把它读到像这样的PKCS7结构中

 FILE* fp;
 if (!(fp = fopen("ca.p7b", "rb"))) { 
  fprintf(stderr, "Error reading input pkcs7 file\n" ); 
  exit(1); 
 } 
 PKCS7 *p7; 
 p7 = d2i_PKCS7_fp(cafp, NULL);

在谷歌搜索之后,我能够做到这一点

if(p7->d.sign->cert != NULL){
    PEM_write_X509(fp, sk_X509_value(p7->d.sign->cert, 0)); 
}
其中p7是指向pkcs7结构的指针,fp是指向PEM文件的文件指针