Ejemplo n.º 1
0
def generate_msg(command, keyfile):
	print("Generating message for '%s' using '%s' ..." % (command, keyfile))
	# 0. Read private key from file
	try:
		with open(keyfile, 'rb') as f:
			pri = rsa.PrivateKey.load_pkcs1(f.read(), "PEM")
	except IOError:
		print "Error: No such key file. "
		sys.exit()

	# 1. Check the validation of command
	msg = ccpkt.build_msg(command)

	# 2. sign message and base64 encode 
	cmdsig = rsa.sign(msg, pri, "SHA-256")
	#with open('keys/mrpub.pem', 'rb') as pf:
	#	pub = rsa.PublicKey.load_pkcs1(pf.read(), "PEM")
	#master = rsa.verify(msg, cmdsig, pub)
	#if master:
	#	print("Verify sucess")
	moo = slowaes.AESModeOfOperation()
	mode, orig_len, cipher = moo.encrypt(msg, moo.modeOfOperation["CBC"], _aes_key, moo.aes.keySize["SIZE_128"], _iv)
	cipher_str = str(bytearray(cipher))
	message = str(len(cipher_str)).zfill(4) + cipher_str + str(orig_len).zfill(4) + str(cmdsig)
	b64msg = base64.b64encode(message)
	print "'", b64msg, "'"
Ejemplo n.º 2
0
Archivo: cmd.py Proyecto: sfluo/Mr.Bot
def generate_msg(command, keyfile):
    print ("Generating message for '%s' using '%s' ..." % (command, keyfile))
    # 0. Read private key from file
    try:
        with open(keyfile, "rb") as f:
            pri = rsa.PrivateKey.load_pkcs1(f.read(), "PEM")
    except IOError:
        print "Error: No such key file. "
        sys.exit()

        # 1. Check the validation of command
    msg = ccpkt.build_msg(command)

    # 2. sign message and base64 encode
    cmdsig = rsa.sign(msg, pri, "SHA-256")
    # with open('keys/mrpub.pem', 'rb') as pf:
    # 	pub = rsa.PublicKey.load_pkcs1(pf.read(), "PEM")
    # master = rsa.verify(msg, cmdsig, pub)
    # if master:
    # 	print("Verify sucess")
    moo = slowaes.AESModeOfOperation()
    mode, orig_len, cipher = moo.encrypt(msg, moo.modeOfOperation["CBC"], _aes_key, moo.aes.keySize["SIZE_128"], _iv)
    cipher_str = str(bytearray(cipher))
    message = str(len(cipher_str)).zfill(4) + cipher_str + str(orig_len).zfill(4) + str(cmdsig)
    b64msg = base64.b64encode(message)
    print "'", b64msg, "'"
Ejemplo n.º 3
0
 def generate_signature(self, sender_private_key):
     message = self.sender + self.recipient + str(self.value)
     self.signature = sign(message.encode(), sender_private_key)
Ejemplo n.º 4
0
def sign(data, private_key):
    signature = rsa.sign(data, private_key)

    return base64.standard_b64encode(signature + data)