处理PSKC文件的Python模块
项目描述
一个Python模块,用于处理如RFC 6030定义的可携带对称密钥容器(PSKC)文件。PSKC文件用于将对称密钥和密钥元数据(种子文件)传输和配置到不同类型的加密模块,通常是一次性密码系统或其他认证设备。
此模块可用于从PSKC文件中提取密钥,用于OTP认证系统。该模块还可以用于编写PSKC文件。
此模块应能够处理大多数常见的PSKC文件。
https://arthurdejong.org/python-pskc/
API
该模块提供了一个简单的API,主要用于解析现有的PSKC文件。
从加密的PSKC文件中提取密钥材料就像这样简单:
>>> from pskc import PSKC >>> pskc = PSKC('tests/rfc6030/figure7.pskcxml') >>> pskc.encryption.derive_key('qwerty') >>> for key in pskc.keys: ... print('%s %s' % (key.serial, str(key.secret.decode()))) 987654321 12345678901234567890
编写加密的PSKC文件就像这样简单:
>>> pskc = PSKC() >>> key = pskc.add_key( ... id='456', secret='987654321', manufacturer='Manufacturer', ... algorithm = 'urn:ietf:params:xml:ns:keyprov:pskc:hotp') >>> pskc.encryption.setup_pbkdf2('passphrase') >>> pskc.write('output.pskcxml')
密钥对象有多个属性。有关详细信息,请参阅pskc.key.Key文档。
安全考虑
此代码处理私钥材料,用Python编写。未采取任何预防措施来锁定内存中的页面以防止交换。同时,目前也没有尝试安全地处理可能包含私钥材料的内存。
版权
版权所有(C) 2014-2024 Arthur de Jong
本库是免费软件;您可以在自由软件基金会发布的GNU Lesser General Public License的条款下重新分发或修改它;无论是许可证的2.1版,还是(根据您的选择)任何后续版本。
本库的发布是希望它会很有用,但没有任何保证;甚至没有关于适销性或特定用途适用性的暗示性保证。有关详细信息,请参阅GNU Lesser General Public License。
您应该已经随本库收到了GNU Lesser General Public License的一个副本;如果没有,请写信给自由软件基金会,Inc.,51 Franklin Street,第五层,波士顿,MA 02110-1301 USA。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
python-pskc-1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ae3671887383bf7b77e019d2c2d43f1f289443cc6ebd20e3a8367cd5a7ee903 |
|
MD5 | c863f0149b0332c89a4d8250e7e23b77 |
|
BLAKE2b-256 | 51b491cc042a24d3840580a0c5d66cb10b96ca651497d1f4c0902a91c66147bd |
python_pskc-1.3-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0b86ecef3bfc1d9be3bf24df28d6499e7ec1015230f4b4ef09b933a23832860 |
|
MD5 | 09d7dd9cf7c527e6a2b63f5d0dc8eb20 |
|
BLAKE2b-256 | 682f0b038974f663ae07a4c54a0c48878fe91d866d8b973db66aa2c0eb025680 |