PKCS11加密密钥类

tokencrypt的Python项目详细描述


此模块提供与加密兼容的代理类,以便使用 加密智能卡(如Yubi密钥或PKCS 11令牌) 处理实际的加密工作负载。

这些通常被认为是“安全”令牌和私有 密钥它们通常被配置为不可提取私钥 从代币的硬件。因此,您需要请求令牌 执行任何通常使用 私钥。

在本模块中,您将发现密码的新抽象 rsaprivatekey类,称为rsaprivatetoken而不是使用 后端提供的普通加密使用硬件令牌 直接的。

目前,这意味着pkcs 11api由 opensc-pkcs11[1]包。tokencrypt使用pykcs11库 要包装opensc pkcs 11库并需要一个环境变量 设置以便可以在Debian上找到库,该库将

exportPYKCS11LIB=/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

这个库的一个用例是使用一个yubikey来提供oauth 使用请求的python应用程序的标识服务-oauth2 图书馆。如果要访问第三方API 云服务系统。

在这种情况下,可以向图书馆提供rsaprivatetoken 通常的rsaprivatekey。

许多库示例显示提供了一个pem编码的字符串,但它们也 使用密码学的rsaprivatekey的一个子类,如下所示。

示例

importTokenCryptfromThierAPIimportAPIConection,PrivateCredentials# Not a working example.rsa_key=TokenCrypt.RSAPrivateToken(slot=0,key=0,pin='123456')withrsa_key:credentials=PrivateCredentials(args.consumer_key,rsa_key)api=APIConection(credentials)do_something_with(api)
[1]This is the package name in debian Stretch, Buster, Bullseye(so far), your distribution may vary.

当前状态

这是概念发布的初步证明,其设计足以 支持作为OAuth客户机工作的代码。因此,目前唯一的行动 在密钥上实现的是签名。

但是有很多todo,pull请求和bug报告都是受欢迎的。

待办事项

  • Implement RSAPublicToken .
  • Dynamically select the signing mechanism based to the provided padding and hash.
  • Implement decrypt.
  • Implement certificate extraction.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将外部库(LIB)集成到grails项目中?   java 安卓:progressTintMode、安卓:secondaryProgressTintMode和安卓:progressDrawable做什么?   java获得了启动播放器的精确方向   java如何在布局/样式XML中设置状态栏着色颜色?   Java中的图形游戏未显示   java如何在WebSphere8.5.5中的我的JAAS自定义登录模块中使用SAML令牌属性值   使用jackson spring API解析嵌套json   java如何从用户请求中获取用户代理?   Netbeans 6.8中的java UI控件定位   java显示listgrid中两个表中的数据   java Google Cloud Bigtable客户端连接池   Vert中的java更改日志级别。通过添加一个配置文件   java调用构造函数是否意味着创建实例?   java getFrom()[0])中[0]用于获取邮件发件人地址的用法是什么   “继续”标志的java Gradle属性?   jakarta ee如何在java ee中创建GUID   java不兼容类型:无法将int转换为整数   java需要借助DefaultHandler的characters函数将XML数据读入安卓应用程序   java mapstruct将方法应用于列表中的所有对象