2010-01-07 39 views
3

是否有任何openssl api函數可將PKCS7文件轉換爲PEM。我能夠使用PKCS12_parse()函數將PKCS12文件轉換爲PEM,PKCS12_parse()函數返回密鑰和給定密碼的證書。 pkcs7沒有類似的功能。是否有任何OpenSSL函數可以將PKCS7文件轉換爲PEM

我的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); 

回答

1

經過一些谷歌搜索我能夠做到這一點。

if(p7->d.sign->cert != NULL){ 
    PEM_write_X509(fp, sk_X509_value(p7->d.sign->cert, 0)); 
} 

其中P7是指向PKCS7 struct和FP是文件指針到PEM文件

相關問題