Sun Java logo     上一個      目錄      索引      下一個     

Sun logo
Sun Java System Calendar Server 管理指南 

第 7 章
配置 SSL

Calendar Server 支援安全套接層 (SSL) 協定,以加密行事曆用戶端一般使用者與 Calendar Server 之間的資料。為支援 SSL,Calendar Server 使用 Netscape 安全服務 (NSS) 的 SSL 程式庫,Sun Java System Messaging Server 也使用這些程式庫。

您可以在 ics.conf 檔案中將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業。

本章說明以下主題:

 


Calendar Server 不支援基於用戶端的 SSL 認證。



為 Calendar Server 配置 SSL

若要為 Calendar Server 配置 SSL,請執行以下步驟:

建立 SSL 證書資料庫

用於 Calendar Server 的 SSL 實現需要證書資料庫。證書資料庫必須定義認證機構 (CA) 和用於 Calendar Server 的證書。

Mozilla 工具

本發行版本包含以下 Mozilla 工具:

這些公用程式位於以下目錄中:

/opt/SUNWics5/cal/lib

或從網站下載最新版本。

程式庫路徑變數

使用 Mozilla 工具之前,請適當設定您的 LD_LIBRARY_PATH 變數。例如:

setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib

範例檔案與目錄

本章中的範例使用以下檔案與目錄:

 

建立證書資料庫

  1. 以超級使用者的身份登入或成為超級使用者 (root)。
  2. /etc/opt/SUNWics5/config/sslPasswordFile 中為 certutil 指定證書資料庫密碼。例如:
  3. # echo password > /etc/opt/SUNWics5/config/sslPasswordFile

    其中 password 為您的特定密碼。

  4. 建立證書資料庫 alias 目錄。例如:
  5. # cd /var/opt/SUNWics5
    # mkdir alias

  6. 移至 bin 目錄並產生證書資料庫 (cert7.db) 與金鑰資料庫 (key3.db)。例如:
  7. # cd /opt/SUNWics5/cal/bin
    # ./certutil -N -d /var/opt/SUNWics5/alias
    -f /etc/opt/SUNWics5/config/sslPasswordFile


    當您必須執行 certutil 公用程式時,請完全依照範例,或者查閱 certutil 說明頁面以瞭解語法。

    例如,在這種情況下,沒有指定 -d /file 資訊,請勿執行帶有 -N 選項的此公用程式。


  8. 產生預設的自我簽署的根認證機構證書。例如:
  9. # ./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

  10. 產生用於主機的證書。例如:
  11. # ./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 為伺服器主機名稱。

  12. 驗證證書。例如:
  13. # ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWics5/alias
    # ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias

  14. 列出證書。例如:
  15. # ./certutil -L -d /var/opt/SUNWics5/alias
    # ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias

  16. 使用 modutil 列出可用的安全模組 (secmod.db)。例如:
  17. # ./modutil -list -dbdir /var/opt/SUNWics5/alias

  18. 變更 alias 檔案的所有者為 icsusericsgroup (或 Calendar Server 執行時將使用的使用者與群組身份)。例如:
  19. # find /var/opt/SUNWics5/alias -exec chown icsuser {} \;
    # find /var/opt/SUNWics5/alias -exec chgrp icsgroup {} \;

 

請求與匯入來自根認證機構 (CA) 的證書

以下步驟會產生一個證書請求,並將其提交至公開金鑰基礎架構 (PKI) 網站,然後匯入該證書。

請求與匯入來自根認證機構的證書

  1. 以超級使用者的身份登入或成為超級使用者 (root)。
  2. 移至 bin 目錄:
  3. # cd /opt/SUNWics5/cal/bin

  4. 使用 certutil 根據認證機構或公開金鑰基礎架構 (PKI) 網站來產生證書請求。例如:
  5. # ./certutil -R -s "CN=hostname.sesta.com, OU=hostname / SSL Web Server, O=Sesta, C=US" -p "408-555-1234" -o hostnameCert.req -g 1024
    -d /var/opt/SUNWics5/alias
    -f /etc/opt/SUNWics5/config/sslPasswordFile
    -z /etc/passwd -a

    其中 hostname.sesta.com 為主機名稱。

  6. 向認證機構或公開金鑰基礎架構 (PKI) 網站為 SSL Web 伺服器請求一個測試證書。複製 hostnameCert.req 檔案的內容,並將其貼入證書請求中。
  7. 當您的證書被簽署並可取得時,您會收到通知。

  8. 將認證機構證書鏈與 SSL 伺服器證書複製至文字檔案中。
  9. 將認證機構證書鏈匯入證書資料庫以建立授權鏈。例如:
  10. # ./certutil -A -n "GTE CyberTrust Root" -t "TCu,TCu,TCuw"
    -d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_1.txt
    -f /etc/opt/SUNWics5/config/sslPasswordFile

    # ./certutil -A -n "Sesta TEST Root CA" -t "TCu,TCu,TCuw"
    -d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_2.txt
    -f /etc/opt/SUNWics5/config/sslPasswordFile

  11. 匯入已簽署的 SSL 伺服器證書:
  12. # ./certutil -A -n "hostname SSL Server Test Cert" -t "u,u,u"
    -d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/SSL_Server_Certificate.txt
    -f /etc/opt/SUNWics5/config/sslPasswordFile

  13. 列出證書資料庫中的證書:
  14. # ./certutil -L -d /var/opt/SUNWics5/alias

  15. ics.conf 檔案中將 SSL 伺服器暱稱配置為已簽署的 SSL 伺服器證書,例如:"hostname SSL Server Test Cert"。
  16. 注意 ics.conf 檔案中用於 service.http.calendarhostnameservice.http.ssl.sourceurl 參數的主機名稱應符合 SSL 證書上的主機名稱 (假定您的系統擁有數個別名)。例如:calendar.sesta.com

在 ics.conf 檔案中配置 SSL 參數

若要將 SSL 與 Calendar Server 配合實現,必須在 ics.conf 檔案中設定特定的參數。如果 ics.conf 檔案中沒有表格 7-1 中列出的某些參數,則請在該檔案中增加這些參數,並指定其值。由於 ics.conf 在系統啟動時 (發出 start-cal 時) 處於唯讀狀態,因此新值將在 Calendar Server 重新啟動後才會生效。如需有關這些 SSL 參數的說明,請參閱 SSL 配置

表格 7-1 配置 SSL 所需的 ics.conf 參數  

參數

encryption.rsa.nssslactivation

"on"

encryption.rsa.nssslpersonalityssl

"SampleSSLServerCert"

encryption.rsa.nsssltoken

"internal"

service.http.tmpdir

"/var/opt/SUNWics5/tmp"

service.http.uidir.path

"html"

service.http.ssl.cachedir

.

service.http.ssl.cachesize

10000

service.http.ssl.certdb.password

anypassword" (提供適當密碼)

service.http.ssl.certdb.path

/var/opt/SUNWics5/alias

service.http.ssl.port.enable

"yes"

service.http.ssl.port

"443" (預設連接埠)

service.http.ssl.securelogin

"yes" (登入與密碼已加密)

service.http.securesession

"yes" (整個階段作業已加密)

service.http.ssl.sourceurl

"https"//localhost:port" (提供您的本地主機的名稱和 service.http.ssl.port 值。)

service.http.ssl.ssl2.ciphers

 

service.http.ssl.ssl2.sessiontimeout

0

service.http.ssl.ssl3.ciphers

"rsa_rc4_40_md5,rsa_rc2_40_md5,rsa_des_sha,
rsa_rc4_128_md5,rsa_3des_sha"

service.http.ssl.ssl3.sessiontimeout

0

service.http.sslusessl

"yes"


透過設定以下參數,您可以將 Calendar Server 配置為僅加密 Calendar Server 登入與密碼或加密整個行事曆階段作業:service.http.ssl.securelogin 和 service.http.ssl.securesession

如果您要加密登入與階段作業,則必須將 "yes" 指定為這兩個參數的值。



疑難排解 SSL

首先,請定期備份您的證書資料庫,以免發生無法回復的問題。如果您的 SSL 發生問題,可以考量以下一些內容:

 

檢查 cshttpd 程序

SSL 要求 Calendar Server cshttpd 程序正在執行。若要確定 cshttpd 是否正在執行,請在 Solaris 作業系統上使用以下指令:

# ps -ef | grep cshttpd

驗證證書

若要列出證書資料庫中的證書並檢查其有效日期,請在 Solaris 作業系統上使用以下指令:

# ./certutil -L -d /var/opt/SUNWics5/alias

查閱 Calendar Server 日誌檔

檢查 Calendar Server 日誌檔,以找出所有的 SSL 錯誤。如需更多資訊,請參閱「監視 Calendar Server 日誌檔」

連線至 SSL 連接埠

使用瀏覽器和以下 URL 連線至 SSL 連接埠:

https://server-name:ssl-port-number

其中:

server-name 為執行 Calendar Server 的伺服器之名稱。

ssl-port-numberics.conf 檔案中 service.http.ssl.port 參數指定的 SSL 連接埠號。預設為 443。



上一個      目錄      索引      下一個     


Copyright 2004 Sun Microsystems, Inc. 。版權所有。