Liberty:securityUtility 指令
securityUtility 指令支援 Liberty 的純文字加密及 SSL 憑證建立。
語法
指令語法如下:
securityUtility task [options]
其中,options 會因 task 值而不同。
參數
securityUtility 指令的可用作業如下:
- encode
- 利用 Base64 對所提供的文字進行編碼。如果未指定任何選項,指令會進入互動模式。否則,會將提供的文字進行編碼。
含有空格的文字必須用引號括住。選項如下:
- --encoding=encoding_type
- 指定如何將密碼編碼。支援的編碼為 xor、aes 和 hash。如果沒有提供這個選項,會使用預設編碼 xor。註: hash 編碼選項只用來對基本使用者登錄的密碼進行編碼。
- --key=encryption_key
- 指定利用 AES 加密來編碼時所要使用的金鑰。這個字串進行雜湊,會產生用來將密碼加密和解密的加密金鑰。 您可以定義其值為金鑰的 wlp.password.encryption.key 變數,將金鑰提供給伺服器。 如果沒有提供這個選項,會使用預設金鑰。
- --listCustom
- 以「JavaScript 物件表示法 (JSON)」格式顯示自訂密碼加密的資訊。資訊由下列組成:
- name:自訂密碼加密演算法名稱。
- featurename:特性名稱。
- description:自訂密碼加密的說明。
- --notrim
- 指定是否移除指定文字開端和尾端的空格字元。如果指定這個選項,所提供的文字會依其現狀編碼。如果沒有指定這個選項,會移除指定文字開端和尾端的空格字元。
- text
- 要編碼的文字。
- createSSLCertificate
- 建立預設金鑰儲存庫,其中含有要在伺服器或用戶端配置中使用的 SSL 憑證。
- 金鑰儲存庫詳細資料:
- 位置:位於伺服器或用戶端目錄的 resource/security/key.jks 之下。
- 類型:JKS
- 密碼:以 --password 選項提供的密碼。需要密碼,才能開啟金鑰儲存庫檔,以及從金鑰儲存庫檔擷取金鑰。
- 憑證詳細資料:
- 類型:自簽憑證。
- 大小:依預設是 2048,可以使用 --keySize 選項來指定替代大小。
- 簽章演算法:SHA256withRSA,可使用 --sigAlg 選項自訂。
- 有效性:依預設是 365 天,可以使用 --validity 選項自訂。
- SubjectDN:依預設是 CN=<主機名稱>,OU=<用戶端或伺服器名稱>,O=ibm,C=us,可以使用 --subject 選項來自訂。
選項如下:
- --server=name
- 指定要建立其金鑰儲存庫和憑證的 Liberty 伺服器名稱。如果指定 --client 選項,就不能使用這個選項。
- --client=name
- 指定要建立其金鑰儲存庫和憑證的 Liberty 用戶端名稱。如果指定 --server 選項,就不能使用這個選項。
- --keySize=size
- 指定憑證金鑰位元大小。預設值為 2048。
- --password=password
- 在金鑰儲存庫中指定要用的密碼,長度必須是至少 6 個字元。 這個選項是必要的。
- --passwordEncoding=password_encoding_type
- 指定如何將金鑰儲存庫密碼編碼。 支援的編碼值是 xor 或 aes。如果沒有提供這個選項,會使用預設值 xor。
- --passwordkey=password_encryption_key
- 指定利用 AES 加密來進行金鑰儲存庫密碼編碼時,所要使用的金鑰。這個字串進行雜湊,會產生用來將密碼加密和解密的加密金鑰。 您可以定義其值為金鑰的 wlp.password.encryption.key 變數,將金鑰提供給伺服器。 如果沒有提供這個選項,會使用預設金鑰。
- --validity=days
- 指定憑證有效的天數,必須等於或大於 365。 如果沒有提供這個選項,會使用預設值 365。
- --subject=DN
- 指定憑證主體和發證者的「識別名稱 (DN)」。如果沒有提供這個選項,會使用預設值 CN=<主機名稱>,OU=<伺服器或用戶端名稱>,O=ibm,C=us。會使用 Java 方法擷取 CN 值,以取得機器的本端主機名稱。如果無法解析主機名稱,會傳回 IP 位址。
- --sigAlg
- 指定用來簽署自簽憑證的簽章演算法。支援的簽章演算法,取決於基礎 JRE 所支援的。若使用較強的簽章演算法,JRE 需要有未限定原則檔。
- 指令接受 SHA256withRSA(預設值)、SHA1withRSA、SHA384withRSA、SHA512withRSA、SHA1withECDSA、SHA256withECDSA、SHA384withECDSA,以及 SHA512withECDSA。結尾是 RSA 的簽章演算法,會建立含有 RSA 金鑰的憑證,結尾是 ECDSA 的簽章演算法,則會建立含有「橢圓曲線 (EC)」金鑰的憑證。註: 如果您使用的憑證是以 EC 金鑰來建立,則您的伺服器在 SSL 配置中需要一份自訂密碼清單,以包含 EC 密碼。
- help
- 列印指定作業的說明資訊。
用法
下列範例示範正確的語法:
securityUtility encode --encoding=aes GiveMeLiberty
securityUtility createSSLCertificate --server=myserver --password=mypassword --validity=365
--subject=CN=mycompany,O=myOrg,C=myCountry
securityUtility help createSSLCertificate
注意:
不同的作業系統可能以不同方式來看待某些字元。若為 Windows 環境,如果您的輸入字串中有 !,必須使用 ^ 字元讓它跳出。例如,
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"