From 5425887fa59196b7ea2474d4893f10bb1a265446 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 13 Dec 2007 18:16:52 +0000
Subject: [PATCH] Fix for issue 2612.
---
opendj-sdk/opends/src/ads/org/opends/admin/ads/ADSContext.java | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/src/ads/org/opends/admin/ads/ADSContext.java b/opendj-sdk/opends/src/ads/org/opends/admin/ads/ADSContext.java
index 751f4a4..3154f86 100644
--- a/opendj-sdk/opends/src/ads/org/opends/admin/ads/ADSContext.java
+++ b/opendj-sdk/opends/src/ads/org/opends/admin/ads/ADSContext.java
@@ -708,6 +708,28 @@
SearchResult sr = (SearchResult)ne.next();
Map<ServerProperty,Object> properties =
makePropertiesFromServerAttrs(sr.getAttributes());
+ Object keyId = properties.get(ServerProperty.INSTANCE_KEY_ID);
+ if (keyId != null)
+ {
+ try
+ {
+ SearchControls sc1 = new SearchControls();
+
+ sc1.setSearchScope(SearchControls.ONELEVEL_SCOPE);
+ final String attrIDs[] = { "ds-cfg-public-key-certificate;binary" };
+ sc1.setReturningAttributes(attrIDs);
+ SearchResult certEntry =
+ dirContext.search(getInstanceKeysContainerDN(),
+ "(ds-cfg-key-id="+keyId+")", sc).next();
+ Attribute certAttr = certEntry.getAttributes().get(attrIDs[0]);
+ properties.put(ServerProperty.INSTANCE_PUBLIC_KEY_CERTIFICATE,
+ certAttr.get());
+ }
+ catch (NameNotFoundException x)
+ {
+ LOG.log(Level.WARNING, "Could not find public key for "+properties);
+ }
+ }
result.add(properties);
}
}
--
Gitblit v1.10.0