securityUtility コマンド
securityUtility コマンドは、プレーンテキストの暗号化、SSL証明書の作成、 Liberty 用のLTPAキーの作成をサポートする。
バージョン 21.0.0.11 以降の securityUtility コマンドに関する資料は、 Open Liberty Web サイトから入手できます。
構文
コマンド構文は次のようになります。
securityUtility task [options]
ここで、 options は task の値に応じて異なります。
異なるオペレーティング・システムおよびコマンド行環境では、一部の文字が異なって処理されます。 多くの環境で、特殊文字とその動作方法を再定義することができます。
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"一部のオペレーティング・システムでは、ツールに渡される引数を単一引用符で囲む必要がある場合があります。
端末エミュレーターを使用する場合は、セッションが、サーバーと同じコード・ページを使用するように構成されていることを確認してください。
予期しない結果が発生した場合は、オペレーティング・システム、コマンド・シェル、および端末エミュレーターの特殊文字およびコード・ページに関する資料を参照してください。
パラメーター
securityUtility コマンドに使用可能なタスクは、以下のとおりです。- ヘルプ
- 指定したタスクのヘルプ情報を表示します。
generateAESKey
パスワード暗号化用の鍵 Base64-encodedAES-256 を生成します。 生成されたキーは、Liberty設定ファイル内で変 wlp.aes.encryption.key 数を定義することで使用できます。
オプション:
- --createConfigFile=name
- 変数 wlp.aes.encryption.key に生成されたAESキーを含むXML設定ファイルを作成します。 このオプションが指定されない場合、キーはコンソールに出力されます。
- --key=password
- Libertyの内部鍵導出関数を使用して、提供されたパスフレーズから鍵 AES-256Base64-encoded を導出する。 このオプションが指定されていない場合、ランダムな AES-256 鍵が生成されます。
- encode
- Base64 を使用して、指定されたテキストをエンコードします。 オプションが指定されないと、コマンドは対話モードに入ります。 それ以外の場合、指定されたテキストがエンコードされます。 スペースが含まれているテキストは、引用符で囲む必要があります。オプション:
- --encoding=encoding_type
パスワードをエンコードする方法を指定します。 サポートされるエンコード方式は、
xor、aes、およびhashです。 デフォルト値はxorです。この
aesタイプは暗号化 AES-256 を使用します。バージョン 25.0.0.1 およびそれ以前では、
aesタイプは AES-128 暗号化を使用しています。hashエンコーディングオプションを使用して、基本ユーザーレジストリと 「quickStartSecurity要素のパスワードをエンコードすることができます。FIPS 140-3 が有効化されている場合、 および
hashオプションaesは文字列の暗号化と符号化に強化されたアルゴリズムを使用します。 アルゴリズムが強化される前にこれらのオプションで暗号化または符号化された文字列は、FIPS 140-3環境で失敗する可能性がある。- --key=encryption_key
- AES 暗号化でエンコードする際に使用する鍵を指定します。 この文字列はハッシュ化され、パスワードの暗号化および復号化に使用されるAES暗号化キーが生成される。 変数
wlp.password.encryption.keyの値に鍵を定義することで、サーバーに鍵を指定することができます。 このオプションを指定しないと、デフォルトの鍵が使用されます。変数の設定 for
wlp.password.encryption.keyに関する情報も参照してください。 --base64Key=base64_key
- AES暗号化を使用してパスワードを暗号化するための鍵 Base64-encodedAES-256 を指定します。 キーは変 wlp.aes.encryption.key 数を定義することでサーバーに提供できます。 このオプションは、
--key--aesConfigFileまたはオプションと併用できません。 --aesConfigFile=file
- XML または Java プロパティファイルを指定し、そのファイルで または wlp.aes.encryption.key wlp.password.encryption.key 変数を定義します。 両方の変数が同じファイルに存在することはできません。 このオプションは、
--key--base64Keyまたはオプションと併用できません。 - --listCustom
- カスタム・パスワード暗号化の情報を JavaScript Object Notation (JSON) 形式で表示します。 この情報は以下のもので構成されています。
- name: カスタム・パスワード暗号化アルゴリズムの名前。
- featurename: フィーチャー名。
- description: カスタム・パスワード暗号化の説明。
カスタムパスワード暗号化の詳細については、 「 customPasswordEncryption プロバイダーの開発 」を参照してください。
- --notrim
- 指定したテキストの先頭および末尾からスペース文字を削除するかどうかを指定します。 このオプションを指定した場合、指定したテキストはそのままエンコードされます。 このオプションを指定しなかった場合、指定したテキストの先頭および末尾のスペース文字が削除されます。
- text
- エンコードされるテキスト。
- createSSLCertificate
- サーバーまたはクライアント構成で使用するための SSL 証明書が含まれるデフォルト鍵ストアを作成します。
- 鍵ストアの詳細:
- location: サーバー・ディレクトリーまたはクライアント・ディレクトリーの resource/security/key.p12 ファイル内。
- 証明書の詳細:
- タイプ: 自己署名証明書。
オプション:
- --server=name
- 鍵ストアと証明書が作成される Liberty サーバーの名前を指定します。
--clientオプションを指定した場合、このオプションは使用できません。 - --client=name
- 鍵ストアおよび証明書が作成される Liberty クライアントの名前を指定します。
--serverオプションを指定した場合、このオプションは使用できません。 - --keyType=keystore type
- 生成する鍵ストア・タイプを指定します。 JKSキーストアを生成するには、オプション
--keyTypeを値で指定しますJKS。 デフォルトでは、PKCS12 鍵ストアが生成されます。 ただし、キースト PKCS12 アの生成を明示的に指定するには、オプション--keyTypeに値を指定しますPKCS12。PKCS12 鍵ストアには、JKS 鍵ストアよりも多くの利点があります。 PKCS12 鍵ストアは拡張可能性が高く、より強力な暗号アルゴリズムをサポートし、幅広く採用されています。 PKCS12 フォーマットは、認証局が証明書を発行するときに提供するフォーマットとしてよく用いられています。
- --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=<hostname>,OU=<server or client name>,O=ibm,C=usが使用されます。CN値は、マシンのローカル・ホスト名を取得する Java メソッドを使用して取得されます。 ホスト名を解決できない場合、IP アドレスが返されます。 - --sigAlg
- 自己署名証明書の署名に使用される署名アルゴリズムを指定します。 サポートされる署名アルゴリズムは、基盤 JRE によってサポートされるものによって異なります。 強力な署名アルゴリズムでは、JRE で無制限のポリシー・ファイルが設定されている必要がある場合があります。
- --extInfo
- デフォルトの証明書の作成に使用される X.509 証明書拡張情報を指定します。 デフォルトでは、サブジェクト代替名拡張がサーバーのホスト名と共に証明書に追加されます。
--extInfoオプションが使用されている場合、値は keytool コマンドに直接渡されます。 コマンド keytool で フラグ--extの構文を使用してください。 --passwordBase64Key=base64_key
- `-k
--passwordEncoding=aes`オプションが指定された際にキーストアのパスワードを暗号化するために使用されるキー Base64-encodedAES-256 を指定します。 このオプションは、--passwordKey--aesConfigFileまたはオプションと併用できません。 --aesConfigFile=file
- パスワード暗号化に使用するAESキーを定義するXMLまたはJavaプロパティファイルを指定します。 ファイルには、または wlp.aes.encryption.keywlp.password.encryption.key 変数のいずれかが含まれている必要があります。 このオプションは、
--passwordKey--passwordBase64Keyまたはオプションと併用できません。
- createLTPAKeys
サーバで使用する、または複数のサーバで共有するLTPA鍵セットを作成する。 サーバーまたはファイルが指定されない場合、
ltpa.keysファイルが現在の作業ディレクトリに作成される。オプション:
- --file=name
- LTPAキーを書き込むファイル。 このオプションは、
--serverオプションが指定されている場合は使用できない。 - --passwordEncoding=password_encoding_type
- server.xml 、LTPAキーのパスワードのエンコード方法を指定する。 サポートされているエンコーディング・タイプは
xorとaesです。 このオプションが指定されない場合、デフォルトのエンコーディング・タイプxorが使われる。securityUtility encode --listCustomコマンドを使って、追加のカスタム暗号化がサポートされているかどうかを確認することができる。 - --passwordKey=password_encryption_key
- LTPA鍵のパスワードをAES暗号化するために使用する鍵を指定する。 このストリングは、パスワードの暗号化と暗号化解除に使用される暗号鍵を生成するためにハッシュ化されます。
wlp.password.encryption.key変数をキーの値として定義することで、キーを提供することができる。 このオプションが指定されなければ、デフォルトのキーが使われる。 - --server=name
- LTPAキーが作成されるLibertyサーバーの名前を指定します。 このオプションは、
--fileオプションが指定されている場合は使用できない。 --passwordBase64Key=base64_key
- オプション
--passwordEncoding=aesが使用された場合、LTPAキーのパスワードを暗号化するためのキー Base64-encodedAES-256 を指定します。 このオプションは、--passwordKey--aesConfigFileまたはオプションと併用できません。 --aesConfigFile=file
- LTPAキーのパスワードを暗号化するために使用されるAESキーを定義するXMLまたはJavaプロパティファイルを指定します。 ファイルには、または wlp.password.encryption.key のいずれかを含める wlp.aes.encryption.key 必要があります。 このオプションは、
--passwordKey--passwordBase64Keyまたはオプションと併用できません。
configureFIPS
すべてのサーバーとクライアントでFIPS 140-3を設定します。
オプション:
- --server=server_name
- 指定されたサーバーでFIPS 140-3を設定します。
- --client=client_name
- 指定されたクライアントでFIPS 140-3を設定します。
- --customProfileFile=name
- 指定された名前または指定された場所にカスタムプロファイルファイルを作成します。 IBMSemeru Runtime カスタムプロファイルファイルのデフォルト名は. です FIPS140-3-Liberty-Application.properties。
- このオプションが指定されない場合、カスタムプロファイルファイルはLiberty インストールディレクトリの /etc ディレクトリに配置されます。
- このオプションが指定されず、オプション
--serverが使用された場合、カスタムプロファイルファイルは指定されたサーバーのディレクトリ /security 内に配置されます。 - このオプションが指定されず、オプション
--clientが使用された場合、カスタムプロファイルファイルは指定されたクライアントのディレクトリ /security に配置されます。
- --disable
- 個別に設定されていないすべてのサーバーおよびクライアントからFIPS 140-3を無効にします。 指定されたサーバーおよびクライアントからそれぞれFIPS 140-3を無効にするには、オプション
--client--serverとオプション--disableをオプションと共に使用します。
使用法
以下は、正しい構文の例です。
securityUtility encode --encoding=aes --base64Key=<your_base64_key> GiveMeLiberty
securityUtility createSSLCertificate --password=<your_password> \
--passwordEncoding=aes \
--passwordBase64Key=<your_base64_key> \
--server=myserver \
--validity=365 \
--subject=CN=mycompany,O=myOrg,C=myCountry
securityUtility createLTPAKeys --password=<your_password> \
--passwordEncoding=aes \
--passwordBase64Key=<your_base64_key> \
--file=myLTPA.keys
securityUtility help createSSLCertificate