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'))
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'))
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"))
def testObjEncode3(self): # Long payload der = DerObject(b('\x10')) der.payload = b("0") * 128 self.assertEquals(der.encode(), b('\x10\x81\x80' + "0" * 128))
def testObjEncode2(self): # Initialize with payload der = DerObject(0x03, b('\x12\x12')) self.assertEquals(der.encode(), b('\x03\x02\x12\x12'))
def testObjEncode3(self): # Long payload der = DerObject(b('\x10')) der.payload = b("0")*128 self.assertEquals(der.encode(), b('\x10\x81\x80' + "0"*128))