產生群體控制器 SSL 金鑰
您可以使用群體公用程式 genKey 指令,來產生 Java™ 金鑰儲存庫 (JKS) 格式的金鑰儲存庫。金鑰儲存庫包含個人憑證,能夠與群體控制器之間進行 Secure Sockets Layer (SSL) 通訊。
開始之前
建立群體控制器。請參閱 配置 Liberty 群體。
關於這項作業
與群體控制器之間的遠端 JMX 連線會使用 SSL,並且需要合適的 SSL 金鑰。群體公用程式 genKey 指令會產生金鑰儲存庫,內含群體控制器信任的個人憑證。產生的金鑰儲存庫也包含公用簽章者憑證,因此可當成信任儲存庫運作。
對於 Java 虛擬機器 (JVM),例如群體成員伺服器或非 Liberty 伺服器,如果要連接群體控制器,JVM 必須具有包含群體控制器所信任金鑰的金鑰儲存庫。genKey 指令會產生這個金鑰儲存庫。當 JVM 具有金鑰儲存庫之後,JVM 即可連接群體控制器,且群體控制器可以傳回其金鑰。群體控制器將金鑰傳回給 JVM 的這種程序,稱為 SSL 信號交換。
為了使 JVM 將群體控制器金鑰新增至 JVM 信任儲存庫,必須使用 --autoAcceptCertificates 選項。 如果未使用 --autoAcceptCertificates 選項,會提示使用者將金鑰新增至信任儲存庫。
程序
wlp/bin/collective genKey [--host=collectiveControllerHost --password=collectiveControllerAdminUserPassword --port=collectiveControllerHTTPSPort --user=collectiveControllerAdminUserID --keystorePassword=generatedKeystorePassword --autoAcceptCertificates]
如果要減少所需要的選項數目,請使用 --controller 選項,而不使用 --user、--password、--host 和
--port。
wlp/bin/collective genKey [--controller=collectiveControllerAdminUserID:collectiveControllerAdminUserPassword@collectiveControllerHost:collectiveControllerHTTPSPort --keystorePassword=generatedKeystorePassword --autoAcceptCertificates]
比方說,如果群體控制器位於 machineA 主機上,該主機使用埠 1090,且群體控制器管理使用者是 Admin1,密碼是 Admin1pwd,請執行下列指令,來產生金鑰儲存庫,並將其密碼設為 kspwd:
collective genKey --host=machineA --password=Admin1pwd --port=1090 --user=Admin1 --keystorePassword=kspwd --autoAcceptCertificates
如果要減少所需要的選項數目,請使用 --controller 選項,而不使用 --user、--password、--host 和
--port。
collective genKey --controller=Admin1:Admin1pwd@machineA:1090 --keystorePassword=kspwd --autoAcceptCertificates
這個範例包含 genKey 指令的必要設定:
- --host=collectiveControllerHost
- 目標群體控制器的主機名稱
- --password=collectiveControllerAdminUserPassword
- 目標群體控制器管理使用者的密碼。如果沒有定義密碼,會提示您提供 --user 設定指定之管理使用者的密碼。
- --port=collectiveControllerHTTPSPort
- 目標群體控制器的 HTTPS 埠號
- --user=collectiveControllerAdminUserID
- 目標群體控制器的管理使用者
- --keystorePassword=generatedKeystorePassword
- 產生之金鑰儲存庫的密碼。如果您有指定密碼,但未定義一值,會提示您提供密碼。
genKey 指令也有選用設定:
- --autoAcceptCertificates
- 在這個指令期間,自動信任 SSL 憑證。
- --certificateSubject=DN
- 所產生之 SSL 憑證的識別名稱 (DN)。預設 DN 是:
CN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=us
- --certificateValidity=numberOfDays
- 所產生之 SSL 憑證的有效天數。預設有效期是 1825 天或 5 年。有效期下限是 365 天。
- --keystoreFile=filePath
- 要寫入金鑰儲存庫的檔案。預設值是現行目錄中的 key.jks 檔。
- --key=key
- 用於 aes 編碼的金鑰。產品會雜湊指定的金鑰字串,來產生一個用來加密和解密密碼的加密金鑰。如果要提供金鑰給伺服器,請定義 wlp.password.encryption.key 變數,且其值就是金鑰。如果您沒有指定這個選項,產品會提供預設金鑰。