Class KeyResolver
- java.lang.Object
-
- org.apache.xml.security.keys.keyresolver.KeyResolver
-
public class KeyResolver extends Object
KeyResolver is factory class for subclass of KeyResolverSpi that represent child element of KeyInfo.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetProperty(String key)Method getPropertystatic PublicKeygetPublicKey(Element element, String baseURI, StorageResolver storage)Method getPublicKeystatic X509CertificategetX509Certificate(Element element, String baseURI, StorageResolver storage)Method getX509Certificatestatic Iterator<KeyResolverSpi>iterator()static intlength()Method lengthstatic voidregister(String className, boolean globalResolver)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregister(KeyResolverSpi keyResolverSpi, boolean start)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregisterAtStart(String className, boolean globalResolver)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregisterClassNames(List<String> classNames)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregisterDefaultResolvers()This method registers the default resolvers.PublicKeyresolvePublicKey(Element element, String baseURI, StorageResolver storage)Method resolvePublicKeyStringresolverClassName()Method resolverClassNameSecretKeyresolveSecretKey(Element element, String baseURI, StorageResolver storage)X509CertificateresolveX509Certificate(Element element, String baseURI, StorageResolver storage)Method resolveX509CertificatevoidsetProperty(String key, String value)Method setPropertybooleanunderstandsProperty(String propertyToTest)Method understandsProperty
-
-
-
Method Detail
-
length
public static int length()
Method length- Returns:
- the length of resolvers registered
-
getX509Certificate
public static final X509Certificate getX509Certificate(Element element, String baseURI, StorageResolver storage) throws KeyResolverException
Method getX509Certificate- Parameters:
element-baseURI-storage-- Returns:
- The certificate represented by the element.
- Throws:
KeyResolverException
-
getPublicKey
public static final PublicKey getPublicKey(Element element, String baseURI, StorageResolver storage) throws KeyResolverException
Method getPublicKey- Parameters:
element-baseURI-storage-- Returns:
- the public key contained in the element
- Throws:
KeyResolverException
-
register
public static void register(String className, boolean globalResolver) throws ClassNotFoundException, IllegalAccessException, InstantiationException
This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects. This means that personalizedKeyResolverSpis should only be registered directly to theKeyInfousingKeyInfo.registerInternalKeyResolver(org.apache.xml.security.keys.keyresolver.KeyResolverSpi). Please note that this method will create a new copy of the underlying array, as the underlying collection is a CopyOnWriteArrayList.- Parameters:
className-globalResolver- Whether the KeyResolverSpi is a global resolver or not- Throws:
InstantiationExceptionIllegalAccessExceptionClassNotFoundExceptionSecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
registerAtStart
public static void registerAtStart(String className, boolean globalResolver)
This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects. This means that personalizedKeyResolverSpis should only be registered directly to theKeyInfousingKeyInfo.registerInternalKeyResolver(org.apache.xml.security.keys.keyresolver.KeyResolverSpi). Please note that this method will create a new copy of the underlying array, as the underlying collection is a CopyOnWriteArrayList.- Parameters:
className-globalResolver- Whether the KeyResolverSpi is a global resolver or not- Throws:
SecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
register
public static void register(KeyResolverSpi keyResolverSpi, boolean start)
This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects. This means that personalizedKeyResolverSpis should only be registered directly to theKeyInfousingKeyInfo.registerInternalKeyResolver(org.apache.xml.security.keys.keyresolver.KeyResolverSpi). Please note that this method will create a new copy of the underlying array, as the underlying collection is a CopyOnWriteArrayList.- Parameters:
keyResolverSpi- a KeyResolverSpi instance to registerstart- whether to register the KeyResolverSpi at the start of the list or not- Throws:
SecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
registerClassNames
public static void registerClassNames(List<String> classNames) throws ClassNotFoundException, IllegalAccessException, InstantiationException
This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects. This means that personalizedKeyResolverSpis should only be registered directly to theKeyInfousingKeyInfo.registerInternalKeyResolver(org.apache.xml.security.keys.keyresolver.KeyResolverSpi). The KeyResolverSpi instances are not registered as a global resolver.- Parameters:
classNames-- Throws:
InstantiationExceptionIllegalAccessExceptionClassNotFoundExceptionSecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
registerDefaultResolvers
public static void registerDefaultResolvers()
This method registers the default resolvers.
-
resolvePublicKey
public PublicKey resolvePublicKey(Element element, String baseURI, StorageResolver storage) throws KeyResolverException
Method resolvePublicKey- Parameters:
element-baseURI-storage-- Returns:
- resolved public key from the registered from the elements
- Throws:
KeyResolverException
-
resolveX509Certificate
public X509Certificate resolveX509Certificate(Element element, String baseURI, StorageResolver storage) throws KeyResolverException
Method resolveX509Certificate- Parameters:
element-baseURI-storage-- Returns:
- resolved X509certificate key from the registered from the elements
- Throws:
KeyResolverException
-
resolveSecretKey
public SecretKey resolveSecretKey(Element element, String baseURI, StorageResolver storage) throws KeyResolverException
- Parameters:
element-baseURI-storage-- Returns:
- resolved SecretKey key from the registered from the elements
- Throws:
KeyResolverException
-
setProperty
public void setProperty(String key, String value)
Method setProperty- Parameters:
key-value-
-
getProperty
public String getProperty(String key)
Method getProperty- Parameters:
key-- Returns:
- the property set for this resolver
-
understandsProperty
public boolean understandsProperty(String propertyToTest)
Method understandsProperty- Parameters:
propertyToTest-- Returns:
- true if the resolver understands property propertyToTest
-
resolverClassName
public String resolverClassName()
Method resolverClassName- Returns:
- the name of the resolver.
-
iterator
public static Iterator<KeyResolverSpi> iterator()
-
-