p4 trust

Perforceサービスに対して SSL接続の信頼性を確立します。

p4 trust -hコマンドを使用すると、 サーバのヘルプが表示されます(サーバの信頼性をまだ確立していない場合)。このコマンドはサーバではなくクライアントで実装されるため、 このコマンドを実行する必要があります。 コマンドがp4 helpで始まる場合、 クライアントはコマンドをサーバに転送して、クライアントマシンに表示されるテキストを作成します。 trustコマンドの場合、クライアントがサーバを信頼せずにコマンドをサーバに送信しない可能性があります。 このため、ヘルプコマンドをp4 trustで開始して、サーバに転送する代わりに、 クライアントでローカルに実行されるようにする必要があります。

構文

p4 [g-opts] trust [-l -y -n -d -f -r] [-i fingerprint]

説明

p4 trustを使用してP4TRUSTファイル (デフォルトではホームディレクトリの.p4trust)を管理することにより、 SSL接続の信頼性を確立(または管理)します。

トラストファイルにはSSL接続用に受領したキーのフィンガープリントが含まれます。 ユーザが最初にPerforceサービスに接続するとき、 フィンガープリントの指定を求められます。 フィンガープリントが正しい場合は、 p4 trustを使用してサービスのフィンガープリントを自分のトラストファイルに追加することができます。 フィンガープリントが変更されている(または期限切れになっている)場合、 それ以降サービスに接続しようとすると警告またはエラーのメッセージが出力されます。

Perforceサービスによって提供されたフィンガープリント (またはフィンガープリントへの変更)が正しいかどうかを確認する際は、 システム管理者にサポートを依頼してください。

SSLが有効にされたPerforceサービスを P4TRUSTファイルに追加した後に初めて、 P4PORTをssl:: ssl:hostname:portに設定して接続が可能となります。

P4TRUSTを必要としないSSL接続

リリース2021.2以降: サーバから渡された自己署名されていない証明書をクライアントで検証できるSSL接続の場合、P4TRUSTが不要になりました。サーバ、プロキシ、ブローカから、完全なSSL証明書チェーンをクライアントに送信できるようになりました。certificate.txtファイルに複数の証明書が含まれている場合、この処理は自動的に実行されます。エンドエンティティ証明書の次にチェーン証明書を検証する必要があります。

注意
    • 2021.2 C/C++ P4APIをベースにしたクライアントと、2021.2 C/C++ P4APIから派生したAPI (P4Python、P4Ruby、P4Perlなど)をベースにしたクライアントで、ローカルシステムのCA証明書ストアに対してサーバのSSL証明書が検証され、その証明書の対象が、クライアントで使用されるP4PORTのホスト部分と比較されます。(「Helix Core C/C++ API開発者ガイド」を参照してください。)

    • 認証局(CA)のパスがシステムのCAストアに存在しない場合や、特定のCAに対する検証が必要な場合は、クライアント側のssl.client.ca.path構成可能変数を使用して、CAのパスを指定することができます。

    • 以前のP4TRUSTメカニズムに戻すには、クライアント側のssl.client.cert.validate構成可能変数の値を「0」に設定します。

    • CAの検証処理をスキップし、サーバ証明書の対象がクライアントのP4PORTに一致しているかどうかだけを確認する場合は、ssl.client.cert.validate変数の値を「2」に設定します。

    • サーバ証明書の検証を実行するかどうかに関係なく、p4 trustコマンドを使用して、サーバのIPアドレス用のP4TRUSTレコードを作成することができます。サーバ証明書が自己署名されていない場合は、サーバのホスト名用のP4TRUSTレコードも作成されます。ホスト名のレコード作成機能を無効にするには、クライアント側のssl.client.trust.name構成可能変数の値を「0」に設定します。

    • ssl.client.trust.name変数の値を「2」に設定すると、p4 trustコマンドを実行しても、サーバのIPアドレスのレコードが作成されなくなります。この状態でp4 trustコマンドを実行すると、自己署名された証明書が存在しないサーバについて、ホスト名のレコードだけが作成されます。

    • P4CONFIGファイル内で、ssl.client.trust.name変数とssl.client.cert.validate変数の両方をクライアント用に設定することも、グローバルオプション-vオプションを使用して、これらの変数をクライアントに渡すこともできます。

    • プロキシとブローカは、P4DEBUGまたは-vオプションの一部として構成可能変数を受け取ります。

    • p4 configure setを使用して、すべてのサーバ間のSSL通信に対して構成可能変数を適用することができます。これを行うには、サーバを完全に停止してから再起動して、変更内容を有効にする必要があります。

    • サーバー上のクライアント設定は、サーバに接続するクライアントには適用されません。

    • 2021.2 C/C++ P4APIをベースにしたクライアントと、2021.2 C/C++ P4APIから派生したAPI (P4Python、P4Ruby、P4Perlなど)をベースにしたクライアントで、ローカルシステムのCA証明書ストアに対してサーバのSSL証明書が検証され、その証明書の対象が、クライアントで使用されるP4PORTのホスト部分と比較されます。(「Helix Core C/C++ API開発者ガイド」を参照してください。)

    オプション

    -d

    既存の信頼されたフィンガープリントを削除します。

    -f

    一致しないフィンガープリントを強制的に置き換えます。

    -i fingerprint

    指定されたfingerprintをインストールします。

    -l

    このクライアントワークステーションにおけるすべての既知のフィンガープリントを一覧表示します。

    -n

    すべてのプロンプトに対して自動的に拒否します。

    -r

    置換フィンガープリントを一覧表示、インストール、または削除します。 ある接続に対して置換フィンガープリントが存在する場合に、 主要フィンガープリントが一致しない(が置換フィンガープリントは一致する)場合、 主要フィンガープリントは置換フィンガープリントに置き換えられます。 このオプションは、-l-i、 または-dオプションと併用可能です。

    -y

    すべてのプロンプトに対して自動的に受け入れます。

    g-opts

    詳しくは、「グローバルオプション」を参照してください。

    使用上の注意点

    ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

    適用外

    適用外

    none