#acme #acme-client #provider #rfc #type #deserialize #rfc-8555

acme-types

实现 ACME (RFC 8555) 提供者和客户端的类型

2 个版本

0.1.1 2022 年 1 月 16 日
0.1.0 2022 年 1 月 16 日

#1007数据结构

CC0-1.0 或 Unlicense

36KB
636

此 crate 定义了实现 ACME (RFC 8555) 提供者和客户端的类型。

  • 此 crate 不包含任何 HTTP 库或提供与 ACME 客户端或提供者交互的功能(如文档中所述,除了支持反序列化之外),例如服务器或客户端
  • 此 crate 不提供实现 ACME 提供者或客户端所需的任何加密函数
use acme_types::v2 as ACME;

let resp = reqwest::get("https://acme-v02.api.letsencrypt.org/directory")
    .await?
    .text()
    .await?;

let directory = ACME::Directory::from_str(&resp).unwrap();

println!("{:#?}", directory);

>>> Directory {
>>>     new_nonce: "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
>>>     new_account: "https://acme-v02.api.letsencrypt.org/acme/new-acct",
>>>     new_order: "https://acme-v02.api.letsencrypt.org/acme/new-order",
>>>     new_authorization: None,
>>>     revoke_certificate: "https://acme-v02.api.letsencrypt.org/acme/revoke-cert",
>>>     key_change: "https://acme-v02.api.letsencrypt.org/acme/key-change",
>>>     metadata: Some(
>>>         DirectoryMetadata {
>>>             terms_of_service: Some(
>>>                 "https://letsencrypt.openssl.ac.cn/documents/LE-SA-v1.2-November-15-2017.pdf",
>>>             ),
>>>             website: Some(
>>>                 "https://letsencrypt.openssl.ac.cn",
>>>             ),
>>>             caa_identities: Some(
>>>                 [
>>>                     "letsencrypt.org",
>>>                 ],
>>>             ),
>>>             external_account_required: None,
>>>         },
>>>     ),
>>> }

crate 功能

JSON 反/序列化 (json)

支持使用 serde(和 serde_json)crate(s) 对 JSON 进行序列化和反序列化。此集成是可选的(功能 json

acme-types = { version = "*", features = ["json"] }

当此功能启用时,from_strto_string 在顶层 ACME 对象和资源上实现。

依赖关系

~0–265KB