diff options
author | Richard Levitte <levitte@openssl.org> | 2015-08-13 19:14:34 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2015-08-13 22:05:25 +0200 |
commit | 4deefd6567cce43ef6c6b910693c093e9598f556 (patch) | |
tree | cb3ee80565fa9da9f3d04db89edceba715a4493a /util/TLSProxy/ServerKeyExchange.pm | |
parent | b3a231db49f864a40f999bf5b3843bebec5e3730 (diff) | |
download | openssl-4deefd6567cce43ef6c6b910693c093e9598f556.zip openssl-4deefd6567cce43ef6c6b910693c093e9598f556.tar.gz openssl-4deefd6567cce43ef6c6b910693c093e9598f556.tar.bz2 |
Fixups in libssl test harness
- select an actual file handle for devnull
- do not declare $msgdata twice
- SKE records sometimes seem to come without sig
- in SKE parsing, use and use $pub_key_len when parsing $pub_key
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'util/TLSProxy/ServerKeyExchange.pm')
-rw-r--r-- | util/TLSProxy/ServerKeyExchange.pm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/util/TLSProxy/ServerKeyExchange.pm b/util/TLSProxy/ServerKeyExchange.pm index 3a91d17..b85b8ad 100644 --- a/util/TLSProxy/ServerKeyExchange.pm +++ b/util/TLSProxy/ServerKeyExchange.pm @@ -104,13 +104,16 @@ sub parse my $pub_key_len = unpack('n', substr($self->data, $ptr)); $ptr += 2; my $pub_key = substr($self->data, $ptr, $pub_key_len); - $ptr += $g_len; + $ptr += $pub_key_len; #We assume its signed my $sig_len = unpack('n', substr($self->data, $ptr)); - $ptr += 2; - my $sig = substr($self->data, $ptr, $sig_len); - $ptr += $sig_len; + my $sig = ""; + if (defined $sig_len) { + $ptr += 2; + $sig = substr($self->data, $ptr, $sig_len); + $ptr += $sig_len; + } $self->p($p); $self->g($g); |