首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

CAS 單點登錄搭建實戰 (二):SSL 證書生成與導入全流程

     編輯:PHP 相關知識

為什麼需要 SSL?

CAS 協議強制要求 HTTPS 保護票據傳輸安全。開發環境可用自簽證書,生產必須用 CA 簽發證書。

使用 keytool 生成密鑰對與自簽證書

# 1. 生成 keystore 及密鑰對 (別名 cas)
keytool -genkeypair -alias cas -keyalg RSA -keysize 2048 \
  -keystore D:\cas\thekeystore \
  -storepass changeit -keypass changeit \
  -dname "CN=cas.example.com, OU=IT, O=MyOrg, L=City, ST=State, C=CN" \
  -validity 365

# 2. 導出證書文件 (給客戶端/瀏覽器信任)
keytool -exportcert -alias cas -file D:\cas\cas.crt \
  -keystore D:\cas\thekeystore -storepass changeit -rfc

# 3. 導入 JDK 信任庫 (使 Java 客戶端信任自簽證書)
keytool -importcert -alias cas -file D:\cas\cas.crt \
  -keystore "%JAVA_HOME%\lib\security\cacerts" \
  -storepass changeit -noprompt

# 4. (可選) 導入 Windows 系統信任庫 (雙擊 cas.crt → 安裝到「受信任的根憑證發佈機構」)

Tomcat 配置 HTTPS (server.xml)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="D:/cas/thekeystore"
           keystorePass="changeit"
           keyAlias="cas" />


<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

驗證

  1. 重啟 Tomcat:`shutdown.bat && startup.bat`。
  2. 瀏覽器訪問 `https://localhost:8443`,接受風險警告後見到 Tomcat 頁面。
  3. 檢查證書詳情:鎖圖標 → 證書 → 確認 CN、有效期。

生產環境建議

  • 使用 Let's Encrypt 免費證書 (`certbot` 自動續期) 或購買 OV/EV 證書。
  • 配置 HSTS、OCSP Stapling、強加密套件。
  • 證書私鑰權限 `600`,僅 root/服務用戶可讀。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved