+/* Signature callback */
+
+static void silc_connauth_get_signature_cb(SilcBool success,
+ const unsigned char *signature,
+ SilcUInt32 signature_len,
+ void *context)
+{
+ SilcConnAuth connauth = context;
+
+ connauth->key_op = NULL;
+
+ if (!success) {
+ silc_fsm_next(connauth->fsm, silc_connauth_st_initiator_failure);
+ SILC_FSM_CALL_CONTINUE(connauth->fsm);
+ return;
+ }
+
+ connauth->auth_data = silc_memdup(signature, signature_len);
+ connauth->auth_data_len = signature_len;
+
+ SILC_FSM_CALL_CONTINUE(connauth->fsm);
+}
+