2014-02-24 2 views
0

고객 CA에서 발급 한 인증서로 서명 된 애플릿을 사용하는 웹 응용 프로그램을 개발 중입니다. 해당 인증서에는 호스트 및 포트를 정의하지 않는 CRL 배포 지점에 대한 URL이 포함되어 있습니다. 인증서 특성 "CRL 배포 지점"과 "기관 정보 액세스"에는 "ldap : /// CN = my-cn ..."과 유사한 URL이 있습니다.애플릿 인증서 CRL 배포 지점 호스트가없는 LDAP URL

인증서 해지 - 확인 API (C : \ Users [\ 사용자] \ AppData \ LocalLow \ Sun \ Java \ Deployment \ log)에서 생성 된 로그 파일은 "localhost"및 "389"값이 사용되고 있음을 나타냅니다 호스트 및 포트 용. 호스트 그렇지 않으면 기본값 "localhost"를 사용, 필수입니다

... 
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) 
... 

사람이 확인할 수 있습니다 :이 로그 파일의 조각인가?

"호스트"필드가 없으면 클라이언트는 적절한 LDAP 서버에 대한 사전 지식이 있어야합니다. "호스트"속성을 구성 할 수 있습니까?

JRE 버전 1.7.0_45 (빌드 1.7.0_45-b18)를 사용하고 있습니다.

답변

0

예, 호스트가 필수입니다 텔모 SIMOES, 감사합니다.

코드에 따라 LDAPCertStore 개체가 생성되는 방법 (있는 경우)에 따라 약간 다릅니다. 생성자를 호출 할 때 LDAPCertStoreParameters 개체를 전달해야합니다. 이 클래스는 호스트 (및 포트)를 지정할 수있는 생성자를 포함합니다.

LDAPCertStoreParameters params = new LDAPCertStoreParameters("hostname", 389); 
CertStore store = CertStore.getInstance("LDAP", params); 

행운을 빕니다 : 당신이 같은 LDAPCertStore을 만드는

보십시오.