0

一部の限られたユーザーのみが Web アプリケーションにアクセスできるようにしたいと考えています。そこで、SSL クライアント認証を選択します。私は初心者なので、それについてあまり知識がありません。このチュートリアルに従ってそれを達成します。ここに私の心にいくつかの疑問があります。基本的な自己署名 SSL を使用しています。

1) 私が提供するすべてのクライアントに対して単一のクライアント証明書を作成できますか? クライアント証明書を持っている人は誰でもアプリにアクセスできます。良い方法ではないように聞こえます。

2)そうでない場合(1)、クライアント証明書を作成してTomcat user.xmlに登録する簡単な方法はありますか。ユーザーにクライアント証明書を作成して送信するよう強制したくないので、サーバーに登録します。

3) SSL 証明書が一致しない場合に他のページにリダイレクトする方法。

4) あるマシンの秘密公開鍵を別のマシンに使用できますか?

5) サーバーには複数のアプリがありますが、SSL で 1 つのアプリのみを認証したいと考えています。それではどのように可能ですか?

また、これに関する良いチュートリアルを教えてください。最後に、私の要件は、50 人までの限られたユーザーにアクセスを許可することです。私のクライアントは、ユーザーフレンドリーな方法でシステムを登録できます。

4

1 に答える 1

2

1) 私が提供するすべてのクライアントに対して単一のクライアント証明書を作成できますか?

意味がありません。クライアント証明書は、クライアントを一意に識別することになっています。それぞれに 1 つ必要です。

クライアント証明書を持っている人は誰でもアプリにアクセスできます。良い方法ではないように聞こえます。

そうではありません。

2)そうでない場合(1)、クライアント証明書を作成してTomcat user.xmlに登録する簡単な方法はありますか。ユーザーにクライアント証明書を作成して送信するよう強制したくないので、サーバーに登録します。

それが唯一の安全な方法です。秘密鍵を持っている証明書を作成すると、それは秘密ではないため、合法的に行うべきことを行うことができません。たとえば、クライアントだけがトランザクションを実行できたことを証明できないため、法的な否認防止を失います。これには users.xml を使用しないでください。データベースなど、他の Tomcat セキュリティ レルムのいずれかを使用する必要があります。

3) SSL 証明書が一致しない場合に他のページにリダイレクトする方法。

コンテナ管理認証を使用している場合は、アプリケーションの web.xml ですべて定義されています。

4) あるマシンの秘密公開鍵を別のマシンに使用できますか?

意味がありません。上記を参照してください。秘密鍵は秘密であり、1 つのエンティティの排他的な管理下にあると想定されています。

ここで、クライアント証明書を使用することが正しい解決策であるかどうか疑問に思います。サーバーへのアクセスを制限したいだけの場合は、各クライアントにログインしてください。

5) サーバーには複数のアプリがありますが、SS で 1 つのアプリのみを認証したい

于 2013-04-16T01:26:57.207 に答える