4.0 KiB
4.0 KiB
SSL 憑證管理
憑證總覽
兩張憑證分屬不同 CA,需各自手動更新。
| 網域 | CA | 到期日 | 使用於 |
|---|---|---|---|
tel.tpech.gov.tw |
TWCA(2026-04-16 起) | 2026-10-30 | Caddy 反向代理 |
tel-server.tpech.gov.tw |
TWCA(2026-04-16 起) | 2026-10-30 | Ant Media Server |
兩張憑證都只有半年效期(→ 2026-10-30),2026-10 前需再次更新。
AMS 憑證資訊
| 項目 | 值 |
|---|---|
| 網域 | tel-server.tpech.gov.tw |
| 簽發者 | TWCA Secure SSL Certification Authority(2026-04-16 從 HiPKI 換成 TWCA) |
| 有效期 | 2026-04-15 ~ 2026-10-30 |
| 憑證位置(容器內) | /usr/local/antmedia/conf/fullchain.pem、privkey.pem、chain.pem |
| Keystore 密碼 | 網域名稱 tel-server.tpech.gov.tw(由容器內 enable_ssl.sh 的 generate_password 決定) |
更新 AMS SSL 憑證
方法一:使用 /opt/antmediaserver/enable_ssl.sh(推薦)
將新的 fullchain.pem + key 放入憑證資料夾,然後一行搞定:
# 把憑證檔案放到對應資料夾(資料夾內需有 fullchain.pem 和 tel_server_tpech_gov_tw.key)
cd /opt/antmediaserver
./enable_ssl.sh ssl_tel_server_tpech_gov_tw_2026
# 或指定網域
./enable_ssl.sh ssl_tel_server_tpech_gov_tw_2026 tel-server.tpech.gov.tw
此腳本會自動:docker cp 憑證進容器 → 在容器內執行 enable_ssl.sh 生成 keystore/truststore 並重啟 AMS。
方法二:手動操作
-
準備 PEM 檔:
fullchain.pem(伺服器憑證 + 中繼 CA)、privkey.pem、chain.pem(中繼 CA)如果拿到的是
.cer(DER 格式),先轉換:openssl x509 -inform der -in certificate.cer -out certificate.pem cat server.pem intermediate_ca.pem > fullchain.pem cp intermediate_ca.pem chain.pem -
複製進容器並執行:
docker cp fullchain.pem antmedia:/usr/local/antmedia/ docker cp privkey.pem antmedia:/usr/local/antmedia/ docker cp chain.pem antmedia:/usr/local/antmedia/ docker exec -it antmedia bash -c "cd /usr/local/antmedia && ./enable_ssl.sh \ -d tel-server.tpech.gov.tw \ -f /usr/local/antmedia/fullchain.pem \ -p /usr/local/antmedia/privkey.pem \ -c /usr/local/antmedia/chain.pem"
驗證
openssl s_client -connect tel-server.tpech.gov.tw:5443 -servername tel-server.tpech.gov.tw < /dev/null 2>/dev/null | openssl x509 -noout -dates
更新 Caddy 憑證
詳見 caddy.md。
年度 SSL 更新 checklist
步驟一:網域驗證(DCV)
中華電信 HiPKI 簽發憑證前,會要求透過 HTTP 驗證網域所有權。驗證檔案放在:
/opt/caddy/tel-server/.well-known/pki-validation/
├── DN_CHECK_FILE.htm # HiPKI DCV 驗證檔(JSON 格式,含 randomNumber + expireTime)
└── whois.txt # 域名所有權驗證
Caddy 中 tel-server.tpech.gov.tw:80 設定為靜態檔案服務,就是為了讓 CA 能存取:
http://tel-server.tpech.gov.tw/.well-known/pki-validation/DN_CHECK_FILE.htm
流程:
- 向中華電信提交 CSR 申請憑證
- 中華電信會提供新的驗證檔案內容
- 更新
/opt/caddy/tel-server/.well-known/pki-validation/下的檔案 - 等待 CA 驗證通過後取得新憑證
步驟二:安裝新憑證
- 更新 Caddy 憑證:覆蓋
/opt/caddy/fullchain.pem+privkey.pem→./restart.sh - 更新 AMS 憑證:
cd /opt/antmediaserver && ./enable_ssl.sh ssl_tel_server_tpech_gov_tw_<年份> - 備份新憑證到
/opt/caddy/hospital/和/opt/antmediaserver/ssl_tel_server_tpech_gov_tw_<年份>/ - 備份 AMS 資料:
cd /opt/antmediaserver && ./backup_antmedia_data.sh