66
77
88class Message (object ):
9-
10- def __init__ (self , message , signature , public_key ):
11- self .public_key = public_key
12- self .signature = signature
13- self .message = message
9+ def __init__ (self , ** kwargs ):
10+ for k in kwargs .keys ():
11+ if k in ['message' , 'signature' , 'publickey' , 'publicKey' ]:
12+ self .__setattr__ (k , kwargs [k ])
13+ else :
14+ raise TypeError ('Invalid keyword argument %s' % k )
1415
1516 @classmethod
1617 def sign (cls , message , passphrase ):
@@ -23,11 +24,11 @@ def sign(cls, message, passphrase):
2324 Returns:
2425 Message: returns a message object
2526 """
26- message_byes = message if isinstance (message , bytes ) else message .encode ()
27+ message_bytes = message if isinstance (message , bytes ) else message .encode ()
2728 passphrase = passphrase .decode () if isinstance (passphrase , bytes ) else passphrase
2829 private_key = PrivateKey .from_passphrase (passphrase )
29- signature = private_key .sign (message_byes )
30- return cls (message , signature , private_key .public_key )
30+ signature = private_key .sign (message_bytes )
31+ return cls (message = message , signature = signature , publicKey = private_key .public_key )
3132
3233 def verify (self ):
3334 """Verify the Message object
@@ -36,7 +37,7 @@ def verify(self):
3637 bool: returns a boolean - true if verified, false if not
3738 """
3839 message = self .message if isinstance (self .message , bytes ) else self .message .encode ()
39- key = PublicKey .from_hex (self .public_key )
40+ key = PublicKey .from_hex (self .publickey ) if hasattr ( self , 'publickey' ) else PublicKey . from_hex ( self . publicKey )
4041 signature = unhexlify (self .signature )
4142 is_verified = key .public_key .verify (signature , message )
4243 return is_verified
@@ -48,7 +49,7 @@ def to_dict(self):
4849 dict: dictionary consiting of public_key, signature and message
4950 """
5051 data = {
51- 'public_key' : self .public_key ,
52+ ( 'publicKey' if hasattr ( self , 'publicKey' ) else 'publickey' ): ( self .publicKey if hasattr ( self , 'publicKey' ) else self . publickey ) ,
5253 'signature' : self .signature ,
5354 'message' : self .message ,
5455 }
0 commit comments