securityUtility コマンド

securityUtility コマンドは、プレーンテキストの暗号化、SSL証明書の作成、 Liberty 用のLTPAキーの作成をサポートする。

Open Liberty バージョン 21.0.0.11 以降の securityUtility コマンドに関する資料は、 Open Liberty Web サイトから入手できます。

構文

コマンド構文は次のようになります。

securityUtility task [options]

ここで、 optionstask の値に応じて異なります。

注意:

異なるオペレーティング・システムおよびコマンド行環境では、一部の文字が異なって処理されます。 多くの環境で、特殊文字とその動作方法を再定義することができます。

Windows プラットフォームの場合デフォルトでは、Windows 環境では、入力ストリング内に感嘆符 (!) がある場合、その感嘆符はキャレット文字 (^) でエスケープする必要があります。 以下の例の値は a! です。 エンコード。
D:\Liberty\images\855\Liberty855\wlp\bin>securityUtility encode "a^!"

一部のオペレーティング・システムでは、ツールに渡される引数を単一引用符で囲む必要がある場合があります。

端末エミュレーターを使用する場合は、セッションが、サーバーと同じコード・ページを使用するように構成されていることを確認してください。

予期しない結果が発生した場合は、オペレーティング・システム、コマンド・シェル、および端末エミュレーターの特殊文字およびコード・ページに関する資料を参照してください。

パラメーター

securityUtility コマンドに使用可能なタスクは、以下のとおりです。
ヘルプ
指定したタスクのヘルプ情報を表示します。
[ 25.0.0.12 そしてその後]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

パスワードをエンコードする方法を指定します。 サポートされるエンコード方式は、xoraes、および hash です。 デフォルト値は xorです。

[ 25.0.0.2 以降]この aes タイプは暗号化 AES-256 を使用します。

バージョン 25.0.0.1 およびそれ以前では、 aes タイプは AES-128 暗号化を使用しています。

hashエンコーディングオプションを使用して、基本ユーザーレジストリと 「quickStartSecurity要素のパスワードをエンコードすることができます。

[ 25.0.0.3 以降]FIPS 140-3 が有効化されている場合、 および hash オプション aes は文字列の暗号化と符号化に強化されたアルゴリズムを使用します。 アルゴリズムが強化される前にこれらのオプションで暗号化または符号化された文字列は、FIPS 140-3環境で失敗する可能性がある。

--key=encryption_key
AES 暗号化でエンコードする際に使用する鍵を指定します。 この文字列はハッシュ化され、パスワードの暗号化および復号化に使用されるAES暗号化キーが生成される。 変数 wlp.password.encryption.key の値に鍵を定義することで、サーバーに鍵を指定することができます。 このオプションを指定しないと、デフォルトの鍵が使用されます。

変数の設定 for wlp.password.encryption.keyに関する情報も参照してください。

[ 25.0.0.12 そしてその後]--base64Key=base64_key
AES暗号化を使用してパスワードを暗号化するための鍵 Base64-encodedAES-256 を指定します。 キーは変 wlp.aes.encryption.key 数を定義することでサーバーに提供できます。 このオプションは、 --key--aesConfigFile またはオプションと併用できません。
[ 25.0.0.12 そしてその後]--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 ファイル内。
タイプ: PKCS12
バージョン 19.0.0.2 以前の場合: ロケーション: サーバーまたはクライアントのディレクトリーの resource/security/key.jks ファイル内。
バージョン 19.0.0.2 以前の場合: JKS と入力します。
パスワード: --password オプションで指定したパスワード。 鍵ストア・ファイルを開くため、および鍵ストア・ファイルから鍵を取得するためには、パスワードが必要です。
証明書の詳細:
タイプ: 自己署名証明書。
サイズ: デフォルトでは、2048。--keySize オプションを使用して別のサイズを指定できます。
署名アルゴリズム: SHA256withRSA, は オプション --sigAlg でカスタマイズ可能です。
有効期間: デフォルトでは、365 日。--validity オプションを使用してカスタマイズできます。
CN=<hostname>,OU=<client or server name>,O=ibm,C=usSubjectDN: デフォルトでは、オプション --subject でカスタマイズ可能です。

オプション:

--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 が使用されます。

[ 25.0.0.2 以降]この aes タイプは暗号化 AES-256 を使用します。

バージョン 25.0.0.1 およびそれ以前では、 aes タイプは AES-128 暗号化を使用しています。

--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 で無制限のポリシー・ファイルが設定されている必要がある場合があります。
このコマンドは、SHA256withRSA (デフォルト)、SHA1withRSA、SHA384withRSA、SHA512withRSA、SHA1withECDSA、SHA256withECDSA、SHA384withECDSA、および SHA512withECDSA を受け入れます。 末尾が RSA の署名アルゴリズムは RSA 鍵を使用した証明書を作成し、末尾が ECDSA の署名アルゴリズムは楕円曲線 (EC) 鍵を使用した証明書を作成します。
注: EC 鍵を使用して作成された証明書を使用する場合、サーバーは、EC 暗号を組み込むために、ssl 構成内にカスタマイズされた暗号リストを必要とします。
--extInfo
デフォルトの証明書の作成に使用される X.509 証明書拡張情報を指定します。 デフォルトでは、サブジェクト代替名拡張がサーバーのホスト名と共に証明書に追加されます。 --extInfo オプションが使用されている場合、値は keytool コマンドに直接渡されます。 コマンド keytool で フラグ --ext の構文を使用してください。
[ 25.0.0.12 そしてその後]--passwordBase64Key=base64_key
`-k --passwordEncoding=aes `オプションが指定された際にキーストアのパスワードを暗号化するために使用されるキー Base64-encodedAES-256 を指定します。 このオプションは、 --passwordKey--aesConfigFile またはオプションと併用できません。
[ 25.0.0.12 そしてその後]--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キーのパスワードのエンコード方法を指定する。 サポートされているエンコーディング・タイプは xoraes です。 このオプションが指定されない場合、デフォルトのエンコーディング・タイプ xor が使われる。

securityUtility encode --listCustom コマンドを使って、追加のカスタム暗号化がサポートされているかどうかを確認することができる。

--passwordKey=password_encryption_key
LTPA鍵のパスワードをAES暗号化するために使用する鍵を指定する。 このストリングは、パスワードの暗号化と暗号化解除に使用される暗号鍵を生成するためにハッシュ化されます。 wlp.password.encryption.key 変数をキーの値として定義することで、キーを提供することができる。 このオプションが指定されなければ、デフォルトのキーが使われる。
--server=name
LTPAキーが作成されるLibertyサーバーの名前を指定します。 このオプションは、 --file オプションが指定されている場合は使用できない。
[ 25.0.0.12 そしてその後]--passwordBase64Key=base64_key
オプション --passwordEncoding=aes が使用された場合、LTPAキーのパスワードを暗号化するためのキー Base64-encodedAES-256 を指定します。 このオプションは、 --passwordKey--aesConfigFile またはオプションと併用できません。
[ 25.0.0.12 そしてその後]--aesConfigFile=file
LTPAキーのパスワードを暗号化するために使用されるAESキーを定義するXMLまたはJavaプロパティファイルを指定します。 ファイルには、または wlp.password.encryption.key のいずれかを含める wlp.aes.encryption.key 必要があります。 このオプションは、 --passwordKey--passwordBase64Key またはオプションと併用できません。
[ 25.0.0.3 以降]FIPS 140-3 が有効化されている場合、LTPA 鍵は FIPS 140-3 承認アルゴリズムを使用して作成されなければならない。 FIPS 140-3認定のアルゴリズムを使用するLTPA鍵を作成するには、 createLTPAKeys コマンドを実行する前に、以下のシステムプロパティをエクスポートする:
export JVM_ARGS="-Xenablefips140-3 -Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS"
システムプロパティが設定されたら、既存のLTPAキーを新しく作成したLTPAキー に置き換える。 詳細については、 「FIPS準拠のためのLibertyの設定」 を参照してください。
[ 25.0.0.12 そしてその後]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