1

現在の netty (3.5.2) ベースのサーバーでは、TLS 再ネゴシエーションを使用してクライアントに証明書を要求できます。リソースのタイプに応じて、クライアントに別の証明書セットを要求したいと思います。これは、フィールドが正しく設定された TLS CertificateRequest シグナルをcertificate_authorities送信するサーバーによって実行できます。私のサーバーで区別したい 2 つのリソース セットは次のとおりです。

  1. デフォルト: 既知の CA によって署名されたクライアントの証明書を要求するリソースX509TrustManager
  2. ユーザーの任意の証明書を表示したいリソース - これは、クライアント証明書のデバッグを支援するように設計されたサービスに役立ちます (お持ちの証明書を送ってください。この件に関して私たちが知っているすべての標準に準拠しているかどうかをお知らせします)。

Java では、信頼できる CA のリストはX509TrustManager.getAcceptedIssuers()メソッドによって設定されます。しかし、SSLContext が設定されると、これを変更する方法はないようです。SSLParameters クラスからいくつかのオプションを利用できると思っていましたが、少なくとも nullcertificate_authoritiesリストを設定できるメソッドはありません。

これを許可するための不十分な方法の 1 つは、null 要求された認証局用に新しいポートを開き、リソースをこれらの異なるポートに分離して区別することです。新しいポートを開くのを避けるために誰かが知っているハックはおそらくありますか?

4

1 に答える 1

0

独自の TrustManager をインストールする必要があります。詳細については、JSSE リファレンス ガイドを参照してください。

于 2012-10-22T22:44:10.917 に答える