X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcmessage.c;h=2b817ba708c79f8232272163659e0269db427f2e;hb=664b22d58794a76de354831dc44c9ad14e91e389;hp=a308456be89c85db6a92d5fc3b562549546979a5;hpb=cec0db037b3c560a95bd43a7b39f27859ff3d014;p=silc.git diff --git a/lib/silccore/silcmessage.c b/lib/silccore/silcmessage.c index a308456b..2b817ba7 100644 --- a/lib/silccore/silcmessage.c +++ b/lib/silccore/silcmessage.c @@ -44,6 +44,7 @@ typedef struct { SilcMessageFlags flags; SilcPublicKey public_key; SilcPrivateKey private_key; + SilcRng rng; SilcHash hash; SilcCipher cipher; SilcHmac hmac; @@ -292,6 +293,7 @@ silc_message_signed_payload_encode(SilcBuffer payload, SilcUInt32 pk_len = 0; SilcUInt16 pk_type; SilcStack stack = e->stack; + SilcRng rng = e->rng; SilcHash hash = e->hash; SilcPublicKey public_key = e->public_key; SilcPrivateKey private_key = e->private_key; @@ -334,7 +336,8 @@ silc_message_signed_payload_encode(SilcBuffer payload, /* Compute signature */ op = silc_pkcs_sign(private_key, sign->data, silc_buffer_len(sign), - TRUE, hash, silc_message_signed_payload_encode_cb, e); + TRUE, hash, rng, + silc_message_signed_payload_encode_cb, e); return op; } @@ -762,6 +765,7 @@ silc_message_payload_encode(SilcMessageFlags flags, e->flags = flags; e->public_key = public_key; e->private_key = private_key; + e->rng = rng; e->hash = hash; e->cipher = cipher; e->hmac = hmac; @@ -873,8 +877,8 @@ silc_message_signed_verify(SilcMessagePayload message, /* Verify the authentication data */ op = silc_pkcs_verify(remote_public_key, sig->sign_data, sig->sign_len, - silc_buffer_data(sign), silc_buffer_len(sign), hash, - result, context); + silc_buffer_data(sign), silc_buffer_len(sign), + hash, NULL, result, context); silc_buffer_clear(sign); silc_buffer_sfree(stack, sign);