Example #1
0
    def test_tack___eq__(self):
        a = TACKExtension.TACK()
        b = TACKExtension.TACK()

        self.assertTrue(a == b)
        self.assertFalse(a == None)
        self.assertFalse(a == "test")
Example #2
0
    def test_tack___eq___with_different_tacks(self):
        a = TACKExtension.TACK()
        b = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                        bytearray(b'\x05' * 32),
                                        bytearray(b'\x06' * 64))

        self.assertFalse(a == b)
Example #3
0
 def test___repr__(self):
     tack = TACKExtension.TACK().create(bytearray(b'\x00'), 1, 2, 3,
                                        bytearray(b'\x04'),
                                        bytearray(b'\x05'))
     tack_ext = TACKExtension().create([tack], 1)
     self.maxDiff = None
     self.assertEqual("TACKExtension(activation_flags=1, tacks=["\
             "TACK(public_key=bytearray(b'\\x00'), min_generation=1, "\
             "generation=2, expiration=3, target_hash=bytearray(b'\\x04'), "\
             "signature=bytearray(b'\\x05'))"\
             "])",
             repr(tack_ext))
Example #4
0
    def test_parse(self):
        p = Parser(bytearray(3))

        tack_ext = TACKExtension().parse(p)

        self.assertEqual([], tack_ext.tacks)
        self.assertEqual(0, tack_ext.activation_flags)
Example #5
0
    def test_tack_write_with_bad_length_signature(self):
        tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                           bytearray(b'\x05' * 32),
                                           bytearray(b'\x06' * 65))

        with self.assertRaises(TLSInternalError):
            tack.write()
Example #6
0
    def test___init__(self):
        tack_ext = TACKExtension()

        self.assertEqual([], tack_ext.tacks)
        self.assertEqual(0, tack_ext.activation_flags)
        self.assertEqual(62208, tack_ext.extType)
        self.assertEqual(bytearray(b'\x00\x00\x00'), tack_ext.extData)
Example #7
0
    def test_parse_with_a_tack(self):
        p = Parser(
            bytearray(b'\x00\xa6' +  # length of array (166 bytes)
                      b'\x01' * 64 +  # public_key
                      b'\x02' +  # min_generation
                      b'\x03' +  # generation
                      b'\x00\x00\x00\x04' +  # expiration
                      b'\x05' * 32 +  # target_hash
                      b'\x06' * 64 +  # signature
                      b'\x01'))  # activation_flags

        tack_ext = TACKExtension().parse(p)

        tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                           bytearray(b'\x05' * 32),
                                           bytearray(b'\x06' * 64))
        self.assertEqual([tack], tack_ext.tacks)
        self.assertEqual(1, tack_ext.activation_flags)
Example #8
0
    def test_extData(self):
        tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                           bytearray(b'\x05' * 32),
                                           bytearray(b'\x06' * 64))

        tack_ext = TACKExtension().create([tack], 1)

        self.assertEqual(
            bytearray(b'\x00\xa6' +  # length
                      b'\x01' * 64 +  # public_key
                      b'\x02' +  # min_generation
                      b'\x03' +  # generation
                      b'\x00\x00\x00\x04' +  # expiration
                      b'\x05' * 32 +  # target_hash
                      b'\x06' * 64 +  # signature
                      b'\x01'  # activation flag
                      ),
            tack_ext.extData)
Example #9
0
    def test_tack___init__(self):
        tack = TACKExtension.TACK()

        self.assertEqual(bytearray(64), tack.public_key)
        self.assertEqual(0, tack.min_generation)
        self.assertEqual(0, tack.generation)
        self.assertEqual(0, tack.expiration)
        self.assertEqual(bytearray(32), tack.target_hash)
        self.assertEqual(bytearray(64), tack.signature)
Example #10
0
    def test_tack_create(self):
        tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                           bytearray(b'\x05' * 32),
                                           bytearray(b'\x06' * 64))

        self.assertEqual(bytearray(b'\x01' * 64), tack.public_key)
        self.assertEqual(2, tack.min_generation)
        self.assertEqual(3, tack.generation)
        self.assertEqual(4, tack.expiration)
        self.assertEqual(bytearray(b'\x05' * 32), tack.target_hash)
        self.assertEqual(bytearray(b'\x06' * 64), tack.signature)
Example #11
0
    def test_tack_write(self):
        tack = TACKExtension.TACK().create(bytearray(b'\x01' * 64), 2, 3, 4,
                                           bytearray(b'\x05' * 32),
                                           bytearray(b'\x06' * 64))

        self.assertEqual(
            bytearray(b'\x01' * 64 +  # public_key
                      b'\x02' +  # min_generation
                      b'\x03' +  # generation
                      b'\x00\x00\x00\x04' +  # expiration
                      b'\x05' * 32 +  # target_hash
                      b'\x06' * 64)  # signature
            ,
            tack.write())
Example #12
0
    def test_tack_parse(self):
        p = Parser(
            bytearray(b'\x01' * 64 +  # public_key
                      b'\x02' +  # min_generation
                      b'\x03' +  # generation
                      b'\x00\x00\x00\x04' +  # expiration
                      b'\x05' * 32 +  # target_hash
                      b'\x06' * 64))  # signature

        tack = TACKExtension.TACK()

        tack = tack.parse(p)

        self.assertEqual(bytearray(b'\x01' * 64), tack.public_key)
        self.assertEqual(2, tack.min_generation)
        self.assertEqual(3, tack.generation)
        self.assertEqual(4, tack.expiration)
        self.assertEqual(bytearray(b'\x05' * 32), tack.target_hash)
        self.assertEqual(bytearray(b'\x06' * 64), tack.signature)
Example #13
0
    def test_create(self):
        tack_ext = TACKExtension().create([], 1)

        self.assertEqual([], tack_ext.tacks)
        self.assertEqual(1, tack_ext.activation_flags)