效果的零SSL
@distilled.cloud/zerossl 提供 ZeroSSL 外部账户绑定
证书的终点。 并列安装 effect设置 ZEROSSL_ACCESS_KEY, (中文(简体) ),
将此保存为 example.ts运行 node example.ts数字 :
import * as ZeroSsl from "@distilled.cloud/zerossl";
import * as Effect from "effect/Effect";
import * as FetchHttpClient from "effect/http/FetchHttpClient";
const eab = await Effect.runPromise(
ZeroSsl.zerossl.generateEabCredentials({}).pipe(
Effect.provide(ZeroSsl.CredentialsFromEnv),
Effect.provide(FetchHttpClient.layer),
),
);
console.log({ success: eab.success });
// Store eab.eab_kid and the redacted eab.eab_hmac_key securely.
这使一个真正的信用代代请求。 EAB证书可重复使用 并遵守每日限制; 生成一次并保留对数而不是 运行每个证书的示例.
认证和产出
CredentialsFromEnv 读取 ZEROSSL_ACCESS_KEY后退为 ZERO_SSL_KEY。 。 。 .
ZeroSsl.layer({ accessKey, apiBaseUrl }) 接受明确全权证书
编辑访问密钥 。 请求使用 Authorization: ApiKey <key>查询
参数,随 当前 REST 认证指导。 。 。 .
只有标题的认证由 POST /acme/eab-credentials。 。 。 .
服务留下来 ZeroSsl.zerossl.generateEabCredentials (亦可提供)
从 @distilled.cloud/zerossl/zerossl) (中文(简体) ). 其 HMAC 输出为
Redacted<string>,匹配运行时间值. success 保持布尔;
协议还使 EAB 文档的数字正常化 1编号 :0 形式.
JSON 输出在将敏感值包起来之前是经过计数验证的.
ZeroSslParseError 省去活体和潜在的秘密解析器
错误。 保留打出的比率限制错误 Retry-After 作为可选效果
Duration,包括当 ZeroSSL 用 HTTP 200 发送错误信封时.
来源和限制
scripts/convert.ts 从 ZeroSSL API 参考构建出史密斯模型,
zeroSSL 发布为 Markdown 在
0ssl/文档 和光谱
镜像 specs/spec-mirror-zerossl 每日快照:每个端点一页
(方法,URL,参数表,示例响应)加上出错码表.
参考文献中没有提到的 patches/。编辑转换器,
补丁和手写协议,没有生成服务文件; 以
pnpm generate zerossl 从工作空间根.
只有EAB证书生成是模型化的,而不是ZeroSSL的证书管理
爱普。 签发证书的使用 @distilled.cloud/acme 与零SSL
目录和 externalAccountBinding: { keyId: eab.eab_kid, hmacKey: eab.eab_hmac_key }。 。 。 .
呼叫者拥有挑战解决,更新, 和安全证书存储。 重试
行为使用共享 SDK 策略并可以通过 ZeroSsl.Retry。 。 。 .