Changeset 177
- Timestamp:
- 11/16/09 11:05:16 (9 months ago)
- Files:
-
- pykcs11/trunk/samples/dumpit.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pykcs11/trunk/samples/dumpit.py
r176 r177 28 28 # Version no: 1.0 29 29 30 FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])31 30 def hexx(intval): 32 31 x = hex(intval)[2:] … … 37 36 return x 38 37 39 def dump(src, length = 8): 40 N=0; result='' 38 def dump(src, length=8): 39 FILTER = ''.join([(len(repr(chr(x))) == 3) and chr(x) or '.' for x in range(256)]) 40 N = 0 41 result = '' 41 42 while src: 42 s, src = src[:length],src[length:]43 hexa = ' '.join(["%02X" %ord(x) for x in s])43 s, src = src[:length], src[length:] 44 hexa = ' '.join(["%02X" % ord(x) for x in s]) 44 45 s = s.translate(FILTER) 45 result += "%04X %-*s %s\n" % (N, length *3, hexa, s)46 result += "%04X %-*s %s\n" % (N, length * 3, hexa, s) 46 47 N += length 47 48 return result … … 87 88 normal = "\x1b[0m" 88 89 89 format_long = magenta + " %s:" + blue + " %s (%s)" + normal90 format_long = magenta + " %s:" + blue + " %s (%s)" + normal 90 91 format_binary = magenta + " %s:" + blue + " %d bytes" + normal 91 92 format_normal = magenta + " %s:" + blue + " %s" + normal … … 116 117 if pin_available: 117 118 try: 118 session.login(pin =pin)119 session.login(pin=pin) 119 120 except: 120 121 print "login failed, exception:", str(sys.exc_info()[1]) … … 150 151 if sign: 151 152 try: 152 toSign ="12345678901234567890" # 20 bytes, SHA1 digest153 toSign = "12345678901234567890" # 20 bytes, SHA1 digest 153 154 print "* Signing with object 0x%08X following data: %s" % (o.value(), toSign) 154 155 signature = session.sign(o, toSign) … … 176 177 if m and e: 177 178 try: 178 toEncrypt ="12345678901234567890"179 toEncrypt = "12345678901234567890" 179 180 # note: PKCS1 BT2 padding should be random data, 180 181 # but this is just a test and we use 0xFF... 181 182 padded = "\x02%s\x00%s" % ("\xFF" * (128 - (len(toEncrypt)) -2), toEncrypt) 182 183 print "* Decrypting with 0x%08X following data: %s" % (o.value(), toEncrypt) 183 print "padded:\n", dump(padded, 16)184 print "padded:\n", dump(padded, 16) 184 185 encrypted = pow(eval('0x%sL' % padded.encode('hex')), ex, mx) # RSA 185 186 encrypted1 = hexx(encrypted).decode('hex') … … 230 231 except PyKCS11.PyKCS11Error, e: 231 232 print "Error:", e 232
