ENVELOP_API int env_init(IN const char * cert,IN const char * key) { //初始化Openssl do { CRYPTO_malloc_init(); OpenSSL_add_all_algorithms(); OpenSSL_add_all_ciphers(); OpenSSL_add_all_digests(); ERR_load_PEM_strings();//TaoNote ,如果不调这个函数,则在读读取PEM时会异常 ERR_load_crypto_strings(); } while(0); //检查证书文件是否可用 if(cert != NULL) { if(g_pub_key != NULL) EVP_PKEY_free(g_pub_key); g_pub_key = read_pub_key(cert); if(!g_pub_key) return ERR_ENV_CERT_INVALID; g_pub_key_size = EVP_PKEY_size(g_pub_key); } //检查私钥文件是否可用 if(g_prv_key != NULL) EVP_PKEY_free(g_prv_key); g_prv_key = read_private_key(key); if (!g_prv_key) return ERR_ENV_KEY_INVALID; return 0; }
void ERR_load_crypto_strings(void) { #ifndef OPENSSL_NO_ERR ERR_load_ERR_strings(); /* include error strings for SYSerr */ ERR_load_BN_strings(); # ifndef OPENSSL_NO_RSA ERR_load_RSA_strings(); # endif # ifndef OPENSSL_NO_DH ERR_load_DH_strings(); # endif ERR_load_EVP_strings(); ERR_load_BUF_strings(); ERR_load_OBJ_strings(); ERR_load_PEM_strings(); # ifndef OPENSSL_NO_DSA ERR_load_DSA_strings(); # endif ERR_load_X509_strings(); ERR_load_ASN1_strings(); ERR_load_CONF_strings(); ERR_load_CRYPTO_strings(); # ifndef OPENSSL_NO_COMP ERR_load_COMP_strings(); # endif # ifndef OPENSSL_NO_EC ERR_load_EC_strings(); # endif # ifndef OPENSSL_NO_ECDSA ERR_load_ECDSA_strings(); # endif # ifndef OPENSSL_NO_ECDH ERR_load_ECDH_strings(); # endif /* skip ERR_load_SSL_strings() because it is not in this library */ ERR_load_BIO_strings(); ERR_load_PKCS7_strings(); ERR_load_X509V3_strings(); ERR_load_PKCS12_strings(); ERR_load_RAND_strings(); ERR_load_DSO_strings(); // ERR_load_TS_strings(); # ifndef OPENSSL_NO_ENGINE ERR_load_ENGINE_strings(); # endif ERR_load_OCSP_strings(); ERR_load_UI_strings(); # ifdef OPENSSL_FIPS ERR_load_FIPS_strings(); # endif /* # ifndef OPENSSL_NO_CMS ERR_load_CMS_strings(); # endif */ # ifndef OPENSSL_NO_JPAKE ERR_load_JPAKE_strings(); # endif #endif }
void err_load_crypto_strings_intern(void) { #ifdef OPENSSL_FIPS FIPS_set_error_callbacks(ERR_put_error, ERR_add_error_vdata); #endif #ifndef OPENSSL_NO_ERR ERR_load_ERR_strings(); /* include error strings for SYSerr */ ERR_load_BN_strings(); # ifndef OPENSSL_NO_RSA ERR_load_RSA_strings(); # endif # ifndef OPENSSL_NO_DH ERR_load_DH_strings(); # endif ERR_load_EVP_strings(); ERR_load_BUF_strings(); ERR_load_OBJ_strings(); ERR_load_PEM_strings(); # ifndef OPENSSL_NO_DSA ERR_load_DSA_strings(); # endif ERR_load_X509_strings(); ERR_load_ASN1_strings(); ERR_load_CONF_strings(); ERR_load_CRYPTO_strings(); # ifndef OPENSSL_NO_COMP ERR_load_COMP_strings(); # endif # ifndef OPENSSL_NO_EC ERR_load_EC_strings(); # endif /* skip ERR_load_SSL_strings() because it is not in this library */ ERR_load_BIO_strings(); ERR_load_PKCS7_strings(); ERR_load_X509V3_strings(); ERR_load_PKCS12_strings(); ERR_load_RAND_strings(); ERR_load_DSO_strings(); # ifndef OPENSSL_NO_TS ERR_load_TS_strings(); # endif # ifndef OPENSSL_NO_ENGINE ERR_load_ENGINE_strings(); # endif ERR_load_OCSP_strings(); ERR_load_UI_strings(); # ifdef OPENSSL_FIPS ERR_load_FIPS_strings(); # endif # ifndef OPENSSL_NO_CMS ERR_load_CMS_strings(); # endif # ifndef OPENSSL_NO_CT ERR_load_CT_strings(); # endif ERR_load_ASYNC_strings(); #endif ERR_load_KDF_strings(); }
void ERR_load_crypto_strings(void) { static int done=0; if (done) return; done=1; #ifndef OPENSSL_NO_ERR ERR_load_ERR_strings(); /* include error strings for SYSerr */ ERR_load_BN_strings(); #ifndef OPENSSL_NO_RSA ERR_load_RSA_strings(); #endif #ifndef OPENSSL_NO_DH ERR_load_DH_strings(); #endif ERR_load_EVP_strings(); ERR_load_BUF_strings(); ERR_load_OBJ_strings(); ERR_load_PEM_strings(); #ifndef OPENSSL_NO_DSA ERR_load_DSA_strings(); #endif ERR_load_X509_strings(); ERR_load_ASN1_strings(); ERR_load_CONF_strings(); ERR_load_CRYPTO_strings(); #ifndef OPENSSL_NO_EC ERR_load_EC_strings(); #endif #ifndef OPENSSL_NO_ECDSA ERR_load_ECDSA_strings(); #endif #ifndef OPENSSL_NO_ECDH ERR_load_ECDH_strings(); #endif /* skip ERR_load_SSL_strings() because it is not in this library */ ERR_load_BIO_strings(); ERR_load_PKCS7_strings(); ERR_load_X509V3_strings(); ERR_load_PKCS12_strings(); ERR_load_RAND_strings(); ERR_load_DSO_strings(); #ifndef OPENSSL_NO_ENGINE ERR_load_ENGINE_strings(); #endif ERR_load_OCSP_strings(); ERR_load_UI_strings(); #endif }
int err_load_crypto_strings_int(void) { if ( #ifndef OPENSSL_NO_ERR ERR_load_ERR_strings() == 0 || /* include error strings for SYSerr */ ERR_load_BN_strings() == 0 || # ifndef OPENSSL_NO_RSA ERR_load_RSA_strings() == 0 || # endif # ifndef OPENSSL_NO_DH ERR_load_DH_strings() == 0 || # endif ERR_load_EVP_strings() == 0 || ERR_load_BUF_strings() == 0 || ERR_load_OBJ_strings() == 0 || ERR_load_PEM_strings() == 0 || # ifndef OPENSSL_NO_DSA ERR_load_DSA_strings() == 0 || # endif ERR_load_X509_strings() == 0 || ERR_load_ASN1_strings() == 0 || ERR_load_CONF_strings() == 0 || ERR_load_CRYPTO_strings() == 0 || # ifndef OPENSSL_NO_COMP ERR_load_COMP_strings() == 0 || # endif # ifndef OPENSSL_NO_EC ERR_load_EC_strings() == 0 || # endif /* skip ERR_load_SSL_strings() because it is not in this library */ ERR_load_BIO_strings() == 0 || ERR_load_PKCS7_strings() == 0 || ERR_load_X509V3_strings() == 0 || ERR_load_PKCS12_strings() == 0 || ERR_load_RAND_strings() == 0 || ERR_load_DSO_strings() == 0 || # ifndef OPENSSL_NO_TS ERR_load_TS_strings() == 0 || # endif # ifndef OPENSSL_NO_ENGINE ERR_load_ENGINE_strings() == 0 || # endif # ifndef OPENSSL_NO_OCSP ERR_load_OCSP_strings() == 0 || # endif #ifndef OPENSSL_NO_UI ERR_load_UI_strings() == 0 || #endif # ifndef OPENSSL_NO_CMS ERR_load_CMS_strings() == 0 || # endif # ifndef OPENSSL_NO_CT ERR_load_CT_strings() == 0 || # endif ERR_load_ASYNC_strings() == 0 || #endif ERR_load_KDF_strings() == 0 || ERR_load_OSSL_STORE_strings() == 0) return 0; return 1; }