Hi all, Please apologize me if this is a dumb question. I am currently involved in project which I need to create key store which has functions like Java Key Store in C. My requirements is to store several X509 certificates with owner's certificate and private key in a pkcs12 file. And my programming interface must be capable of retrieving any of the certificate store in that key store file. I tried following command[1] to store my certificate, my private key, another x509 certificate and CA certificate and command worked well.
[1] openssl pkcs12 -export -in ksb_cert.pem -inkey ksb_priv_key.pem -CAfile ca_cert.pem -certfile sup_cert.pem -name "test" -out final_3.p12 But when I used following command[2] to view the content of that pkcs12 file, it only display the ksb_cert.pem, sup_cert.pem and provate key only. It didn't display the CA file. I tried several other options like removing -CAfile optiona and use -certfile option for storing ca cert. But every time the info command only output two certifcate and private key only. [2] openssl pkcs12 -info -in final_3.p12 Please can anyone help me in this issue. I want to store multiple certificates(say 5 extra certificates) in pkcs12 file. And why the -info command doesn't display CA cert file. Also I tried to programatically read the pkcs12 file without using "int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca)" and writing my own method using implementation details of the PKCS12_parse function. Here is my code copied from pkcs12_kiss.c just to try it: if(!pass || !*pass) { if(PKCS12_verify_mac(store->pkcs12_in, NULL, 0)) pass = NULL; else if(PKCS12_verify_mac(store->pkcs12_in, "", 0)) pass = ""; else { PKCS12err(PKCS12_F_PKCS12_PARSE, PKCS12_R_MAC_VERIFY_FAILURE); return -1; } }else if (!PKCS12_verify_mac(store->pkcs12_in, pass,-1)) { PKCS12err(PKCS12_F_PKCS12_PARSE, PKCS12_R_MAC_VERIFY_FAILURE); return -1; } But this PKCS12_verify_mac(store->pkcs12_in, pass,-1) function calls return 0 always even though I give the correct password. I use my own structure to store the PKCS12 structure. Can anyone please help me to solve this issue. Thanks in advance Milinda Lakmal -- http://wsaxc.blogspot.com "Web Services With Axis2/C"