pykmip测试

开源路径:https://github.com/OpenKMIP

创建key并加解密

import ssl
from kmip.pie.client import ProxyKmipClient, enums
from kmip.pie import objects

client = ProxyKmipClient(
    hostname='127.0.0.1',
    port=5696,
    cert='/home/nxy/PyKMIP/bin/client_cert.pem',
    key='/home/nxy/PyKMIP/bin/client_private_key.pem',
    ca='/home/nxy/PyKMIP/bin/server_ca_cert.pem',
    username='example_username',
    password='example_password',
    config='client',
    config_file='/etc/pykmip/pykmip.conf'
)


with client:
	#创建密钥
	
	key_id = client.create(
        enums.CryptographicAlgorithm.AES,
        256,
        operation_policy_name='default',
        name='Test_256_AES_Symmetric_Key',
        cryptographic_usage_mask=[
            enums.CryptographicUsageMask.ENCRYPT,
            enums.CryptographicUsageMask.DECRYPT
        ]
    )
	
	print('key_id:',key_id)
	
	#activate激活key_id
	client.activate(key_id)
	
	#加密
	cipher,_ = client.encrypt(
        b'mytestmessage',
        uid=key_id,
        cryptographic_parameters={
            'cryptographic_algorithm':
                enums.CryptographicAlgorithm.AES,
            'block_cipher_mode': enums.BlockCipherMode.CBC,
            'padding_method': enums.PaddingMethod.PKCS5
        },
        iv_counter_nonce=(
            b'\x85\x1e\x87\x64\x77\x6e\x67\x96'
            b'\xaa\xb7\x22\xdb\xb6\x44\xac\xe8'
        )
    )
	print('cipher:',cipher,len(cipher))
	
	#解密
	plain = client.decrypt(
        data=cipher,
        uid=key_id,
        cryptographic_parameters={
            'cryptographic_algorithm':
                enums.CryptographicAlgorithm.AES,
            'block_cipher_mode': enums.BlockCipherMode.CBC,
            'padding_method': enums.PaddingMethod.PKCS5
        },
        iv_counter_nonce=(
            b'\x85\x1e\x87\x64\x77\x6e\x67\x96'
            b'\xaa\xb7\x22\xdb\xb6\x44\xac\xe8'
        )
    )
	print('plain:',plain)

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值