另一个简单的方法是encrypt/acme客户端

le-client的Python项目详细描述


这是另一个acme/让我们加密客户端。 它的灵感来自Acme Tiny,但做事方式不同。

https://travis-ci.org/drdaeman/le_client.svg?branch=master

要求

  • 客户端是用python 3编写的。 目前它与Python2.x不兼容。
  • 不依赖任何第三方 python模块。代码应该运行良好 一个光秃秃的python设置,没有来自pypi的任何东西。
  • 您需要openssl可用的命令行可执行文件 用于PATH。它是用来做钥匙和证书的 请求解析。

功能和限制

  • 对服务器或软件一无所知。 它的唯一目的是获得一个已签名的证书。

  • 目前,唯一支持的挑战类型是 http-01(网络根目录)。

  • 不需要任何特权。

    它需要访问证书请求,并写入 访问/.well-known/acme-challenge/并可以输出 文件或标准输出上获得的证书。

  • 它可以处理本地帐户密钥文件, 或者可以使用特殊的远程服务 请求。

    这就是我写自己客户的主要原因: 我不想保留帐户的私钥 在不受信任的机器上。

  • 目前,它只支持EC-256帐户密钥。 很容易添加其他曲线大小和RSA支持, 但我很懒。

  • 它可以作为一个独立的 命令行实用程序,或作为一个简单的python库。

远程帐户密钥协议

此客户端支持一种特殊的操作模式,其中 它没有本地帐户私钥,但会询问 一个远程服务来签署它需要的任何有效负载。

远程服务位于单个url上,服务于 通过https。要验证客户端,cli当前 仅支持HTTP基本身份验证。

要签名,我们将post请求发送到给定的url, 追加nonce查询参数,并发送 有效载荷作为柱体。我们希望服务器 要回答200ok,返回一个jws作为响应。

这就是整个协议的描述。

许可证

版权所有(c)2016,Aleksey Zhukov

此程序是免费软件:您可以重新分发和/或修改 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。

有关详细信息,请参见LICENSE文件。

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

推荐PyPI第三方库


热门话题
文件名的java正则表达式限制名称大小和文件扩展名   Mac上的java Android SDK:jspawnhelper意外退出   java SQL Server 2000到Oracle 12c重音字符   在Java中快速比较大数据集中的值和小数据集中的值   java在代码中的许多地方保留对对象的引用   Java规范中私有内部类的jvm访问标志与反射API不一致?   比较2个int数组中匹配的数字   java Apache Commons数学简化回归:get prediction stderr   安卓 Java SDK管理器因命令行输出中的“flashplayerplugin”而崩溃   JavaSQLite:关闭DB时必须关闭游标吗?   泛型Java设计抽象类声明示例说明   java应用程序在添加片段时崩溃   如何在java中使用注释为字段加载值