[PR #1138] [MERGED] 修复阿里云vod视频播放证书更新请求 #1153

Closed
opened 2026-03-03 01:07:56 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/certimate-go/certimate/pull/1138
Author: @luosheng
Created: 1/2/2026
Status: Merged
Merged: 1/5/2026
Merged by: @fudiwei

Base: mainHead: main


📝 Commits (2)

  • 9144f52 fix: aliyun vod domain certificate handling
  • a45a411 Update aliyun_vod.go

📊 Changes

1 file changed (+9 additions, -1 deletions)

View changed files

📝 pkg/core/deployer/providers/aliyun-vod/aliyun_vod.go (+9 -1)

📄 Description

原代码未正确调用SetVodDomainSSLCertificate - 设置点播域名证书接口,经测试发现将Public PEM作为了CertName进行传递,而SSLPubSSLPri未传,导致调用失败:

go test -v ./aliyun_vod_test.go -args \
        --ALIYUNVOD_INPUTCERTPATH="./cert.pem" \
        --ALIYUNVOD_INPUTKEYPATH="./key.pem" \
        --ALIYUNVOD_ACCESSKEYID="xxxx" \
        --ALIYUNVOD_ACCESSKEYSECRET="xxxx" \
        --ALIYUNVOD_REGION="cn-shanghai" \
        --ALIYUNVOD_DOMAIN="xxxx"
=== RUN   TestDeploy
=== RUN   TestDeploy/Deploy
    aliyun_vod_test.go:49: args:
        INPUTCERTPATH: ./cert.pem
        INPUTKEYPATH: ./key.pem
        ACCESSKEYID: xxxx
        ACCESSKEYSECRET: xxxx
        REGION: cn-shanghai
        DOMAIN: xxxx
2026/01/02 13:38:40 INFO found vod domains to deploy domains=[xxxx]
    aliyun_vod_test.go:75: err: failed to execute sdk request 'live.SetVodDomainSSLCertificate': SDKError:
           StatusCode: 400
           Code: InvalidCertName.TooLong
           Message: code: 400, The length of the certificate name cannot exceed 128 characters. request id: xxxx
           Data: {"Code":"InvalidCertName.TooLong","HostId":"vod.cn-shanghai.aliyuncs.com","Message":"The length of the certificate name cannot exceed 128 characters.","Recommend":"https://api.aliyun.com/troubleshoot?q=InvalidCertName.TooLong&product=vod&requestId=xxxx","RequestId":"xxxx"}
--- FAIL: TestDeploy (0.16s)
    --- FAIL: TestDeploy/Deploy (0.16s)
FAIL
FAIL    command-line-arguments  0.532s
FAIL

修复后测试如下:

go test -v ./aliyun_vod_test.go -args \
        --ALIYUNVOD_INPUTCERTPATH="./cert.pem" \
        --ALIYUNVOD_INPUTKEYPATH="./key.pem" \
        --ALIYUNVOD_ACCESSKEYID="xxxx" \
        --ALIYUNVOD_ACCESSKEYSECRET="xxxx" \
        --ALIYUNVOD_REGION="cn-shanghai" \
        --ALIYUNVOD_DOMAIN="vod.pointhouse.cn"
=== RUN   TestDeploy
=== RUN   TestDeploy/Deploy
    aliyun_vod_test.go:49: args:
        INPUTCERTPATH: ./cert.pem
        INPUTKEYPATH: ./key.pem
        ACCESSKEYID: xxxx
        ACCESSKEYSECRET: xxxx
        REGION: cn-shanghai
        DOMAIN: xxxx
2026/01/02 13:50:43 INFO found vod domains to deploy domains=[xxxx]
    aliyun_vod_test.go:79: ok: &{map[]}
--- PASS: TestDeploy (1.04s)
    --- PASS: TestDeploy/Deploy (1.04s)
PASS
ok      command-line-arguments  1.720s

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/certimate-go/certimate/pull/1138 **Author:** [@luosheng](https://github.com/luosheng) **Created:** 1/2/2026 **Status:** ✅ Merged **Merged:** 1/5/2026 **Merged by:** [@fudiwei](https://github.com/fudiwei) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (2) - [`9144f52`](https://github.com/certimate-go/certimate/commit/9144f528032e42f8a5b5c5c64d8745754a123c9b) fix: aliyun vod domain certificate handling - [`a45a411`](https://github.com/certimate-go/certimate/commit/a45a411f6600ca3a4751d99b3a7e8f3351dd3dcf) Update aliyun_vod.go ### 📊 Changes **1 file changed** (+9 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `pkg/core/deployer/providers/aliyun-vod/aliyun_vod.go` (+9 -1) </details> ### 📄 Description 原代码未正确调用[SetVodDomainSSLCertificate - 设置点播域名证书接口](https://help.aliyun.com/zh/vod/developer-reference/api-vod-2017-03-21-setvoddomainsslcertificate),经测试发现将Public PEM作为了`CertName`进行传递,而`SSLPub`和`SSLPri`未传,导致调用失败: ```bash go test -v ./aliyun_vod_test.go -args \ --ALIYUNVOD_INPUTCERTPATH="./cert.pem" \ --ALIYUNVOD_INPUTKEYPATH="./key.pem" \ --ALIYUNVOD_ACCESSKEYID="xxxx" \ --ALIYUNVOD_ACCESSKEYSECRET="xxxx" \ --ALIYUNVOD_REGION="cn-shanghai" \ --ALIYUNVOD_DOMAIN="xxxx" === RUN TestDeploy === RUN TestDeploy/Deploy aliyun_vod_test.go:49: args: INPUTCERTPATH: ./cert.pem INPUTKEYPATH: ./key.pem ACCESSKEYID: xxxx ACCESSKEYSECRET: xxxx REGION: cn-shanghai DOMAIN: xxxx 2026/01/02 13:38:40 INFO found vod domains to deploy domains=[xxxx] aliyun_vod_test.go:75: err: failed to execute sdk request 'live.SetVodDomainSSLCertificate': SDKError: StatusCode: 400 Code: InvalidCertName.TooLong Message: code: 400, The length of the certificate name cannot exceed 128 characters. request id: xxxx Data: {"Code":"InvalidCertName.TooLong","HostId":"vod.cn-shanghai.aliyuncs.com","Message":"The length of the certificate name cannot exceed 128 characters.","Recommend":"https://api.aliyun.com/troubleshoot?q=InvalidCertName.TooLong&product=vod&requestId=xxxx","RequestId":"xxxx"} --- FAIL: TestDeploy (0.16s) --- FAIL: TestDeploy/Deploy (0.16s) FAIL FAIL command-line-arguments 0.532s FAIL ``` 修复后测试如下: ```bash go test -v ./aliyun_vod_test.go -args \ --ALIYUNVOD_INPUTCERTPATH="./cert.pem" \ --ALIYUNVOD_INPUTKEYPATH="./key.pem" \ --ALIYUNVOD_ACCESSKEYID="xxxx" \ --ALIYUNVOD_ACCESSKEYSECRET="xxxx" \ --ALIYUNVOD_REGION="cn-shanghai" \ --ALIYUNVOD_DOMAIN="vod.pointhouse.cn" === RUN TestDeploy === RUN TestDeploy/Deploy aliyun_vod_test.go:49: args: INPUTCERTPATH: ./cert.pem INPUTKEYPATH: ./key.pem ACCESSKEYID: xxxx ACCESSKEYSECRET: xxxx REGION: cn-shanghai DOMAIN: xxxx 2026/01/02 13:50:43 INFO found vod domains to deploy domains=[xxxx] aliyun_vod_test.go:79: ok: &{map[]} --- PASS: TestDeploy (1.04s) --- PASS: TestDeploy/Deploy (1.04s) PASS ok command-line-arguments 1.720s ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 01:07:56 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/certimate#1153
No description provided.