Ejemplo n.º 1
0
 def testDecode2(self):
     # Multi-byte integer
     der = DerInteger()
     # Value 0x180L
     der.decode(b('\x02\x02\x01\x80'))
     self.assertEquals(der.value, 0x180)
     # One very long integer
     der.decode(
         b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') +
         b('\x00\x00\x00\x00\x00\x00\x00\x00\x00'))
     self.assertEquals(der.value, 2**2048)
Ejemplo n.º 2
0
    def testStrict1(self):
        number = DerInteger()

        number.decode(b'\x02\x02\x00\x01')
        number.decode(b'\x02\x02\x00\x7F')
        self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x01', strict=True)
        self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x7F', strict=True)
Ejemplo n.º 3
0
 def testDecode2(self):
     # Multi-byte integer
     der = DerInteger()
     # Value 0x180L
     der.decode(b('\x02\x02\x01\x80'))
     self.assertEquals(der.value,0x180L)
     # One very long integer
     der.decode(
     b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
     b('\x00\x00\x00\x00\x00\x00\x00\x00\x00'))
     self.assertEquals(der.value,2L**2048)
Ejemplo n.º 4
0
    def testStrict1(self):
        number = DerInteger()

        number.decode(b'\x02\x02\x00\x01')
        number.decode(b'\x02\x02\x00\x7F')
        self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x01', strict=True)
        self.assertRaises(ValueError, number.decode, b'\x02\x02\x00\x7F', strict=True)
Ejemplo n.º 5
0
 def testDecode3(self):
     # Negative integer
     der = DerInteger()
     # Value -1
     der.decode(b('\x02\x01\xFF'))
     self.assertEquals(der.value, -1)
     # Value -32768
     der.decode(b('\x02\x02\x80\x00'))
     self.assertEquals(der.value, -32768)
Ejemplo n.º 6
0
 def testDecode3(self):
     # Negative integer
     der = DerInteger()
     # Value -1
     der.decode(b('\x02\x01\xFF'))
     self.assertEquals(der.value, -1)
     # Value -32768
     der.decode(b('\x02\x02\x80\x00'))
     self.assertEquals(der.value, -32768)
Ejemplo n.º 7
0
 def testDecode5(self):
     # We still accept BER integer format
     der = DerInteger()
     # Redundant leading zeroes
     der.decode(b('\x02\x02\x00\x01'))
     self.assertEquals(der.value, 1)
     # Redundant leading 0xFF
     der.decode(b('\x02\x02\xFF\xFF'))
     self.assertEquals(der.value, -1)
     # Empty payload
     der.decode(b('\x02\x00'))
     self.assertEquals(der.value, 0)
Ejemplo n.º 8
0
 def testDecode1(self):
     # Single-byte integer
     der = DerInteger()
     # Value 0
     der.decode(b('\x02\x01\x00'))
     self.assertEquals(der.value, 0)
     # Value 1
     der.decode(b('\x02\x01\x01'))
     self.assertEquals(der.value, 1)
     # Value 127
     der.decode(b('\x02\x01\x7F'))
     self.assertEquals(der.value, 127)
Ejemplo n.º 9
0
 def testDecode5(self):
     # We still accept BER integer format
     der = DerInteger()
     # Redundant leading zeroes
     der.decode(b('\x02\x02\x00\x01'))
     self.assertEquals(der.value, 1)
     # Redundant leading 0xFF
     der.decode(b('\x02\x02\xFF\xFF'))
     self.assertEquals(der.value, -1)
     # Empty payload
     der.decode(b('\x02\x00'))
     self.assertEquals(der.value, 0)
Ejemplo n.º 10
0
 def testDecode1(self):
     # Single-byte integer
     der = DerInteger()
     # Value 0
     der.decode(b('\x02\x01\x00'))
     self.assertEquals(der.value, 0)
     # Value 1
     der.decode(b('\x02\x01\x01'))
     self.assertEquals(der.value, 1)
     # Value 127
     der.decode(b('\x02\x01\x7F'))
     self.assertEquals(der.value, 127)
Ejemplo n.º 11
0
 def testDecode7(self):
     # Verify decode returns the DerInteger
     der = DerInteger()
     self.assertEquals(der, der.decode(b('\x02\x01\x7F')))
Ejemplo n.º 12
0
 def testDecode6(self):
     # Explicit encoding
     number = DerInteger(explicit=3)
     number.decode(b('\xa3\x03\x02\x01\x34'))
     self.assertEquals(number.value, 0x34)
Ejemplo n.º 13
0
 def testDecode7(self):
     # Verify decode returns the DerInteger
     der = DerInteger()
     self.assertEquals(der, der.decode(b('\x02\x01\x7F')))
Ejemplo n.º 14
0
 def testDecode6(self):
     # Explicit encoding
     number = DerInteger(explicit=3)
     number.decode(b('\xa3\x03\x02\x01\x34'))
     self.assertEquals(number.value, 0x34)