diff options
-rw-r--r-- | paramiko/dsskey.py | 9 | ||||
-rw-r--r-- | paramiko/transport.py | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/paramiko/dsskey.py b/paramiko/dsskey.py index b3197f62..f9c02153 100644 --- a/paramiko/dsskey.py +++ b/paramiko/dsskey.py @@ -61,10 +61,11 @@ class DSSKey(PKey): if vals is not None: self.p, self.q, self.g, self.y = vals else: - if msg is None: - raise SSHException('Key object may not be empty') - if msg.get_text() != 'ssh-dss': - raise SSHException('Invalid key') + self._check_type_and_load_cert( + msg=msg, + key_type='ssh-dss', + cert_type='ssh-dss-cert-v01@openssh.com', + ) self.p = msg.get_mpint() self.q = msg.get_mpint() self.g = msg.get_mpint() diff --git a/paramiko/transport.py b/paramiko/transport.py index 0dc2e28a..d97bee80 100644 --- a/paramiko/transport.py +++ b/paramiko/transport.py @@ -206,6 +206,7 @@ class Transport(threading.Thread, ClosingContextManager): 'ssh-rsa': RSAKey, 'ssh-rsa-cert-v01@openssh.com': RSAKey, 'ssh-dss': DSSKey, + 'ssh-dss-cert-v01@openssh.com': DSSKey, 'ecdsa-sha2-nistp256': ECDSAKey, 'ecdsa-sha2-nistp384': ECDSAKey, 'ecdsa-sha2-nistp521': ECDSAKey, |