没有项目描述
microacme的Python项目详细描述
[![管道状态](https://gitlab.mirus.io/domains/roadrunner/microacme/badges/master/pipeline.svg)(https://mirus.githost.io/domains/roadrunner/microacme/commits/master)
[![覆盖报告](https://gitlab.mirus.io/domains/roadrunner/microacme/badges/master/coverage.svg?job=test)(https://mirus.githost.io/domains/roadrunner/microacme/commits/master)
microacme
`microacme'是一个库,用于讲acme的api服务器,例如由letsencrypt服务运行的服务器。
`microacme`的主要优势在于,它设计成易于子类化和扩展的
以允许自定义实现来解决acme挑战,
无需担心从头开始实现acme rfc。
diafygi优秀的[微型acme项目](https://github.com/diafygi/acme tiny)的目标是小型、无依赖性和易于审计。这个fork
旨在保持小型化,但不以可读性或可用性作为可扩展库的代价。
此外,它依赖于公认的第三方库来处理http请求、json web令牌签名和加密原语(usin分别是g"requests"、"jwcrypto"和"cryptography"。
microAcme,您需要在microAcme.acme client的子类上实现一些方法。
``python
from microAcme import acmeclient
覆盖下面的方法
以自定义acme客户端的质询/响应行为
。
"
"定义选择质询(自我、域、质询):
"
每个域都有多个解决质询的选项。
重写此函数以选择要为此域解决的挑战。
"
"通过
def set_challenge(self,domain,challenge):
"
"选择挑战后,它需要实际执行你存在于某个地方。
这是你满足挑战要求的地方。
"
"引发NotImplementederror("需要实现一个函数来设置挑战。")
def validate_challenge(self,domain,challenge):
"
用于给acmeclient实例一个机会,确保
外部世界将看到set_challenge所做的更改。
默认情况下,不执行任何操作。例如,可用于在等待异步上载到远程web服务器时睡眠(1)。或者等待
dns传播发生。
"
通过
def cleanup_completed_challenge(self,domain,challenge):
""
此方法在challenge成功后调用。它用于清除解决挑战的任何工件。
"
"pass
```
一旦实现了这些方法,您就可以使用帐户密钥和ca url来实例化您的客户机。
``python
import microacme
my client=mycustomacmeclient(
account_key=bytes_key_,格式为pem_格式,
ca=microacme.staging_ca
)
首先,CRE创建密钥:
key=microacme。生成加密密钥(key=3072)
公用名='widgetmaker.com',
备用名=[
'mail.widgetmaker.com',
'dev.widgetmaker.com',
],
自动www=true
)
证书(CSR)
```
大多数都是不言而喻的,但是下面包含了一些示例用法。
`` python
import microacme
e)附加密码短语以保护静止的密钥。
加载的加密密钥=microacme.pem_to_加密密钥(pem_bytes,passphrase=none)如果密钥加密,请使用密码短语
国家,
州,
地区,
组织名称,
通用名称,
可选名称=无,
自动www=true
)
CSR pem_bytes=microacme.csr_to_pem(csr_object)
CSR_object=microacme.pem_to_csr(csr_pem_bytes)
#使用证书
cert_pem_bytes=microacme.cert_to_pem(cert_obj)
cert_object=microacme.pem_to_cert(cert_pem_bytes)
cert_object=microacme.der_cert(cert_der_bytes)
````
](https://gitlab.mirus.io/domains/roadrunner/microacme/issues)。
我们还保留此库的许可证。
[![覆盖报告](https://gitlab.mirus.io/domains/roadrunner/microacme/badges/master/coverage.svg?job=test)(https://mirus.githost.io/domains/roadrunner/microacme/commits/master)
microacme
`microacme'是一个库,用于讲acme的api服务器,例如由letsencrypt服务运行的服务器。
`microacme`的主要优势在于,它设计成易于子类化和扩展的
以允许自定义实现来解决acme挑战,
无需担心从头开始实现acme rfc。
diafygi优秀的[微型acme项目](https://github.com/diafygi/acme tiny)的目标是小型、无依赖性和易于审计。这个fork
旨在保持小型化,但不以可读性或可用性作为可扩展库的代价。
此外,它依赖于公认的第三方库来处理http请求、json web令牌签名和加密原语(usin分别是g"requests"、"jwcrypto"和"cryptography"。
microAcme,您需要在microAcme.acme client的子类上实现一些方法。
``python
from microAcme import acmeclient
覆盖下面的方法
以自定义acme客户端的质询/响应行为
。
"
"定义选择质询(自我、域、质询):
"
每个域都有多个解决质询的选项。
重写此函数以选择要为此域解决的挑战。
"
"通过
def set_challenge(self,domain,challenge):
"
"选择挑战后,它需要实际执行你存在于某个地方。
这是你满足挑战要求的地方。
"
"引发NotImplementederror("需要实现一个函数来设置挑战。")
def validate_challenge(self,domain,challenge):
"
用于给acmeclient实例一个机会,确保
外部世界将看到set_challenge所做的更改。
默认情况下,不执行任何操作。例如,可用于在等待异步上载到远程web服务器时睡眠(1)。或者等待
dns传播发生。
"
通过
def cleanup_completed_challenge(self,domain,challenge):
""
此方法在challenge成功后调用。它用于清除解决挑战的任何工件。
"
"pass
```
一旦实现了这些方法,您就可以使用帐户密钥和ca url来实例化您的客户机。
``python
import microacme
my client=mycustomacmeclient(
account_key=bytes_key_,格式为pem_格式,
ca=microacme.staging_ca
)
首先,CRE创建密钥:
key=microacme。生成加密密钥(key=3072)
公用名='widgetmaker.com',
备用名=[
'mail.widgetmaker.com',
'dev.widgetmaker.com',
],
自动www=true
)
证书(CSR)
```
大多数都是不言而喻的,但是下面包含了一些示例用法。
`` python
import microacme
e)附加密码短语以保护静止的密钥。
加载的加密密钥=microacme.pem_to_加密密钥(pem_bytes,passphrase=none)如果密钥加密,请使用密码短语
国家,
州,
地区,
组织名称,
通用名称,
可选名称=无,
自动www=true
)
CSR pem_bytes=microacme.csr_to_pem(csr_object)
CSR_object=microacme.pem_to_csr(csr_pem_bytes)
#使用证书
cert_pem_bytes=microacme.cert_to_pem(cert_obj)
cert_object=microacme.pem_to_cert(cert_pem_bytes)
cert_object=microacme.der_cert(cert_der_bytes)
````
](https://gitlab.mirus.io/domains/roadrunner/microacme/issues)。
我们还保留此库的许可证。