Hi, I am having problems in parsing a PKCS12 file. I was able to parse other PKCS12 files (with single CA certificates). But this particular one has two level CA certificates and I get the error that pbe algorithm is unknown. I am including openSSL_add_all_algorithms but still see the problem. I am using OpenSSL version 0.9.8.a. I saw from FAQ that this happens if I do not include openSSL_add_all_algorithms but it happens to me even though I did include the function call. Can anyone help me on this. thanks a lot, Sudha AXS2200> set security-ipsec load certs 7-11:01:36.440 [ERR]: Error parsing PKCS12 file 154412560:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:evp_pbe.c:89:TYPE=pbeWithSHA 1And40BitRC2-CBC 154412560:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:p12_decr.c:83: 154412560:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:123: 154412560:error:23076072:PKCS12 routines:PKCS12_parse:parse error:p12_kiss.c:127: IPSEC CERT file load failed AXS2200> PKCS12 *p12; X509 *cert=NULL; STACK_OF(X509) *ca = NULL; EVP_PKEY * privateKey = NULL; FILE * fpCert; FILE * fpKey; FILE * fpCa; FILE * fpCertOut; int i; char pkcsFile[50], passphrase[50]; sprintf(pkcsFile,"/flash/security/Sparky.p12"); sprintf(passphrase,"scott"); status = FAIL_RESP; FILE * fp = fopen(&pkcsFile,"rb"); OpenSSL_add_all_algorithms(); OpenSSL_add_all_ciphers(); OpenSSL_add_all_digests(); SSL_load_error_strings(); if(!fp) { printf("Error opening pkcs file\n"); return(status); } p12 = d2i_PKCS12_fp(fp,NULL); if(!p12) { printf("Error NULL p12\n"); return(status); }
if(!PKCS12_parse(p12,&passphrase, &privateKey, &cert, &ca)) { printf("Error parsing PKCS12 file\n"); ERR_print_errors_fp(stderr); return(status); } }