お客様の CA が発行した証明書で署名されたアプレットを使用する Web アプリケーションを開発しています。その証明書には、ホストとポートを定義していない CRL 配布ポイントへの URL が含まれています。証明書の属性「CRL Distribution Points」および「Authority Information Access」には、「ldap:///CN=my-cn...」のような URL が含まれています。
Certificate Revocation-Checking API (C:\Users[my_user]\AppData\LocalLow\Sun\Java\Deployment\log) によって生成されたログ ファイルは、値「localhost」と「389」がホストとポートに使用されていることを示しています。 . これはログ ファイルのスニペットです。
...
certpath: DistributionPointFetcher.getCRLs: Checking CRLDPs for CN=xxx, O=yyy, L=zzz, C=PT
certpath: Trying to fetch CRL from DP ldap:///CN=_my-cn_?certificateRevocationList?base?objectClass=cRLDistributionPoint
certpath: CertStore URI:ldap:///CN=_my-cn_?certificateRevocationList?base?objectClass=cRLDistributionPoint
...
network: Connecting http://localhost:389/ with proxy=DIRECT
...
certpath: LDAPCertStore.engineInit about to throw InvalidAlgorithmParameterException
javax.naming.CommunicationException: localhost:389 [Root exception is java.net.ConnectException: Connection refused: connect]
at com.sun.jndi.ldap.Connection.<init>(Unknown Source)
...
ホストが必須であることを誰でも確認できますか?それ以外の場合は、デフォルト値「localhost」が使用されますか?
LDAP RFC ( http://www.ietf.org/rfc/rfc4516.txt ) を読みましたが、「ホスト」フィールドが存在しない場合、クライアントは適切な LDAP サーバーに接続するためのアプリオリな知識を持っている必要があります。「ホスト」属性を設定することは可能ですか?
JRE バージョン 1.7.0_45 (ビルド 1.7.0_45-b18) を使用しています。
ありがとう、テルモ・シモンイス