/** Find public key */
silc_fsm_next(fsm, silc_connauth_st_responder_authenticate_pk);
- SILC_FSM_CALL(silc_skr_find(repository, find, silc_connauth_skr_callback,
+ SILC_FSM_CALL(silc_skr_find(repository, silc_fsm_get_schedule(fsm),
+ find, silc_connauth_skr_callback,
connauth));
/* NOT REACHED */
}
* method is passphrase it must be returned to `passphrase' pointer.
* If it is digital signatures the key repository pointer must be
* returned into `repository' pointer, which the library will use to
- * find the correct public key to verify the digital signature.
+ * find the correct public key to verify the digital signature. If
+ * neither `passphrase' or `repository' is set but TRUE is returned,
+ * authentication is not required.
*
* If this connection is not configured at all this returns FALSE which
* will result into authentication failure. Otherwise TRUE must be
silc_skr_find_set_usage(find, SILC_SKR_USAGE_KEY_AGREEMENT);
/* Find key from repository */
- SILC_FSM_CALL(silc_skr_find(ske->repository, find,
- silc_ske_skr_callback, ske));
+ SILC_FSM_CALL(silc_skr_find(ske->repository, silc_fsm_get_schedule(fsm),
+ find, silc_ske_skr_callback, ske));
} else {
/* Verify from application */
SILC_FSM_CALL(ske->callbacks->verify_key(ske, ske->prop->public_key,
silc_skr_find_set_usage(find, SILC_SKR_USAGE_KEY_AGREEMENT);
/* Find key from repository */
- SILC_FSM_CALL(silc_skr_find(ske->repository, find,
+ SILC_FSM_CALL(silc_skr_find(ske->repository,
+ silc_fsm_get_schedule(fsm), find,
silc_ske_skr_callback, ske));
} else {
/* Verify from application */
* params.flags = SILC_SKE_SP_FLAG_PFS | SILC_SKE_SP_FLAG_MUTUAL;
* ske = silc_ske_alloc(rng, scheduler, NULL, pk, prv, app);
* silc_ske_set_callbacks(ske, verify_public_key, completion, app);
- * silc_ske_initiator_start(ske, stream, ¶ms, NULL);
+ * silc_ske_initiator(ske, stream, ¶ms, NULL);
*
***/
SilcSKE silc_ske_alloc(SilcRng rng, SilcSchedule schedule,
* Starts SILC Key Exchange key regeneration (rekey) protocol. The `rekey'
* is the rekey material received earlier in SilcSKECompletionCb. That
* same callback is called after the rekey protocol is over to deliver new
- * key material and new rekey material.
+ * key material and new rekey material. When the rekey is completed the
+ * SKE library will automatically update the new keys into `stream'. The
+ * completion callback is called after the new keys has been taken into
+ * use.
*
* This function returns SilcAsyncOperation operation context which can
* be used to control the protocol from the application. Application may
* The `rekey' is the rekey material received earlier in
* SilcSKECompletionCb. That same callback is called after the rekey
* protocol is over to deliver new key material and new rekey material.
+ * When the rekey is completed the SKE library will automatically update
+ * the new keys into `stream'. The completion callback is called after
+ * the new keys has been taken into use.
*
* This function returns SilcAsyncOperation operation context which can
* be used to control the protocol from the application. Application may