-
-/* Helper function to find specificly SILC style public keys */
-
-SilcAsyncOperation silc_skr_find_silc(SilcSKR skr,
- SilcPublicKey public_key,
- SilcSKRFindCallback callback,
- void *callback_context)
-{
- SilcSKRFind find = NULL;
- SilcAsyncOperation op;
-
- SILC_LOG_DEBUG(("Finding SILC public key"));
-
- if (!public_key || public_key->pk_type != SILC_PKCS_SILC)
- goto err;
-
- find = silc_skr_find_alloc();
- if (!find)
- goto err;
-
- if (!silc_skr_find_set_public_key(find, public_key))
- goto err;
-
- op = silc_skr_find(skr, find, callback, callback_context);
-
- return op;
-
- err:
- if (find)
- silc_skr_find_free(find);
- callback(skr, NULL, SILC_SKR_ERROR, NULL, callback_context);
- return NULL;
-}