static int keystore_engine_setup(ENGINE* e) { ALOGV("keystore_engine_setup"); if (!ENGINE_set_id(e, KEYSTORE_ENGINE_ID) || !ENGINE_set_name(e, KEYSTORE_ENGINE_NAME) || !ENGINE_set_load_privkey_function(e, keystore_loadkey) || !ENGINE_set_load_pubkey_function(e, keystore_loadkey) || !ENGINE_set_cmd_defns(e, keystore_cmd_defns)) { ALOGE("Could not set up keystore engine"); return 0; } if (!ENGINE_set_RSA(e, &keystore_rsa_meth) || !register_rsa_methods()) { ALOGE("Could not set up keystore RSA methods"); return 0; } /* We need a handle in the RSA keys as well for keygen if it's not already initialized. */ pthread_once(&rsa_key_handle_control, init_rsa_key_handle); if (rsa_key_handle < 0) { ALOGE("Could not set up RSA ex_data index"); return 0; } return 1; }
static int bind_helper (ENGINE *e) { if (!ENGINE_set_id(e, FS_ENGINE_ID) || !ENGINE_set_name (e, FS_ENGINE_NAME) || !ENGINE_set_destroy_function (e, engine_fs_destroy) || !ENGINE_set_finish_function (e, engine_fs_finish) || !ENGINE_set_ctrl_function (e, engine_fs_ctrl) || !ENGINE_set_load_privkey_function (e, engine_fs_load_private_key) || !ENGINE_set_RSA (e, &engine_fs_rsa) /*|| !ENGINE_set_load_pubkey_function (e, engine_fs_load_public_key) || !ENGINE_set_init_function (e, engine_fs_init) || !ENGINE_set_DSA (e, engine_fs_dsa) || !ENGINE_set_ECDH (e, engine_fs_dh) || !ENGINE_set_ECDSA (e, engine_fs_dh) || !ENGINE_set_DH (e, engine_fs_dh) || !ENGINE_set_RAND (e, engine_fs_rand) || !ENGINE_set_STORE (e, asn1_i2d_ex_primitiveengine_fs_rand) || !ENGINE_set_ciphers (e, engine_fs_syphers_f) || !ENGINE_set_digests (e, engine_fs_digest_f) || !ENGINE_set_flags (e, engine_fs_flags) || !ENGINE_set_cmd_defns (e, engine_fs_cmd_defns)*/) { return (0); } if (!ENGINE_set_RSA (e, &engine_fs_rsa) || !register_rsa_methods ()) { return 0; } return (1); }