Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

使用證書和 SSL

關於證書檔案

安裝 Application Server 會產生適合內部測試的 NSS (網路安全服務) 格式的數位憑證。依預設,Application Server 將其憑證資訊儲存在 domain-dir/config 目錄下的憑證資料庫中︰

Procedure變更憑證檔案的位置

供開發使用的金鑰庫檔案和信任庫檔案儲存在 domain-dir/config 目錄中。

  1. 在 管理主控台 樹狀結構中,展開 [配置]。

  2. 展開 [server-config] (管理配置) 節點。

  3. 選取 [JVM 設定] 節點。

  4. 按一下 [JVM 選項] 標籤。

  5. 在 [JVM 選項] 頁面上,在 [值] 欄位中增加或修改以下值,以反映憑證檔案的新位置:


    -Dcom.sun.appserv.nss.db=${com.sun.aas.instanceRoot}/NSS-database-directory
    

    其中,NSS-database-directory 是 NSS 資料庫的位置。

  6. 按一下 [儲存]。

  7. 如果主控台中顯示 [需要重新啟動],請重新啟動 Application Server。

使用 Java 安全套接字延伸 (JSSE) 工具

使用 keytool 可以設定和使用 JSSE (Java 安全套接字延伸) 數位憑證。在 Platform Edition 的伺服器端,Application Server 使用 JSSE 格式來管理憑證和金鑰庫。在 Platform Edition 和 Enterprise Edition 中,用戶端 (應用程式用戶端或獨立用戶端) 均使用 JSSE 格式。

J2SE SDK 附帶有 keytool,可以讓管理員管理公開/私密金鑰對和關聯憑證。還可以讓使用者快取正與其通訊的另一方的公開金鑰 (以證書形式)。

若要執行 keytool,必須配置 shell 環境,以使 J2SE /bin 目錄位於路徑中,或者指令行中必須存在該工具的完整路徑。如需有關 keytool 的更多資訊,請參閱位於以下位置的 keytool 文件:http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html

使用 keytool 公用程式

以下範例說明了與使用 JSSE 工具處理憑證相關的用法︰

Procedure使用 keytool 公用程式產生憑證

使用 keytool 產生、匯入和匯出憑證。依預設,keytool 將在其執行目錄中建立金鑰庫檔案。

  1. 變更至要執行憑證的目錄。

    始終在包含金鑰庫檔案和信任庫檔案的目錄中產生憑證,依預設,該目錄為 domain-dir/config。如需有關變更這些檔案位置的資訊,請參閱變更憑證檔案的位置

  2. 輸入以下 keytool 指令,以在金鑰庫檔案 keystore.jks 中產生憑證:


    keytool -genkey -alias keyAlias-keyalg RSA
     -keypass changeit
     -storepass changeit
    -keystore keystore.jks

    使用任何專屬名稱做為 keyAlias。如果您已變更金鑰庫或私密金鑰密碼的預設值,請使用新密碼取代以上指令中的 changeit

    螢幕上將顯示提示,要求您提供姓名、組織和其他資訊,keytool 將使用這些資訊產生憑證。

  3. 輸入以下 keytool 指令,以將產生的憑證匯出至檔案 server.cer (或 client.cer [如果您願意]):


    keytool -export -alias keyAlias-storepass changeit
     -file server.cer
     -keystore keystore.jks
  4. 如需由憑證授權機構簽署的憑證,請參閱使用 keytool 公用程式簽署數位憑證

  5. 若要建立信任庫檔案 cacerts.jks,並將憑證增加至該信任庫,請輸入以下 keytool 指令:


    keytool -import -v -trustcacerts
    -alias keyAlias
     -file server.cer
    -keystore cacerts.jks
     -keypass changeit

    如果您已變更金鑰庫或私密金鑰密碼的預設值,請使用新密碼取代以上指令中的 changeit

    工具將顯示有關證書的資訊並提示您是否要信任該證書。

  6. 鍵入 yes,然後按下 Enter 鍵。

    keytool 便會顯示如下資訊:


    Certificate was added to keystore
    [Saving cacerts.jks]
  7. 重新啟動 Application Server。

Procedure使用 keytool 公用程式簽署數位憑證

建立數位憑證之後,所有者必須簽署該憑證以防偽造。電子商務站點或那些身份認證對其很重要的站點可以從知名的憑證授權機構 (CA) 購買憑證。如果無需考量認證 (例如當私密安全通訊可以滿足全部需求時),則可節省獲取 CA 憑證所花費的時間和費用並使用自我簽署憑證。

  1. 請依照 CA 網站上的說明產生憑證金鑰對。

  2. 下載產生的證書金鑰對。

    將憑證儲存在包含金鑰庫檔案和信任庫檔案的目錄中,依預設,該目錄為 domain-dir/config。請參閱變更憑證檔案的位置

  3. 在 shell 中,變更至包含憑證的目錄。

  4. 使用 keytool 將憑證匯入本機金鑰庫和本機信任庫 (如有必要)。


    keytool -import -v -trustcacerts
    -alias keyAlias
     -file server.cer
    -keystore cacerts.jks
     -keypass changeit
    -storepass changeit

    如果金鑰庫密碼或私密金鑰密碼不是預設密碼,請使用新密碼取代以上指令中的 changeit

  5. 重新啟動 Application Server。

使用 keytool 公用程式刪除憑證

若要刪除現有憑證,請使用 keytool -delete 指令,例如:

keytool -delete
 -alias keyAlias
 -keystore keystore-name
 -storepass password

如需有關 -delete 指令之可能選項的完整清單,請參閱位於以下位置的 keytool 文件:http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html

使用網路安全服務 (NSS) 工具

在 Enterprise Edition 的伺服器端,使用網路安全服務 (NSS) 數位憑證管理儲存私密金鑰和憑證的資料庫。對於用戶端 (應用程式用戶端或獨立用戶端),使用使用 Java 安全套接字延伸 (JSSE) 工具中所述的 JSSE 格式。

使用網路安全服務 (NSS) 管理安全性的工具包括:

這些工具位於 install-dir/lib/ 目錄中。以下環境變數用於指向 NSS 安全性工具的位置︰

在這些範例中,憑證一般名稱 (CN) 是指用戶端或伺服器的名稱。CN 還用於在 SSL 交換過程中比較憑證名稱和產生憑證的主機名稱。如果憑證名稱和主機名稱不符,則在 SSL 交換過程中會產生警告或異常。在某些範例中,為方便起見,使用憑證一般名稱 CN=localhost,以便所有使用者均可以使用該憑證,而不必使用其真實主機名稱建立新憑證。

以下小節中的範例說明了與使用 NSS 工具處理憑證相關的用法︰

使用 certutil 公用程式

憑證資料庫工具 certutil 是 NSS 指令行公用程式,可建立和修改 Netscape Communicator cert8.dbkey3.db 資料庫檔案。該公用程式還可以列出、產生、修改或刪除 cert8.db 檔案中的憑證,以及建立或變更密碼、產生新的公開和私密金鑰對、顯示金鑰資料庫的內容或刪除 key3.db 檔案中的金鑰對。

金鑰和憑證管理程序通常以在金鑰資料庫中建立金鑰開始,然後在憑證資料庫中產生和管理憑證。以下文件論述了如何使用 NSS (包括 certutil 公用程式的語法) 管理憑證和金鑰資料庫:http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

以下清單中的每個項目均提供了使用 NSS 和 JSSE 安全性工具建立和/或管理憑證的範例。

使用 pk12util 公用程式匯入和匯出憑證

pk12util 指令行公用程式用於以 PKCS12 格式在憑證/金鑰資料庫和檔案之間匯入與匯出金鑰和憑證。PKCS12 為公開金鑰加密標準 (PKCS) #12,個人資訊交換語法標準。如需有關 pk12util公用程式的說明,請至 http://www.mozilla.org/projects/security/pki/nss/tools/pk12util.html

使用 modutil 增加和刪除 PKCS11 模組

安全性模組資料庫工具 modutil 是指令行公用程式,用於管理 secmod.db 檔案或硬體記號中的 PKCS #11 (加密記號介面標準) 模組資訊。您可以使用此工具來增加和刪除 PKCS #11 模組、變更密碼、設定預設值、列出模組內容、啟用或停用槽、啟用或停用 FIPS-140-1 規範遵循,以及為加密作業指定預設提供者。此工具還可以建立 key3.dbcert7.dbsecmod.db 安全性資料庫檔案。如需有關此工具的更多資訊,請至 http://www.mozilla.org/projects/security/pki/nss/tools/modutil.html