注:私は自分の質問に答えます...インターネットの集合的な知恵にこの一口を追加したかっただけです。
主にこのページ( http://docs.jboss.org/jbossas/jboss4guide/r1/html/ch8.chapter)の情報を利用して、JBoss5.1.0.GAサーバーで証明書認証を正常に設定しました。 html
/openContext
認証を必要としない1つのコンテキスト(それを呼び出しましょう/securedContext
)と、クライアント証明書認証を必要とする別のコンテキスト(つまり、web.xmlでCLIENT-CERTを使用するように構成されている)があります。JBossのデフォルトのWebコネクタを使用する場合、これは見事に機能します。ヒットすることはできますがhttp://myhost/openContext
、証明書の入力を求められませんが、http://myhost/securedContext
を押すと、期待どおりにクライアント証明書の入力を求められます。
ただし、JBossWeb NativeをインストールしてAPRをWebコネクタとして使用すると、を押しても証明書の入力を求められなくなりhttp://myhost/securedContext
ます。
のAPRコネクタ構成はserver.xml
次のようになります。
<Connector protocol="HTTP/1.1" SSLEnabled="true"
port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false"
SSLProtocol="SSLv3+TLSv1"
SSLCipherSuite="ALL:!ADH:!SSLv2:!EXPORT40:!EXP:!LOW"
SSLRandomSeed="/dev/urandom"
SSLCertificateFile="/etc/pki/tls/certs/mycert.crt"
SSLCertificateKeyFile="/etc/pki/tls/private/mycert.key"
SSLPassword="mypasswordwhichiassureyouisbetterthanthisone"
SSLCACertificateFile="/etc/pki/tls/certs/clientCAs.crt"
/>
また、その構成にパラメーターを追加してをに設定しようとしましたSSLVerifyClient
が、とoptional
の両方/openContext
で証明書の入力を求められ/securedContext
ます。これは、私が望む動作ではありません。
あるWebコンテキストに対して証明書認証を要求するが別のWebコンテキストに対しては証明書認証を要求しないようにAPRを使用してJBossを取得するにはどうすればよいですか?