コード例 #1
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode3(self):
     # Decode payload with too much data gives error
     der = DerObject(0x02)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02\xFF'))
     # Decode payload with too little data gives error
     der = DerObject(0x02)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01'))
コード例 #2
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjEncode1(self):
     # No payload
     der = DerObject(b('\x02'))
     self.assertEquals(der.encode(), b('\x02\x00'))
     # Small payload (primitive)
     der.payload = b('\x45')
     self.assertEquals(der.encode(), b('\x02\x01\x45'))
     # Invariant
     self.assertEquals(der.encode(), b('\x02\x01\x45'))
     # Initialize with numerical tag
     der = DerObject(0x04)
     der.payload = b('\x45')
     self.assertEquals(der.encode(), b('\x04\x01\x45'))
     # Initialize with constructed type
     der = DerObject(b('\x10'), constructed=True)
     self.assertEquals(der.encode(), b('\x30\x00'))
コード例 #3
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjEncode4(self):
     # Implicit tags (constructed)
     der = DerObject(0x10, implicit=1, constructed=True)
     der.payload = b('ppll')
     self.assertEquals(der.encode(), b('\xa1\x04ppll'))
     # Implicit tags (primitive)
     der = DerObject(0x02, implicit=0x1E, constructed=False)
     der.payload = b('ppll')
     self.assertEquals(der.encode(), b('\x9E\x04ppll'))
コード例 #4
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode4(self):
     # Decode implicit tag (primitive)
     der = DerObject(0x02, constructed=False, implicit=0xF)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02'))
     der.decode(b('\x8F\x01\x00'))
     self.assertEquals(der.payload, b('\x00'))
     # Decode implicit tag (constructed)
     der = DerObject(0x02, constructed=True, implicit=0xF)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02'))
     der.decode(b('\xAF\x01\x00'))
     self.assertEquals(der.payload, b('\x00'))
コード例 #5
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
    def testObjDecode7(self):
        # Decode explicit tag
        der = DerObject(0x10, explicit=5)
        der.decode(b("\xa5\x06\x10\x04xxll"))
        self.assertEquals(der._inner_tag_octet, 0x10)
        self.assertEquals(der.payload, b('xxll'))

        # Explicit tag may be 0
        der = DerObject(0x10, explicit=0)
        der.decode(b("\xa0\x06\x10\x04xxll"))
        self.assertEquals(der._inner_tag_octet, 0x10)
        self.assertEquals(der.payload, b('xxll'))
コード例 #6
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjEncode4(self):
     # Implicit tags (constructed)
     der = DerObject(0x10, implicit=1, constructed=True)
     der.payload = b('ppll')
     self.assertEquals(der.encode(), b('\xa1\x04ppll'))
     # Implicit tags (primitive)
     der = DerObject(0x02, implicit=0x1E, constructed=False)
     der.payload = b('ppll')
     self.assertEquals(der.encode(), b('\x9E\x04ppll'))
コード例 #7
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjDecode4(self):
     # Decode implicit tag (primitive)
     der = DerObject(0x02, constructed=False, implicit=0xF)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02'))
     der.decode(b('\x8F\x01\x00'))
     self.assertEquals(der.payload, b('\x00'))
     # Decode implicit tag (constructed)
     der = DerObject(0x02, constructed=True, implicit=0xF)
     self.assertRaises(ValueError, der.decode, b('\x02\x02\x01\x02'))
     der.decode(b('\xAF\x01\x00'))
     self.assertEquals(der.payload, b('\x00'))
コード例 #8
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
    def testObjDecode7(self):
        # Decode explicit tag
        der = DerObject(0x10, explicit=5)
        der.decode(b("\xa5\x06\x10\x04xxll"))
        self.assertEquals(der._inner_tag_octet, 0x10)
        self.assertEquals(der.payload, b('xxll'))

        # Explicit tag may be 0
        der = DerObject(0x10, explicit=0)
        der.decode(b("\xa0\x06\x10\x04xxll"))
        self.assertEquals(der._inner_tag_octet, 0x10)
        self.assertEquals(der.payload, b('xxll'))
コード例 #9
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode2(self):
     # Decode long payload
     der = DerObject(0x02)
     der.decode(b('\x02\x81\x80' + "1" * 128))
     self.assertEquals(der.payload, b("1") * 128)
     self.assertEquals(der._tag_octet, 0x02)
コード例 #10
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjEncode2(self):
     # Initialize with payload
     der = DerObject(0x03, b('\x12\x12'))
     self.assertEquals(der.encode(), b('\x03\x02\x12\x12'))
コード例 #11
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjEncode3(self):
     # Long payload
     der = DerObject(b('\x10'))
     der.payload = b("0") * 128
     self.assertEquals(der.encode(), b('\x10\x81\x80' + "0" * 128))
コード例 #12
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode8(self):
     # Verify that decode returns the object
     der = DerObject(0x02)
     self.assertEqual(der, der.decode(b('\x02\x02\x01\x02')))
コード例 #13
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjEncode1(self):
     # No payload
     der = DerObject(b('\x02'))
     self.assertEquals(der.encode(), b('\x02\x00'))
     # Small payload (primitive)
     der.payload = b('\x45')
     self.assertEquals(der.encode(), b('\x02\x01\x45'))
     # Invariant
     self.assertEquals(der.encode(), b('\x02\x01\x45'))
     # Initialize with numerical tag
     der = DerObject(0x04)
     der.payload = b('\x45')
     self.assertEquals(der.encode(), b('\x04\x01\x45'))
     # Initialize with constructed type
     der = DerObject(b('\x10'), constructed=True)
     self.assertEquals(der.encode(), b('\x30\x00'))
コード例 #14
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode6(self):
     # Arbitrary DER object
     der = DerObject()
     der.decode(b('\x65\x01\x88'))
     self.assertEquals(der._tag_octet, 0x65)
     self.assertEquals(der.payload, b('\x88'))
コード例 #15
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjDecode6(self):
     # Arbitrary DER object
     der = DerObject()
     der.decode(b('\x65\x01\x88'))
     self.assertEquals(der._tag_octet, 0x65)
     self.assertEquals(der.payload, b('\x88'))
コード例 #16
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjEncode2(self):
     # Initialize with payload
     der = DerObject(0x03, b('\x12\x12'))
     self.assertEquals(der.encode(), b('\x03\x02\x12\x12'))
コード例 #17
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode5(self):
     # Decode payload with unexpected tag gives error
     der = DerObject(0x02)
     self.assertRaises(ValueError, der.decode, b('\x03\x02\x01\x02'))
コード例 #18
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjDecode8(self):
     # Verify that decode returns the object
     der = DerObject(0x02)
     self.assertEqual(der, der.decode(b('\x02\x02\x01\x02')))
コード例 #19
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjEncode5(self):
     # Encode type with explicit tag
     der = DerObject(0x10, explicit=5)
     der.payload = b("xxll")
     self.assertEqual(der.encode(), b("\xa5\x06\x10\x04xxll"))
コード例 #20
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjDecode1(self):
     # Decode short payload
     der = DerObject(0x02)
     der.decode(b('\x02\x02\x01\x02'))
     self.assertEquals(der.payload, b("\x01\x02"))
     self.assertEquals(der._tag_octet, 0x02)
コード例 #21
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjEncode5(self):
     # Encode type with explicit tag
     der = DerObject(0x10, explicit=5)
     der.payload = b("xxll")
     self.assertEqual(der.encode(), b("\xa5\x06\x10\x04xxll"))
コード例 #22
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjEncode3(self):
     # Long payload
     der = DerObject(b('\x10'))
     der.payload = b("0")*128
     self.assertEquals(der.encode(), b('\x10\x81\x80' + "0"*128))
コード例 #23
0
ファイル: test_asn1.py プロジェクト: fhl2546374141/dailyfresh
 def testObjDecode1(self):
     # Decode short payload
     der = DerObject(0x02)
     der.decode(b('\x02\x02\x01\x02'))
     self.assertEquals(der.payload, b("\x01\x02"))
     self.assertEquals(der._tag_octet, 0x02)
コード例 #24
0
ファイル: test_asn1.py プロジェクト: chevah/python-package
 def testObjDecode2(self):
     # Decode long payload
     der = DerObject(0x02)
     der.decode(b('\x02\x81\x80' + "1"*128))
     self.assertEquals(der.payload, b("1")*128)
     self.assertEquals(der._tag_octet, 0x02)