使用acme.sh与Google Public CA集成时解决External Account Binding问题
acme.sh作为一款流行的ACME协议客户端,能够与多种证书颁发机构(CA)集成,包括Google Public CA。然而在实际使用过程中,许多用户在尝试与Google Public CA集成时会遇到"External Account Binding is required for new accounts"的错误提示。
问题现象
当用户尝试使用acme.sh向Google Public CA申请证书时,系统会返回400错误,提示"External Account Binding is required for new accounts"。这表明Google Public CA要求所有新账户必须完成外部账户绑定(EAB)流程。
根本原因
Google Public CA作为企业级CA服务,要求所有客户端在首次注册账户时必须提供有效的EAB凭证。这是ACME协议RFC 8555第7.3.4节规定的安全机制,用于验证客户端是否获得了CA的授权。
解决方案
正确的操作流程应该是先完成账户注册,然后再申请证书。具体步骤如下:
-
获取EAB凭证: 通过Google Cloud CLI工具获取EAB密钥对:
gcloud publicca external-account-keys create --project [项目ID]命令会返回kid(密钥ID)和hmac-key(HMAC密钥)。
-
注册账户: 使用acme.sh的register-account命令先完成账户注册:
acme.sh --register-account --server google \ --eab-kid [kid值] \ --eab-hmac-key [hmac-key值] -
申请证书: 账户注册成功后,再使用常规的issue命令申请证书:
acme.sh --issue -d example.com --stateless --server google
技术细节
External Account Binding是ACME协议中用于企业环境的安全机制。它通过以下方式工作:
- CA预先为客户端生成一对EAB密钥(kid和hmac-key)
- 客户端在注册时使用hmac-key对账户密钥进行签名
- CA通过验证签名来确认客户端的合法性
acme.sh在v3.0.8及以上版本已完整支持EAB流程。当检测到CA需要EAB时,会自动处理签名过程,前提是用户提供了正确的kid和hmac-key。
最佳实践
- EAB凭证有效期通常较短,建议在准备申请证书时再生成
- 妥善保管EAB凭证,避免泄露
- 对于生产环境,建议使用服务账号而非个人账号操作
- 定期检查Google Cloud文档以获取API变更信息
通过遵循上述流程,用户可以顺利完成acme.sh与Google Public CA的集成,获取由Google签发的可信证书。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00