处理pskc文件的python模块
python-pskc的Python项目详细描述
处理可移植对称密钥容器(pskc)文件的python模块 在RFC 6030中定义。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
编写AM加密的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-2019 Arthur de Jong
这个库是免费软件;您可以重新分发它和/或 根据GNU小公众条款修改 自由软件基金会发布的许可证; 许可证的2.1版,或(由您选择)任何更高版本。
这个图书馆的发行是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。看GNU 更详细的信息,请参阅较低的通用公共许可证。
你应该收到一份GNU的副本 许可证与此库一起;如果没有,则写入免费软件 马萨诸塞州波士顿富兰克林街51号5楼基金会公司 02110-1301美国