Add the possibility to load prvate and public keys from an engine and
implement it for nCipher hardware. The interface in itself should be clear enough, but the nCipher implementation is currently not the best when it comes to getting a passphrase from the user. However, getting it better is a little hard until a better user interaction method is create. Also, use the possibility in req, so we can start to create CSR's with keys from the nForce box. WARNING: I've made *no* tests yet, mostly because I didn't implement this on the machine where I have an nForce box to play with. All I know is that it compiles cleanly on Linux...
This commit is contained in:
@@ -98,6 +98,8 @@ static ERR_STRING_DATA ENGINE_str_functs[]=
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_INIT,0), "ENGINE_init"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_LIST_ADD,0), "ENGINE_LIST_ADD"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_LIST_REMOVE,0), "ENGINE_LIST_REMOVE"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_LOAD_PRIVATE_KEY,0), "ENGINE_load_private_key"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_LOAD_PUBLIC_KEY,0), "ENGINE_load_public_key"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_NEW,0), "ENGINE_new"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_REMOVE,0), "ENGINE_remove"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_SET_BN_MOD_EXP,0), "ENGINE_set_BN_mod_exp"},
|
||||
@@ -112,9 +114,13 @@ static ERR_STRING_DATA ENGINE_str_functs[]=
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_SET_NAME,0), "ENGINE_set_name"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_SET_RAND,0), "ENGINE_set_RAND"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_SET_RSA,0), "ENGINE_set_RSA"},
|
||||
{ERR_PACK(0,ENGINE_F_ENGINE_UNLOAD_KEY,0), "ENGINE_UNLOAD_KEY"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_CTRL,0), "HWCRHK_CTRL"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_FINISH,0), "HWCRHK_FINISH"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_GET_PASS,0), "HWCRHK_GET_PASS"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_INIT,0), "HWCRHK_INIT"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_LOAD_PRIVKEY,0), "HWCRHK_LOAD_PRIVKEY"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_LOAD_PUBKEY,0), "HWCRHK_LOAD_PUBKEY"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_MOD_EXP,0), "HWCRHK_MOD_EXP"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_MOD_EXP_CRT,0), "HWCRHK_MOD_EXP_CRT"},
|
||||
{ERR_PACK(0,ENGINE_F_HWCRHK_RAND_BYTES,0), "HWCRHK_RAND_BYTES"},
|
||||
@@ -129,6 +135,7 @@ static ERR_STRING_DATA ENGINE_str_reasons[]=
|
||||
{ENGINE_R_BIO_WAS_FREED ,"bio was freed"},
|
||||
{ENGINE_R_BN_CTX_FULL ,"BN_CTX full"},
|
||||
{ENGINE_R_BN_EXPAND_FAIL ,"bn_expand fail"},
|
||||
{ENGINE_R_CHIL_ERROR ,"chil error"},
|
||||
{ENGINE_R_CONFLICTING_ENGINE_ID ,"conflicting engine id"},
|
||||
{ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED ,"ctrl command not implemented"},
|
||||
{ENGINE_R_DSO_FAILURE ,"DSO failure"},
|
||||
@@ -141,8 +148,12 @@ static ERR_STRING_DATA ENGINE_str_reasons[]=
|
||||
{ENGINE_R_MISSING_KEY_COMPONENTS ,"missing key components"},
|
||||
{ENGINE_R_NOT_INITIALISED ,"not initialised"},
|
||||
{ENGINE_R_NOT_LOADED ,"not loaded"},
|
||||
{ENGINE_R_NO_CALLBACK ,"no callback"},
|
||||
{ENGINE_R_NO_CONTROL_FUNCTION ,"no control function"},
|
||||
{ENGINE_R_NO_KEY ,"no key"},
|
||||
{ENGINE_R_NO_LOAD_FUNCTION ,"no load function"},
|
||||
{ENGINE_R_NO_SUCH_ENGINE ,"no such engine"},
|
||||
{ENGINE_R_NO_UNLOAD_FUNCTION ,"no unload function"},
|
||||
{ENGINE_R_PROVIDE_PARAMETERS ,"provide parameters"},
|
||||
{ENGINE_R_REQUEST_FAILED ,"request failed"},
|
||||
{ENGINE_R_REQUEST_FALLBACK ,"request fallback"},
|
||||
|
Reference in New Issue
Block a user