1 package edu.internet2.middleware.shibboleth.common;
3 import java.security.Key;
4 import java.security.KeyStore;
5 import java.util.Iterator;
8 * Used by a Shibboleth SHIRE implementation to validate origin site
9 * information and locate signature verification keys when validating responses
10 * and assertions from a Handle Service<P>
12 * The interface MUST be thread-safe.
14 * @author Scott Cantor
15 * @created January 24, 2002
17 public interface OriginSiteMapper
20 * Provides an iterator over the trusted Handle Services for the specified
23 * @param originSite The DNS name of the origin site to query
24 * @return An iterator over the Handle Service DNS names
26 public abstract Iterator getHandleServiceNames(String originSite);
29 * Returns a preconfigured key to use in verifying a signature created by
32 * Any key returned is implicitly trusted and a certificate signed by
33 * another trusted entity is not sought or required
35 * @param handleService Description of Parameter
36 * @return A trusted key (probably public but could be
39 public abstract Key getHandleServiceKey(String handleService);
42 * Provides an iterator over the security domain expressions for which the
43 * specified origin site is considered to be authoritative
45 * @param originSite The DNS name of the origin site to query
46 * @return An iterator over a set of regular expression strings
48 public abstract Iterator getSecurityDomains(String originSite);
51 * Gets a key store containing certificate entries that are trusted to sign
52 * Handle Service certificates that are encountered during processing<P>
56 * @return A key store containing trusted certificate issuers
58 public abstract KeyStore getTrustedRoots();