Class KeyResolver
- java.lang.Object
-
- org.apache.xml.security.keys.keyresolver.KeyResolver
-
public class KeyResolver extends java.lang.ObjectKeyResolver is factory class for subclass of KeyResolverSpi that represent child element of KeyInfo.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classKeyResolver.ResolverIteratorIterate over the KeyResolverSpi instances
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.LoggerLOGprivate KeyResolverSpiresolverSpiField resolverSpiprivate static java.util.List<KeyResolver>resolverVectorField resolverVector
-
Constructor Summary
Constructors Modifier Constructor Description privateKeyResolver(KeyResolverSpi keyResolverSpi)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetProperty(java.lang.String key)Method getPropertystatic java.security.PublicKeygetPublicKey(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage)Method getPublicKeystatic java.security.cert.X509CertificategetX509Certificate(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage)Method getX509Certificatestatic java.util.Iterator<KeyResolverSpi>iterator()static intlength()Method lengthstatic voidregister(java.lang.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(java.lang.String className, boolean globalResolver)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregisterClassNames(java.util.List<java.lang.String> classNames)This method is used for registeringKeyResolverSpis which are available to allKeyInfoobjects.static voidregisterDefaultResolvers()This method registers the default resolvers.java.security.PublicKeyresolvePublicKey(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage)Method resolvePublicKeyjava.lang.StringresolverClassName()Method resolverClassNamejavax.crypto.SecretKeyresolveSecretKey(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage)java.security.cert.X509CertificateresolveX509Certificate(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage)Method resolveX509CertificatevoidsetProperty(java.lang.String key, java.lang.String value)Method setPropertybooleanunderstandsProperty(java.lang.String propertyToTest)Method understandsProperty
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
resolverVector
private static java.util.List<KeyResolver> resolverVector
Field resolverVector
-
resolverSpi
private final KeyResolverSpi resolverSpi
Field resolverSpi
-
-
Constructor Detail
-
KeyResolver
private KeyResolver(KeyResolverSpi keyResolverSpi)
Constructor.- Parameters:
keyResolverSpi- a KeyResolverSpi instance
-
-
Method Detail
-
length
public static int length()
Method length- Returns:
- the length of resolvers registered
-
getX509Certificate
public static final java.security.cert.X509Certificate getX509Certificate(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage) throws KeyResolverExceptionMethod getX509Certificate- Parameters:
element-baseURI-storage-- Returns:
- The certificate represented by the element.
- Throws:
KeyResolverException
-
getPublicKey
public static final java.security.PublicKey getPublicKey(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage) throws KeyResolverExceptionMethod getPublicKey- Parameters:
element-baseURI-storage-- Returns:
- the public key contained in the element
- Throws:
KeyResolverException
-
register
public static void register(java.lang.String className, boolean globalResolver) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationExceptionThis 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:
java.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.ClassNotFoundExceptionjava.lang.SecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
registerAtStart
public static void registerAtStart(java.lang.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:
java.lang.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:
java.lang.SecurityException- if a security manager is installed and the caller does not have permission to register the key resolver
-
registerClassNames
public static void registerClassNames(java.util.List<java.lang.String> classNames) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationExceptionThis 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:
java.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.ClassNotFoundExceptionjava.lang.SecurityException- 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 java.security.PublicKey resolvePublicKey(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage) throws KeyResolverExceptionMethod resolvePublicKey- Parameters:
element-baseURI-storage-- Returns:
- resolved public key from the registered from the elements
- Throws:
KeyResolverException
-
resolveX509Certificate
public java.security.cert.X509Certificate resolveX509Certificate(org.w3c.dom.Element element, java.lang.String baseURI, StorageResolver storage) throws KeyResolverExceptionMethod resolveX509Certificate- Parameters:
element-baseURI-storage-- Returns:
- resolved X509certificate key from the registered from the elements
- Throws:
KeyResolverException
-
resolveSecretKey
public javax.crypto.SecretKey resolveSecretKey(org.w3c.dom.Element element, java.lang.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(java.lang.String key, java.lang.String value)Method setProperty- Parameters:
key-value-
-
getProperty
public java.lang.String getProperty(java.lang.String key)
Method getProperty- Parameters:
key-- Returns:
- the property set for this resolver
-
understandsProperty
public boolean understandsProperty(java.lang.String propertyToTest)
Method understandsProperty- Parameters:
propertyToTest-- Returns:
- true if the resolver understands property propertyToTest
-
resolverClassName
public java.lang.String resolverClassName()
Method resolverClassName- Returns:
- the name of the resolver.
-
iterator
public static java.util.Iterator<KeyResolverSpi> iterator()
-
-