跳转到主要内容

处理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编写。未采取任何预防措施来锁定内存中的页面以防止交换。同时,目前也没有尝试安全地处理可能包含私钥材料的内存。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

python-pskc-1.3.tar.gz (130.8 kB 查看哈希值)

上传时间

构建分发

python_pskc-1.3-py2.py3-none-any.whl (53.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面