用於 Calendar Server 的 SSL 實作需要憑證資料庫。憑證資料庫必須定義認證機構 (CA) 和用於 Calendar Server 的憑證。本小節包含概念資訊和工作資訊:
建立憑證資料庫之前,請先熟悉以下內容:
Mozilla 工具 — 此發行版本包含以下 Mozilla 工具:
憑證資料庫工具 (certutil),用於建立與管理憑證資料庫。如需相關資訊,請參閱以下網站:
http://mozilla.org/projects/security/pki/ nss/tools/certutil.html
嘗試產生您的憑證資料庫之前,請熟悉該工具的語法。
安全模組資料庫工具 (modutil),用於顯示有關可用安全模組的資訊。如需相關資訊,請參閱以下網站:
http://mozilla.org/projects/security/pki/ nss/tools/modutil.html
這些公用程式位於以下目錄中:
/opt/SUNWics5/cal/lib
或從網站下載最新版本。
程式庫路徑變數 — 使用 Mozilla 工具之前,請適當設定您的 LD_LIBRARY_PATH 變數。例如:
setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib
範例檔案和目錄 — 本章中的範例使用以下檔案和目錄:
以超級使用者的身份登入或成為超級使用者 (root)。
在 /etc/opt/SUNWics5/config/sslPasswordFile 中為 certutil 指定憑證資料庫密碼。例如:
# echo "password" /etc/opt/SUNWics5/config/sslPasswordFile |
其中 password 為您的特定密碼。
建立憑證資料庫 alias 目錄。例如:
# cd /var/opt/SUNWics5 # mkdir alias |
移至 bin 目錄,並產生憑證資料庫 (cert8.db) 和金鑰資料庫 (key3.db)。例如:
# cd /opt/SUNWics5/cal/bin # ./certutil -N -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile |
當您必須執行 certutil 公用程式時,請完全依照範例,或者查閱 certutil 說明頁面以瞭解語法。
例如,在這種情況下,沒有指定 -d /file 資訊,請勿執行帶有 -N 選項的此公用程式。
產生預設的自我簽署的根認證機構憑證。例如:
# ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu" -s "CN=My Sample Root CA, O=sesta.com" -m 25000 -o /var/opt/SUNWics5/alias/SampleRootCA.crt -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile -z /etc/passwd |
產生用於主機的憑證。例如:
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u" -s "CN=hostname.sesta.com, O=sesta.com" -m 25001 -o /var/opt/SUNWics5/alias/SampleSSLServer.crt -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile -z /etc/passwd |
其中 hostname.sesta.com 為伺服器主機名稱。
驗證憑證。例如:
# ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWics5/alias # ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias |
列出憑證。例如:
# ./certutil -L -d /var/opt/SUNWics5/alias # ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias |
使用 modutil 列出可用的安全模組 (secmod.db)。例如:
# ./modutil -list -dbdir /var/opt/SUNWics5/alias |
將 alias 檔案的所有者變更為 icsuser 與 icsgroup (或 Calendar Server 執行時將使用的使用者與群組身份)。例如:
# find /var/opt/SUNWics5/alias -exec chown icsuser {}; # find /var/opt/SUNWics5/alias -exec chgrp icsgroup {}; |