if(!ret) PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_DECODE_ERROR);
if(!ret) PKCS12err(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I,PKCS12_R_DECODE_ERROR);
void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it,	     const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf){	unsigned char *out;	const unsigned char *p;	void *ret;	int outlen;	if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length,			       &out, &outlen, 0)) {		PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_PKCS12_PBE_CRYPT_ERROR);		return NULL;	}	p = out;#ifdef DEBUG_DECRYPT	{		FILE *op;		char fname[30];		static int fnm = 1;		sprintf(fname, "DER%d", fnm++);		op = fopen(fname, "wb");		fwrite (p, 1, outlen, op);		fclose(op);	}#endif	ret = ASN1_item_d2i(NULL, &p, outlen, it);	if (zbuf) OPENSSL_cleanse(out, outlen);	if(!ret) PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_DECODE_ERROR);	OPENSSL_free(out);	return ret;}