@@ -247,14 +247,14 @@ def __str__(self):
247
247
class AuthCommand (object ):
248
248
"""TPMS_AUTH_COMMAND"""
249
249
250
- def __init__ (self , session_handle = TPM2_RS_PW , nonce = '' , session_attributes = 0 ,
251
- hmac = '' ):
250
+ def __init__ (self , session_handle = TPM2_RS_PW , nonce = bytes () ,
251
+ session_attributes = 0 , hmac = bytes () ):
252
252
self .session_handle = session_handle
253
253
self .nonce = nonce
254
254
self .session_attributes = session_attributes
255
255
self .hmac = hmac
256
256
257
- def __str__ (self ):
257
+ def __bytes__ (self ):
258
258
fmt = '>I H%us B H%us' % (len (self .nonce ), len (self .hmac ))
259
259
return struct .pack (fmt , self .session_handle , len (self .nonce ),
260
260
self .nonce , self .session_attributes , len (self .hmac ),
@@ -268,11 +268,11 @@ def __len__(self):
268
268
class SensitiveCreate (object ):
269
269
"""TPMS_SENSITIVE_CREATE"""
270
270
271
- def __init__ (self , user_auth = '' , data = '' ):
271
+ def __init__ (self , user_auth = bytes () , data = bytes () ):
272
272
self .user_auth = user_auth
273
273
self .data = data
274
274
275
- def __str__ (self ):
275
+ def __bytes__ (self ):
276
276
fmt = '>H%us H%us' % (len (self .user_auth ), len (self .data ))
277
277
return struct .pack (fmt , len (self .user_auth ), self .user_auth ,
278
278
len (self .data ), self .data )
@@ -296,16 +296,17 @@ def __fmt(self):
296
296
return '>HHIH%us%usH%us' % \
297
297
(len (self .auth_policy ), len (self .parameters ), len (self .unique ))
298
298
299
- def __init__ (self , object_type , name_alg , object_attributes , auth_policy = '' ,
300
- parameters = '' , unique = '' ):
299
+ def __init__ (self , object_type , name_alg , object_attributes ,
300
+ auth_policy = bytes (), parameters = bytes (),
301
+ unique = bytes ()):
301
302
self .object_type = object_type
302
303
self .name_alg = name_alg
303
304
self .object_attributes = object_attributes
304
305
self .auth_policy = auth_policy
305
306
self .parameters = parameters
306
307
self .unique = unique
307
308
308
- def __str__ (self ):
309
+ def __bytes__ (self ):
309
310
return struct .pack (self .__fmt (),
310
311
self .object_type ,
311
312
self .name_alg ,
@@ -343,7 +344,7 @@ def get_algorithm(name):
343
344
344
345
def hex_dump (d ):
345
346
d = [format (ord (x ), '02x' ) for x in d ]
346
- d = [d [i : i + 16 ] for i in xrange (0 , len (d ), 16 )]
347
+ d = [d [i : i + 16 ] for i in range (0 , len (d ), 16 )]
347
348
d = [' ' .join (x ) for x in d ]
348
349
d = os .linesep .join (d )
349
350
@@ -401,7 +402,7 @@ def read_pcr(self, i, bank_alg = TPM2_ALG_SHA1):
401
402
pcrsel_len = max ((i >> 3 ) + 1 , 3 )
402
403
pcrsel = [0 ] * pcrsel_len
403
404
pcrsel [i >> 3 ] = 1 << (i & 7 )
404
- pcrsel = '' .join (map (chr , pcrsel ))
405
+ pcrsel = '' .join (map (chr , pcrsel )). encode ()
405
406
406
407
fmt = '>HII IHB%us' % (pcrsel_len )
407
408
cmd = struct .pack (fmt ,
@@ -443,7 +444,7 @@ def extend_pcr(self, i, dig, bank_alg = TPM2_ALG_SHA1):
443
444
TPM2_CC_PCR_EXTEND ,
444
445
i ,
445
446
len (auth_cmd ),
446
- str (auth_cmd ),
447
+ bytes (auth_cmd ),
447
448
1 , bank_alg , dig )
448
449
449
450
self .send_cmd (cmd )
@@ -457,7 +458,7 @@ def start_auth_session(self, session_type, name_alg = TPM2_ALG_SHA1):
457
458
TPM2_RH_NULL ,
458
459
TPM2_RH_NULL ,
459
460
16 ,
460
- '\0 ' * 16 ,
461
+ ( '\0 ' * 16 ). encode () ,
461
462
0 ,
462
463
session_type ,
463
464
TPM2_ALG_NULL ,
@@ -472,7 +473,7 @@ def __calc_pcr_digest(self, pcrs, bank_alg = TPM2_ALG_SHA1,
472
473
473
474
for i in pcrs :
474
475
pcr = self .read_pcr (i , bank_alg )
475
- if pcr == None :
476
+ if pcr is None :
476
477
return None
477
478
x += pcr
478
479
@@ -489,15 +490,16 @@ def policy_pcr(self, handle, pcrs, bank_alg = TPM2_ALG_SHA1,
489
490
pcrsel = [0 ] * pcrsel_len
490
491
for i in pcrs :
491
492
pcrsel [i >> 3 ] |= 1 << (i & 7 )
492
- pcrsel = '' .join (map (chr , pcrsel ))
493
+ pcrsel = '' .join (map (chr , pcrsel )). encode ()
493
494
494
495
fmt = '>HII IH%usIHB3s' % ds
495
496
cmd = struct .pack (fmt ,
496
497
TPM2_ST_NO_SESSIONS ,
497
498
struct .calcsize (fmt ),
498
499
TPM2_CC_POLICY_PCR ,
499
500
handle ,
500
- len (dig ), str (dig ),
501
+ len (dig ),
502
+ bytes (dig ),
501
503
1 ,
502
504
bank_alg ,
503
505
pcrsel_len , pcrsel )
@@ -534,7 +536,7 @@ def flush_context(self, handle):
534
536
535
537
self .send_cmd (cmd )
536
538
537
- def create_root_key (self , auth_value = '' ):
539
+ def create_root_key (self , auth_value = bytes () ):
538
540
attributes = \
539
541
Public .FIXED_TPM | \
540
542
Public .FIXED_PARENT | \
@@ -570,11 +572,11 @@ def create_root_key(self, auth_value = ''):
570
572
TPM2_CC_CREATE_PRIMARY ,
571
573
TPM2_RH_OWNER ,
572
574
len (auth_cmd ),
573
- str (auth_cmd ),
575
+ bytes (auth_cmd ),
574
576
len (sensitive ),
575
- str (sensitive ),
577
+ bytes (sensitive ),
576
578
len (public ),
577
- str (public ),
579
+ bytes (public ),
578
580
0 , 0 )
579
581
580
582
return struct .unpack ('>I' , self .send_cmd (cmd )[10 :14 ])[0 ]
@@ -587,7 +589,7 @@ def seal(self, parent_key, data, auth_value, policy_dig,
587
589
attributes = 0
588
590
if not policy_dig :
589
591
attributes |= Public .USER_WITH_AUTH
590
- policy_dig = ''
592
+ policy_dig = bytes ()
591
593
592
594
auth_cmd = AuthCommand ()
593
595
sensitive = SensitiveCreate (user_auth = auth_value , data = data )
@@ -608,11 +610,11 @@ def seal(self, parent_key, data, auth_value, policy_dig,
608
610
TPM2_CC_CREATE ,
609
611
parent_key ,
610
612
len (auth_cmd ),
611
- str (auth_cmd ),
613
+ bytes (auth_cmd ),
612
614
len (sensitive ),
613
- str (sensitive ),
615
+ bytes (sensitive ),
614
616
len (public ),
615
- str (public ),
617
+ bytes (public ),
616
618
0 , 0 )
617
619
618
620
rsp = self .send_cmd (cmd )
@@ -635,7 +637,7 @@ def unseal(self, parent_key, blob, auth_value, policy_handle):
635
637
TPM2_CC_LOAD ,
636
638
parent_key ,
637
639
len (auth_cmd ),
638
- str (auth_cmd ),
640
+ bytes (auth_cmd ),
639
641
blob )
640
642
641
643
data_handle = struct .unpack ('>I' , self .send_cmd (cmd )[10 :14 ])[0 ]
@@ -653,7 +655,7 @@ def unseal(self, parent_key, blob, auth_value, policy_handle):
653
655
TPM2_CC_UNSEAL ,
654
656
data_handle ,
655
657
len (auth_cmd ),
656
- str (auth_cmd ))
658
+ bytes (auth_cmd ))
657
659
658
660
try :
659
661
rsp = self .send_cmd (cmd )
@@ -675,7 +677,7 @@ def reset_da_lock(self):
675
677
TPM2_CC_DICTIONARY_ATTACK_LOCK_RESET ,
676
678
TPM2_RH_LOCKOUT ,
677
679
len (auth_cmd ),
678
- str (auth_cmd ))
680
+ bytes (auth_cmd ))
679
681
680
682
self .send_cmd (cmd )
681
683
@@ -693,7 +695,7 @@ def __get_cap_cnt(self, cap, pt, cnt):
693
695
more_data , cap , cnt = struct .unpack ('>BII' , rsp [:9 ])
694
696
rsp = rsp [9 :]
695
697
696
- for i in xrange (0 , cnt ):
698
+ for i in range (0 , cnt ):
697
699
handle = struct .unpack ('>I' , rsp [:4 ])[0 ]
698
700
handles .append (handle )
699
701
rsp = rsp [4 :]
0 commit comments