- if (verifyd && silc_pkcs_public_key_set(pkcs, public_key)) {
- if (silc_pkcs_verify_with_hash(pkcs, client->sha1hash,
- serversign.data,
- serversign.data_len,
- verifyd, verify_len)) {
- printformat_module("fe-common/silc", server, NULL,
- MSGLEVEL_CRAP, SILCTXT_ATTR_SERVER_SIGN_VERIFIED);
- } else {
- printformat_module("fe-common/silc", server, NULL,
- MSGLEVEL_CRAP, SILCTXT_ATTR_SERVER_SIGN_FAILED);
- }
+ if (verifyd)
+ silc_pkcs_verify_async(public_key, serversign.data,
+ serversign.data_len, verifyd,
+ verify_len, TRUE, sha1hash,
+ silc_query_attributes_verify, &verified);
+ if (verified) {
+ printformat_module("fe-common/silc", server, NULL,
+ MSGLEVEL_CRAP, SILCTXT_ATTR_SERVER_SIGN_VERIFIED);
+ } else {
+ printformat_module("fe-common/silc", server, NULL,
+ MSGLEVEL_CRAP, SILCTXT_ATTR_SERVER_SIGN_FAILED);