diff options
author | Jeff Forcier <jeff@bitprophet.org> | 2019-12-03 14:35:04 -0500 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2019-12-03 14:35:04 -0500 |
commit | 9e6fc80397582838de8124344efcde6b17472b73 (patch) | |
tree | 50fd8121c695ad5f322ebb377b9815711098e531 /paramiko/ed25519key.py | |
parent | 25de1a7a02a2189614787718739efbde86d5bb8e (diff) | |
parent | 84fa355a253d30d6c39adaea8bb095ced0c3b751 (diff) | |
download | paramiko-9e6fc80397582838de8124344efcde6b17472b73.tar.gz |
Merge branch 'master' into 1343-int
Diffstat (limited to 'paramiko/ed25519key.py')
-rw-r--r-- | paramiko/ed25519key.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/paramiko/ed25519key.py b/paramiko/ed25519key.py index 3bd0ff10..96cff7d0 100644 --- a/paramiko/ed25519key.py +++ b/paramiko/ed25519key.py @@ -37,10 +37,12 @@ def unpad(data): # really ought to be made constant time (possibly by upstreaming this logic # into pyca/cryptography). padding_length = six.indexbytes(data, -1) - if padding_length > 16: + if 0x20 <= padding_length < 0x7f: + return data # no padding, last byte part comment (printable ascii) + if padding_length > 15: raise SSHException("Invalid key") - for i in range(1, padding_length + 1): - if six.indexbytes(data, -i) != (padding_length - i + 1): + for i in range(padding_length): + if six.indexbytes(data, i - padding_length) != i + 1: raise SSHException("Invalid key") return data[:-padding_length] |