X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcske%2Fsilcconnauth.c;h=06161b3344f861a978db95727f1534547897d110;hp=6b43421daa259c1f9dd5adc3de1884f0feda9803;hb=1ea936cbf1bb3b19bd55839b904ef59ada84b8b5;hpb=664b22d58794a76de354831dc44c9ad14e91e389 diff --git a/lib/silcske/silcconnauth.c b/lib/silcske/silcconnauth.c index 6b43421d..06161b33 100644 --- a/lib/silcske/silcconnauth.c +++ b/lib/silcske/silcconnauth.c @@ -146,9 +146,9 @@ silc_connauth_get_signature(SilcConnAuth connauth) SILC_STR_END); /* Compute signature */ - op = silc_pkcs_sign(private_key, auth->data, silc_buffer_len(auth), - TRUE, ske->prop->hash, ske->rng, - silc_connauth_get_signature_cb, connauth); + op = silc_pkcs_sign_async(private_key, auth->data, silc_buffer_len(auth), + TRUE, ske->prop->hash, ske->rng, + silc_connauth_get_signature_cb, connauth); silc_buffer_free(auth); @@ -172,6 +172,7 @@ static void silc_connauth_verify_signature_cb(SilcBool success, return; } + SILC_LOG_DEBUG(("Signature is Ok")); SILC_FSM_CALL_CONTINUE(connauth->fsm); } @@ -209,9 +210,9 @@ silc_connauth_verify_signature(SilcConnAuth connauth, SILC_STR_END); /* Verify signature */ - op = silc_pkcs_verify(pub_key, sign, sign_len, auth->data, - silc_buffer_len(auth), ske->prop->hash, ske->rng, - silc_connauth_verify_signature_cb, connauth); + op = silc_pkcs_verify_async(pub_key, sign, sign_len, auth->data, + silc_buffer_len(auth), TRUE, ske->prop->hash, + silc_connauth_verify_signature_cb, connauth); silc_buffer_free(auth); @@ -646,14 +647,15 @@ SILC_FSM_STATE(silc_connauth_st_responder_authenticate) /* Allocate search constraints for finding the key */ find = silc_skr_find_alloc(); - if (!find || !connauth->auth_data) { + if (!find || !connauth->auth_data || !connauth->ske->prop->public_key) { /** Out of memory */ silc_fsm_next(fsm, silc_connauth_st_responder_failure); return SILC_FSM_CONTINUE; } - silc_skr_find_set_pkcs_type(find, connauth->ske->pk_type); - silc_skr_find_set_public_key(find, connauth->ske->public_key); + silc_skr_find_set_pkcs_type( + find, silc_pkcs_get_type(connauth->ske->prop->public_key)); + silc_skr_find_set_public_key(find, connauth->ske->prop->public_key); silc_skr_find_set_usage(find, (SILC_SKR_USAGE_AUTH | SILC_SKR_USAGE_KEY_AGREEMENT));