mirror of
https://github.com/certimate-go/certimate.git
synced 2026-04-26 13:15:55 +03:00
[GH-ISSUE #811] [Feature] 支持腾讯云国际站证书更新(ssl.intl.tencentcloudapi.com) #550
Labels
No labels
announcement
backlog
bug
declined
documentation
duplicate
enhancement
good first issue
good first issue
help wanted
invalid
pull-request
question
stale
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/certimate#550
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @willow-god on GitHub (Jun 19, 2025).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/811
功能描述 / Description
目前 certimate 已经支持了腾讯云国内站的证书更新功能,使用的是官方 Go SDK(github.com/TencentCloud/tencentcloud-sdk-go)和 UploadUpdateCertificateInstance 等接口,使用起来非常方便。不过最近我在国际站(ssl.intl.tencentcloudapi.com)上部署项目,发现国际版的 API 接口风格和国内版有些差异,虽然整体逻辑类似,但接口并不是一一对应的。
国际站并没有 UploadUpdateCertificateInstance 这个一体化接口,而是使用 UpdateCertificateInstance 来完成更新绑定资源的操作。这个接口支持直接通过旧证书 ID 和一对新的 PEM 公钥/私钥证书来更新绑定在旧证书上的资源,实现上传 + 替换 + 部署的一键更新。请求逻辑稍有不同,但功能上还是可以达成相同效果的。此外还有 UploadCertificate、DescribeHostUpdateRecord、DescribeHostUpdateRecordDetail 等接口,分别用于上传证书、查询更新任务和查看更新进度。
我不是很确定目前 SDK 是否支持直接配置国际站的 endpoint,不过文档上看,接口版本号还是 2019-12-05,参数也都比较标准,应该可以适配。如果 SDK 限制比较多,也可以考虑 fallback 成自定义 endpoint 或手动签名调用。
希望 certimate 后续能支持腾讯云国际站的自动更新,部署海外项目的时候就不用手动传证书了。
相关文档:
国际站API证书
国际站上传证书接口
国际站更新证书接口
请求动机 / Motivation
腾讯云国际站出了免费的CDN,后续用户量应该会很多,所以希望可以适配一下。
其他 / Miscellaneous
更新证书接口中,我看到支持通过旧证书ID和一对密钥对来更新证书,更新后会自动部署到所绑定的资源上:
但是目前的问题是,UpdateCertificateInstance 接口在指定公钥私钥上传后,会获得一个新的证书ID,后面部署可能需要手动进行轮换:
所以我目前能想到的方式就是:
前面都还好,就是不太清楚最后一点是否好实现
贡献 / Contribution
@cao-gift commented on GitHub (Jun 21, 2025):
复议