version 1.41, 2010/04/16 01:47:26 |
version 1.42, 2010/07/13 11:52:06 |
|
|
#include "buffer.h" |
#include "buffer.h" |
#include "key.h" |
#include "key.h" |
#include "compat.h" |
#include "compat.h" |
|
#include "misc.h" |
#include "ssh.h" |
#include "ssh.h" |
|
|
static int openssh_RSA_verify(int, u_char *, u_int, u_char *, u_int, RSA *); |
static int openssh_RSA_verify(int, u_char *, u_int, u_char *, u_int, RSA *); |
|
|
error("bad decrypted len: %d != %d + %d", len, hlen, oidlen); |
error("bad decrypted len: %d != %d + %d", len, hlen, oidlen); |
goto done; |
goto done; |
} |
} |
if (memcmp(decrypted, oid, oidlen) != 0) { |
if (timing_safe_cmp(decrypted, oid, oidlen) != 0) { |
error("oid mismatch"); |
error("oid mismatch"); |
goto done; |
goto done; |
} |
} |
if (memcmp(decrypted + oidlen, hash, hlen) != 0) { |
if (timing_safe_cmp(decrypted + oidlen, hash, hlen) != 0) { |
error("hash mismatch"); |
error("hash mismatch"); |
goto done; |
goto done; |
} |
} |