MFCC 構成ファイル mf-client.dat はセクションに分かれています。セクション名は角かっこで囲まれています。各セクション内では、オプションは名前と値のペアとして 1 行に 1 つずつ指定されます。空白行と先頭/末尾の空白は無視されます。コメント行はハッシュ (#) またはセミコロン
(;) 文字で始まり、行の終わりまで続きます。
このファイルには次のセクションがあります。
- [directories]
- このセクションは、Micro Focus Client Configuration (MFCC) の 1 つ以上のディレクトリを構成するために使用します。MFCC は、ディレクトリを使用して、Enterprise Server でホストされているサービス (ディプロイ サービスなど) を見つけます。デフォルトの構成では、MFCC はローカル システム上の MFDS に接続します。
- ポートの指定の「:0」は、MFCC が接続先のポートを最初に CCITCP2_PORT 環境変数で探すことを意味します。これが設定されていない場合は、/etc/services ディレクトリ %WINDIR%\system32\drivers\etc\services (Windows) でサービス名「mfcobol」を検索し、そのポートを使用するように試みます。それも見つからない場合は、Micro Focus ディレクトリの公式のポート 86 を使用します。
- 次に例を示します。
[directories]
mrpi://127.0.0.1:0
-
注: ここで list キーワードを使用することもできます。詳細については、[service list] セクションを参照してください。
- [mldap]
- このオプションのセクションは、Micro Focus Directory Server (MFDS) にバインドするためのデフォルトの資格情報を提供するために使用します。
- これらが設定されておらず、アプリケーションで何も指定されていない場合は、匿名バインドが試行されます。
- これらの資格情報はリテラル文字列にすることも、Micro Focus Vault 機能を使用してアクセスする「Vault」内のシークレットへの参照にすることもできます。Vault のシークレットは mfsecret:<config>:<name> として指定します。ここで、<config> はオプションの Vault 構成タグ (デフォルトの Vault の場合は空白)、<name> は Vault 内のシークレットに付けられた名前です。
- コロンを含むリテラル文字列を使用するには、その文字列に「literal:」というプレフィックスを付けることで、別のタイプの値として解釈されないようにすることができます。
- 次に例を示します。
username=mf_dep
password=mf_dep
- [tracing]
- このセクションは、MFCC トレースを有効にするために使用します。数値が大きいほど、より多くの情報がログに記録されます。
- 次に例を示します。
[tracing]
level=3
- [defaults]
- このセクションは、アプリケーションによって指定されていない一部の MFCC パラメーターのデフォルト値を指定するために使用します。
- connect-timeout
- サーバーに接続して応答の受信を待機するデフォルトの MFCC タイムアウトを変更します。この値は、アプリケーションでタイムアウトが (MFCC API の呼び出しによって) 直接設定されておらず、環境変数 MFC_CONNECT_TIMEOUT
が設定されていない場合に使用されます。
- timeout
- デフォルトの MFCC タイムアウトを変更します。この値は、アプリケーションでタイムアウトが (MFCC API の呼び出しによって) 直接設定されておらず、環境変数 MFC_TIMEOUT が設定されていない場合に使用されます。
- availability
- サービス プロバイダーのリストを要求するときや利用可能なサービスのインスタンスへの接続を試行するときに、いずれのサービスのインスタンスを利用可能と見なすかを制御します。
- available
- 利用可能としてリストされている起動済みのリスナーのみが返されます。これがデフォルトのオプションです。
- non-responding
- ディレクトリで無応答としてリストされているリスナーも返されます。
- any
- ディレクトリで停止としてリストされているリスナーも含め、すべてのリスナーが返されます。
- mfbinp-digest
- MFBINP 要求のデータ整合性ダイジェスト オプションを有効にします。COBOL EJB や多くの内部サービス (JCL ジョブ サブミッションなど) に使用されます。ダイジェストはデフォルトでは無効になっています。TLS (SSL) 接続の場合、TLS
でデータ整合性が保証されるため、ダイジェストは不要です。
- 次に例を示します。
[defaults]
connect-timeout=15
timeout=30
availability=available
mfbinp-digest=md5
- [options]
- このセクションは、次の処理オプションを指定するために使用します。
- relax-URL-rules
-
HTTP URL で標準では禁止されている文字を許可します。
- proxy
-
HTTP のプロキシの URL を指定します。この機能は試験的なものです。
- 次に例を示します。
[options]
relax-URL-rules=true
proxy=https://proxy.host.com
- [operation]
- このセクションは、MFCC の動作のいくつかの側面を制御するために使用します。
-
- preferred-server
-
この値は、エンタープライズ サーバー リージョンの名前に設定するか、環境変数 $NAME または %NAME% として設定できます。環境変数を指定した場合は、その値が使用されます。この設定が構成されている場合、MFCC でサービスの検索が必要なときに該当するサービスが複数のサーバーで見つかると、優先サーバーに属するサービスのインスタンスが優先されます。これは、主にエンタープライズ サーバー リージョンが複数構成されているシステムでサービスのディプロイを制御するのに役立ちます。
- 次に例を示します。
[operation]
preferred-server=$ES_SERVER
- [TLS]
- このセクションは、HTTPS 接続など、TLS (SSL とも呼ばれる) を使用した接続のデフォルト値を設定するために使用します。
注: Enterprise Developer 5.0 より前の製品リリースでは、このセクションは [SSL] という名前でした。古いセクション名も引き続き使用できます。両方のセクションが存在し、設定が競合する場合は、[TLS] セクションの設定が使用されます。
-
- 次のパラメーターを指定できます。
- root
- 信頼済み証明書のコレクション。通常、このファイルには 1 つ以上の CA ルート証明書が含まれています。これには、商用 CA のルート、組織で運用しているプライベート CA のルート、開発目的のルート (DemoCA 製品コンポーネントによって生成されるものなど)、またはそれらの組み合わせが含まれます。信頼できる中間証明書やエンティティ証明書も含めることができます。PEM
形式のファイルである必要があります。
これは、ローカルの Demo CA のインストールのルートです。
注: Demo CA は自動的にはインストールされません。Demo CA が必要な場合は、製品に含まれているインストーラーを手動で実行する必要があります。「チュートリアル:サーバーにおける SSL セキュリティの構成」を参照してください。
MFCC を使用して公衆インターネットの HTTPS サーバーに接続する場合は、Enterprise Developer 製品インストールの bin ディレクトリにあるルート証明書コレクション ファイル CARootCerts.pem が便利です。これには、多くのパブリック CA のルート証明書と中間証明書が含まれています。
複数の PEM ファイルを連結して、ニーズを満たすルートのコレクションを構成できます。
- certificate
- オプションのデフォルトのクライアント証明書。この値は MFCC アプリケーションでオーバーライドできます。ほとんどのサーバーは、対称認証とも呼ばれる証明書の提供をクライアントに要求しません。この値は、PEM 形式または DER 形式のファイルのパス名である必要があります。
- key
- クライアント証明書に対応するプライベート キーを含むファイル。サポートされているファイルの種類は PEM と DER です。
- passphrase
- プライベート キーは暗号化されて格納されていることが多く、その場合は MFCC でキーを使用するためのパスフレーズが必要になります。パスフレーズは、上記の [mldap] セクションの値と同様に、リテラル文字列または Vault の参照にすることができます。
- verify peer
-
サーバーの証明書をクライアントで検証する必要がある場合、このオプションを「y」、「t」、または「1」で始まる文字列 (大文字と小文字の区別なし) に設定すると、ピア検証が有効になります。それ以外の場合は無効になります。デフォルトでは、ピア検証が有効になります。
この設定はアプリケーションでオーバーライドできますが、オーバーライドすることはほとんどありません。
検証は TLS セキュリティにとって重要です。無効にするのは、証明書の名前の照合の問題について診断するなどの目的で一時的にテストする場合だけにしてください。
- verify depth
- サーバーの証明書チェーンに含まれる中間証明書の最大数を設定します。サーバーの証明書チェーンは、サーバー自体、CA のルート証明書、およびそれらの間の中間証明書を識別する証明書です。たとえば、CA のルート証明書を使用して中間体が発行する証明書に署名し、それを使用してサーバーの証明書に署名している場合があります。中間体が複数ある場合もあります。
深さが 1 の場合、ルート証明書とサーバーの証明書の間に 1 つの中間証明書が許可されます。
歴史的に、この設定は、エンティティ証明書を悪用して他の証明書に署名することを防ぐために使用されてきました。最新 (X.509v3) の証明書では、これはほとんど不要であり、MFCC クライアントが参照するすべてのサーバー証明書チェーンに対応できる十分な大きさの値に設定する必要があります。
この値は MFCC アプリケーションでオーバーライドできますが、通常はオーバーライドしません。アプリケーションで値が設定されていない場合、構成の値が使用されます。構成で指定されていない場合のデフォルトは 2 です。
ピア検証が無効になっている場合、この設定は効果がありません。上記の verify peer の設定を参照してください。
この値は負でない値 (0 以上) にする必要があります。
- verify peer name
- サーバーの証明書に含まれる名前がサーバーへの接続に使用されるホスト名 (または IP アドレス) と一致するかどうかの検証を有効または無効にします。証明書には、何を識別することを意図した証明書であるかを示す 1 つ以上の名前が含まれます。通常、サーバーから受信した証明書が接続先のホストと一致することをクライアントで確認する必要があります。
このオプションが「y」、「t」、または「1」で始まる文字列 (大文字と小文字の区別なし) に設定されている場合、名前の検証が有効になります。それ以外の場合は無効になります。デフォルトは有効です。
これはデフォルトでは有効になっており、MFCC で接続を開くように要求したときに、サーバーの証明書に含まれるそれぞれの名前がアプリケーションで指定されたホスト名と照合されます。この比較では、大文字と小文字は区別されません。一部の CA は *.foo.bar.com のようなワイルドカード名を使用して証明書を発行します。この場合は、a.foo.bar.com のようなホスト名に一致する必要があります。MFCC でのワイルドカード名のサポートは試験的なものです。また、証明書には IP アドレスを含めることができます。これは、アプリケーションでホスト名ではなくアドレスが指定されている場合の比較に使用されます。IP
アドレスのサポートは試験的なものです。
注: アプリケーションから MFCC に渡す名前は、証明書に含まれる名前のいずれかと一致する必要があります。証明書で myhost しか識別されていない場合に、アプリケーションで myhost.mydomain.com に接続しようとすると、会話は拒否されます。
名前の照合は TLS セキュリティにとって重要です。無効にするのは、証明書の名前の照合の問題について診断するなどの目的で一時的にテストする場合だけにしてください。
ピア検証が無効になっている場合、この設定は効果がありません。上記の verify peer の設定を参照してください。
- protocols
-
TLS の protocols オプションでは、使用するプロトコル (TLS バージョン) のリスト、およびプロトコルを使用する優先順位を指定します。デフォルトでは、TLS 1.0 から 1.3 までが有効になっており、新しいバージョンが優先されます。
- cipher suites
- クライアントで使用できる暗号スイートのリストを設定します。このリストはクライアントの優先順位も設定しますが、多くのサーバーでは使用するスイートを決定する際に独自の優先順位を使用します。
暗号スイートの設定およびデフォルトで有効になるスイートの詳細については、「暗号スイート リストの構成」を参照してください。デフォルトのリストには、製品リリースの開発時点で通常の使用においてまだ安全であると見なされている暗号のみが含まれています。
- TLS1.3 cipher suites
-
TLS バージョン 1.3 には、それよりも前のプロトコル バージョンとは異なる暗号スイートが含まれているため、独自の暗号スイート リストがあります。この構成オプションの設定が必要になることはほとんどありません。
- min dh size
- Diffie-Hellman (DH) 暗号スイートを利用する場合に接続ピアとのネゴシエートに使用される DH グループのモジュラス長の最小サイズ (ビット単位) です。通常のアプリケーションのニーズにはデフォルトが適しています。詳細については、「Diffie-Hellman 暗号の使用」を参照してください。
- cipher groups
- 暗号グループ オプション (以前の「ECC 曲線」) では、ECC パラメーターを構成します。TLS 1.3 では、ECC グループ リストを設定します。以前のプロトコル バージョンでは、許可される曲線を設定します。この構成オプションの使用が必要になることはほとんどありません。詳細については、「楕円曲線暗号の使用」を参照してください。
- middlebox workaround
-
TLS 1.3 の「ミドルボックス回避策」を有効または無効にします。これは、TLS 1.3 が正しく処理されないルーター、ファイアウォール、その他のシステムを経由する一部の接続で TLS 1.3 を動作させるための機能です。これはデフォルトで有効になっており、この設定を変更する必要はほとんどありません。指定できる値は
disable および enable です。
- 次に例を示します。
[TLS]
root=/path/to/root/cert.type
certificate=/path/to/client/cert.type
key=/path/to/client/keyfile.type
passphrase=keyfile passphrase
middlebox workaround=enable
verify peer name=yes
verify depth=2
verify peer=yes
- [credentials]
-
このオプションのセクションは、特定のホストおよびポートへの HTTP 要求と HTTPS 要求について、その資格情報 (ユーザー名とパスワード) がアプリケーションで指定されていない場合に設定するために使用します。これを使用して、HTTP 基本認証を使用する
HTTP ホストに資格情報を提供できます。ユーザー名とパスワードは、URL (http://user:pass@host:port/path) の場合と同様にコロンで区切ります。
- 次に例を示します。
[credentials]
www.tempuri.org=username:password
myhost:9000=someuser:somepass
- [service list]
- このオプションのセクションは、MFDS サーバーとリポジトリを使用する代わりに、構成ファイル自体で簡単なディレクトリを提供するために使用します。ディレクトリ リストに「list」が含まれている場合 (上記の [directories] セクションを参照)、MFCC はディレクトリ リストのその点に達するとこのセクションを検索します。
-
このセクションの各エントリは、次の 2 つの形式のいずれかをとります。
- service name=location
- location の文字列はサービスの場所として解釈されます。URL のほか、MFDS の場所の文字列 (protocol:hostname:port など) にすることができます。
- service name=[section name]
- MFCC は、指定された名前のセクションを検索します。上記の形式で指定された場所を含む「location」という名前のエントリを含める必要があります。また、サービス構成の値を保持する「config」という名前のエントリ (さらにもう 1 つのセクションの名前を指定)
を含めることもできます。これは、サービス リストでディプロイ サービスを定義するのに役立つ可能性があります。
- 次に例を示します。
[service list]
service1=http://tempuri.com
service2=[service2 definition]
[service2 definition]
location=tcpssl:myhost:9443
config=[service2 config]
[service2 config]
name1=value1
name2=value2