CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,	const char *passphrase)	{	EVP_PKEY *pkey;	if(e == NULL)		{		ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,			ERR_R_PASSED_NULL_PARAMETER);		return 0;		}	CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);	if(e->funct_ref == 0)		{		ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,			ENGINE_R_NOT_INITIALISED);		return 0;		}	if (!e->load_privkey)		{		ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,			ENGINE_R_NO_LOAD_FUNCTION);		return 0;		}	CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);	pkey = e->load_privkey(key_id, passphrase);	if (!pkey)		{		ENGINEerr(ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,			ENGINE_R_FAILED_LOADING_PRIVATE_KEY);		return 0;		}	return pkey;	}