def main(): (publicKey, privateKey) = key.newkeys(1024) sentence = b'I, Ziyue Gao, signed this sentence!' sig = rsa.sign(sentence, privateKey, 'SHA-256') enc = rsa.encrypt(sentence, publicKey) return sentence, sig, publicKey
def test_validate(self): expiry = datetime.datetime.utcnow() + datetime.timedelta(seconds=5) expiry = int(time.mktime(expiry.timetuple())) cert_url = 'http://tester.com/cert1' expires = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) unsigned_token = "un=test|client_id=test|expiry={0}|SigningSubject={1}|expiry={2}".format( expiry, cert_url, time.mktime(expires.timetuple())) unsigned_token = unsigned_token pub_key, priv_key = key.newkeys(1024) sig = rsa.sign(unsigned_token, priv_key, 'SHA-256') tmp_dir = tempfile.mkdtemp() os.environ['NEXUS_CACHE_PATH'] = tmp_dir encoded_sig = binascii.hexlify(sig) signed_token = "{0}|sig={1}".format(unsigned_token, encoded_sig) response = requests.Response() response._content = json.dumps({'pubkey': pub_key.save_pkcs1()}) def get_cert(*args, **kwargs): return namedtuple('Request', ['content', 'status_code'])( json.dumps({'pubkey': pub_key.save_pkcs1()}), 200) self.replacer.replace('requests.get', get_cert) token_utils.validate_token(signed_token) shutil.rmtree(tmp_dir)
def main(): (pub_key, priv_key) = key.newkeys(1024) raw = b'I, Chengeng Xiao, signed this sentence!' crypto = rsa.encrypt(raw, pub_key) signature = rsa.sign(raw, priv_key, 'SHA-256') msg = rsa.decrypt(crypto, priv_key) return msg, signature, pub_key
def main(): (pub_key, priv_key) = key.newkeys(1024) raw = b'I, Chengeng Xiao, signed this sentence!' crypto = rsa.encrypt(raw, pub_key) signature = rsa.sign(raw, priv_key, 'SHA-256') msg = rsa.decrypt(crypto, priv_key) #print(rsa.verify(raw, signature, pub_key)) #signature is the same in both - this is the signed version. Your message didn't change - fake == raw return msg, signature, pub_key
def generate_key_file(length=2048): try: from rsa import key if int(length) not in [1024, 2048, 3072, 4096]: LOG.error("length should be 1024, 2048, 3072 or 4096") return pub_key, pri_key = key.newkeys(int(length)) pub_key_pem = pub_key.save_pkcs1().decode() pri_key_pem = pri_key.save_pkcs1().decode() with open("pri.key", "w") as file_pri: file_pri.write(pri_key_pem) with open("pub.key", "w") as file_pub: file_pub.write(pub_key_pem) except ModuleNotFoundError: return
def add_block(self, tran): block_id = self.blockchain[-1]['block_id'] + 1 public_key = SigningKey.generate() vk = public_key.verifying_key.to_string() pu_key, private_key = key.newkeys(2048) miner = input('Enter the Miner id: ') trans = self.add_transaction(public_key, tran) previous_hash = sha256(dumps(self.blockchain[-1]).encode()).hexdigest() m_root = self.m_root(trans) block = { 'block_id': block_id, 'previous_hash': previous_hash, 'miner': miner, 'm_root': m_root, 'timestamp': time.time(), 'public_key': public_key.to_string().hex(), 'auth_public_key': str(pu_key)[10:-1], 'transaction': trans } self.blockchain.append(block) self.creating_file(vk, private_key)
def test_validate(self): expiry = datetime.datetime.utcnow() + datetime.timedelta(seconds=5) expiry = int(time.mktime(expiry.timetuple())) cert_url = 'http://tester.com/cert1' expires = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) unsigned_token = "un=test|expiry={0}|SigningSubject={1}|expiry={2}".format(expiry, cert_url, time.mktime(expires.timetuple())) unsigned_token = unsigned_token pub_key, priv_key = key.newkeys(1024) sig = rsa.sign(unsigned_token, priv_key, 'SHA-256') tmp_dir = tempfile.mkdtemp() os.environ['NEXUS_CACHE_PATH'] = tmp_dir encoded_sig = binascii.hexlify(sig) signed_token = "{0}|sig={1}".format(unsigned_token, encoded_sig) response = requests.Response() response._content = json.dumps({'pubkey':pub_key.save_pkcs1()}) self.replacer.replace('requests.get', lambda *args, **kwargs: response) token_utils.validate_token(signed_token) shutil.rmtree(tmp_dir)
def generate(nbits): return key.newkeys(nbits, False)
import base64 from rsa import key, common, encrypt (pub_key, priv_key) = key.newkeys(256) message = b'[{"WORK_PLACE_NAME":"' crypto = encrypt(message, pub_key) print(crypto) code_ = base64.encodebytes(crypto) print(code_) bit_ = base64.decodebytes(code_) print(bit_)
#!/usr/bin/env python3 import sys from rsa import key, common (pub_key, priv_key) = key.newkeys(2048) fd = open(sys.argv[1], 'wb') fd.write(pub_key.save_pkcs1(format='PEM')) fd.close() fd = open(sys.argv[2], 'wb') fd.write(priv_key.save_pkcs1(format='PEM')) fd.close()