2016-10-13 12 views
0

Webアプリケーション用の2ウェイSSL相互認証を設定しようとしています。私は現在クライアントを設定しておらず、私のブラウザを通して私のWebサービスをテストしています。相互認証のためのクライアント側の証明書を設定する

私はmacでkeychainツールを使用してクライアント証明書を作成し、Firefoxでcertificate.p12ファイルをインポートします。私もcertificate.certファイルを持っています。私の理解から、この証明書ファイルを私のサーバートラストストアに追加する必要があります。そのために

私は、次のコマンドを使用する必要があります。

keytool -import -trustcacerts -alias <hostname of DP> -file <your file.crt> -keystore <truststorefile> 

は、しかし、私は私のシステムのホスト名として何を追加するには?ブラウザは私のウェブサーバのホスト名をどのように表示しますか?

答えて

1

最初に、よく知られているCA(Verisign、GoDaddyなど)またはローカルで信頼できるCA(雇用主のような)によって発行されたクライアント証明書がある場合は、何もする必要はありません。クライアントは、すでに信頼されているCAにつながる連鎖で証明書を提示するだけです。

独自のCAからクライアント証明書を発行した場合は、CA(ルート)証明書のみをサーバートラストストアに追加する必要があります。そのCAによって発行されたすべてのクライアント証明書は、それ以上の努力なしに検証されます。通常のプラクティスと同様に、CA証明書を長寿命にすると、サーバー上で何の努力もなくクライアント証明書を更新および/または置き換えることさえできます。また、CRL配布および/またはOCSPを設定すると、自動的に取り消すことができますが、DIY CAは必ずしもその努力に行きたくはありません。

自己署名付きクライアント証明書を作成している場合は、その証明書をサーバートラストストアに追加する必要があります。 SSL/TLS サーバ証明書は、サーバのホスト名で識別される必要がありますが、クライアント証明書は必須ではなく、CA証明書(通常はトラストストア内の証明書です)は、 (一部の拡張機能には通常、ホスト名が含まれているURLが含まれています)。 Codesigning証明書は、ホスト名を使用する必要もありません。

Javaトラストストア内の証明書エントリのエイリアスは、ホスト名である必要はありません。 がユニークである必要がありますが、となりますが、証明書の件名はニーモニックである必要があります。例えば、あなたのクライアント証明書がアリスとボブという名前のユーザー(またはPCやその他のデバイス)の場合は、alicebobをエイリアスとして使用できます。

関連する問題