def test_2_decode(self): msg = Message(self.__a) self.assertEqual(msg.get_int(), 23) self.assertEqual(msg.get_int(), 123789456) self.assertEqual(msg.get_text(), "q") self.assertEqual(msg.get_text(), "hello") self.assertEqual(msg.get_text(), "x" * 1000) msg = Message(self.__b) self.assertEqual(msg.get_boolean(), True) self.assertEqual(msg.get_boolean(), False) self.assertEqual(msg.get_byte(), byte_chr(0xf3)) self.assertEqual(msg.get_bytes(2), zero_byte + byte_chr(0x3f)) self.assertEqual(msg.get_list(), ["huey", "dewey", "louie"]) msg = Message(self.__c) self.assertEqual(msg.get_int64(), 5) self.assertEqual(msg.get_int64(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), 17) self.assertEqual(msg.get_mpint(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), -0x65e4d3c2b109)
def test_2_decode(self): msg = Message(self.__a) self.assertEquals(msg.get_int(), 23) self.assertEquals(msg.get_int(), 123789456) self.assertEquals(msg.get_string(), 'q') self.assertEquals(msg.get_string(), 'hello') self.assertEquals(msg.get_string(), 'x' * 1000) msg = Message(self.__b) self.assertEquals(msg.get_boolean(), True) self.assertEquals(msg.get_boolean(), False) self.assertEquals(msg.get_byte(), '\xf3') self.assertEquals(msg.get_bytes(2), '\x00\x3f') self.assertEquals(msg.get_list(), ['huey', 'dewey', 'louie']) msg = Message(self.__c) self.assertEquals(msg.get_int64(), 5) self.assertEquals(msg.get_int64(), 0xf5e4d3c2b109L) self.assertEquals(msg.get_mpint(), 17) self.assertEquals(msg.get_mpint(), 0xf5e4d3c2b109L) self.assertEquals(msg.get_mpint(), -0x65e4d3c2b109L)
def test_decode(self): msg = Message(self.__a) self.assertEqual(msg.get_int(), 23) self.assertEqual(msg.get_int(), 123789456) self.assertEqual(msg.get_text(), 'q') self.assertEqual(msg.get_text(), 'hello') self.assertEqual(msg.get_text(), 'x' * 1000) msg = Message(self.__b) self.assertEqual(msg.get_boolean(), True) self.assertEqual(msg.get_boolean(), False) self.assertEqual(msg.get_byte(), byte_chr(0xf3)) self.assertEqual(msg.get_bytes(2), zero_byte + byte_chr(0x3f)) self.assertEqual(msg.get_list(), ['huey', 'dewey', 'louie']) msg = Message(self.__c) self.assertEqual(msg.get_int64(), 5) self.assertEqual(msg.get_int64(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), 17) self.assertEqual(msg.get_mpint(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), -0x65e4d3c2b109)
def test_2_decode(self): msg = Message(self.__a) self.assertEqual(msg.get_int(), 23) self.assertEqual(msg.get_int(), 123789456) self.assertEqual(msg.get_text(), 'q') self.assertEqual(msg.get_text(), 'hello') self.assertEqual(msg.get_text(), 'x' * 1000) msg = Message(self.__b) self.assertEqual(msg.get_boolean(), True) self.assertEqual(msg.get_boolean(), False) self.assertEqual(msg.get_byte(), byte_chr(0xf3)) self.assertEqual(msg.get_bytes(2), zero_byte + byte_chr(0x3f)) self.assertEqual(msg.get_list(), ['huey', 'dewey', 'louie']) msg = Message(self.__c) self.assertEqual(msg.get_int64(), 5) self.assertEqual(msg.get_int64(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), 17) self.assertEqual(msg.get_mpint(), 0xf5e4d3c2b109) self.assertEqual(msg.get_mpint(), -0x65e4d3c2b109)
def test_2_decode(self): msg = Message(self.__a) self.assertEquals(msg.get_int(), 23) self.assertEquals(msg.get_int(), 123789456) self.assertEquals(msg.get_string(), b'q') self.assertEquals(msg.get_string(), b'hello') self.assertEquals(msg.get_string(), b'x' * 1000) msg = Message(self.__b) self.assertEquals(msg.get_boolean(), True) self.assertEquals(msg.get_boolean(), False) self.assertEquals(msg.get_byte(), b'\xf3') self.assertEquals(msg.get_bytes(2), b'\x00\x3f') self.assertEquals(msg.get_list(), [b'huey', b'dewey', b'louie']) msg = Message(self.__c) self.assertEquals(msg.get_int64(), 5) self.assertEquals(msg.get_int64(), 0xf5e4d3c2b109) self.assertEquals(msg.get_mpint(), 17) self.assertEquals(msg.get_mpint(), 0xf5e4d3c2b109) self.assertEquals(msg.get_mpint(), -0x65e4d3c2b109)
def test_2_decode(self): msg = Message(self.__a) self.assertEquals(msg.get_int(), 23) self.assertEquals(msg.get_int(), 123789456) self.assertEquals(msg.get_string(), "q") self.assertEquals(msg.get_string(), "hello") self.assertEquals(msg.get_string(), "x" * 1000) msg = Message(self.__b) self.assertEquals(msg.get_boolean(), True) self.assertEquals(msg.get_boolean(), False) self.assertEquals(msg.get_byte(), "\xf3") self.assertEquals(msg.get_bytes(2), "\x00\x3f") self.assertEquals(msg.get_list(), ["huey", "dewey", "louie"]) msg = Message(self.__c) self.assertEquals(msg.get_int64(), 5) self.assertEquals(msg.get_int64(), 0xF5E4D3C2B109L) self.assertEquals(msg.get_mpint(), 17) self.assertEquals(msg.get_mpint(), 0xF5E4D3C2B109L) self.assertEquals(msg.get_mpint(), -0x65E4D3C2B109L)
def __init__(self, msg=None, data=None, privkey_filename=None, cert_filename=None, password=None, privkey_file_obj=None, cert_file_obj=None): self.nonce = None self.key = None self.serial = None self.type = None self.key_id = None self.valid_principals = None self.valid_after = None self.valid_before = None self.critical_options = None self.extensions = None self.reserved = None self.signature_key = None self.signature = None self.d = None self.p = None self.q = None if cert_filename is not None: msg = self._load_cert_from_file(cert_filename) elif cert_file_obj is not None: msg = self._load_cert(cert_file_obj) elif cert_filename is None and cert_file_obj is None and data is None: raise SSHException('Either a data object or a certificate file must be given') if privkey_file_obj is not None: self._from_private_key(privkey_file_obj, password) elif privkey_filename is not None: self._from_private_key_file(privkey_filename, password) if (msg is None) and (data is not None): msg = Message(data) if msg is None: raise SSHException('Key object may not be empty') if msg.get_text() != '*****@*****.**': raise SSHException('Invalid key') self.nonce = msg.get_string() e = msg.get_mpint() n = msg.get_mpint() # Key might've been set by a private key file. If not, set it from the # cert if self.key is None: self.key = rsa.RSAPublicNumbers(e=e, n=n).public_key( default_backend()) self.serial = msg.get_int64() self.type = msg.get_int() self.key_id = msg.get_string() self.valid_principals = msg.get_string() self.valid_after = msg.get_int64() self.valid_before = msg.get_int64() self.critical_options = msg.get_string() self.extensions = msg.get_string() self.reserved = msg.get_string() self.signature_key = msg.get_string() self.signature = msg.get_string()