aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java
index 1409ae8..4099297 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java
@@ -91,24 +91,21 @@ public class LDAPAPIImpl implements LDAPAPI {
}
}
- public String getURL(String issuer) {
- this.initializeFactoryImpl();
- String url = null;
- try {
- LDAPClient client = this.ldapClientFactory.createClient(issuer);
- url = client.getUrl().toString();
- } catch (LDAPException e) {
- this.log.error(e.getMessage(), e);
- }
- return url;
- }
-
public byte[] loadBase64CertificateFromLDAP(String serialNumber, String issuer) {
this.initializeFactoryImpl();
byte[] base64CertData = null;
try {
- LDAPClient client = this.ldapClientFactory.createClient(issuer);
- X509Certificate x509certificate = client.retrieveCertificate(new BigInteger(serialNumber));
+ List clients = this.ldapClientFactory.createClients(issuer);
+ Iterator clientIt = clients.iterator();
+ X509Certificate x509certificate = null;
+ while (clientIt.hasNext() && x509certificate == null) {
+ LDAPClient client = (LDAPClient) clientIt.next();
+ try {
+ x509certificate = client.retrieveCertificate(new BigInteger(serialNumber));
+ } catch (LDAPException e) {
+ this.log.error(e.getMessage(), e);
+ }
+ }
if (x509certificate != null) {
base64CertData = Util.Base64Encode(x509certificate.toByteArray());
}