















|
| |
| |
A ResourceResolver is used by a Reference to retrieve the signed resource from it's location. Different resolvers exist to get signed portions from the XML document in which the signature resides, to make HTTP connections or to fetch files from the local file system.
The concept of a ResourceResolver is very similar to an org.xml.sax.EntityResolver, but in contrast to that Interface, the ResourceResolver is able to de-reference contents inside an XML document.
|
| |
A StorageResolver is used by KeyInfo and it's child objects / Elements to retrieve Certificates from storage locations. This approach is used to allow a user to customize the library for use in a specific corporate environment. It's possible to write StorageResolvers who make requests to LDAP servers or to use specificic PKI interfaces.
Bundled with the software come three sample StorageResolvers which can be used for common tasks:
StorageResolvers are supplied to the KeyInfo's addStorageResolver() method.
Generally, a StorageResolver has only a method to return an Iterator which iterates through the available Certificates.
|
| |
A KeyResolver is used by KeyInfo to process it's child Elements. There exist two general classes of a KeyResolver:
- If a ds:RSAKeyValue or ds:DSAKeyValue or ds:X509Certificate is used inside the ds:KeyInfo, the resolvers can return a public key or Certificate directly without further action, because the key itself is contained inside the ds:Signature
- If there is only key material identification information like a ds:KeyName or the serial number of the Certificate, the KeyResolver must use the StorageResolvers to query the available keys and certificates to find the correct one.
Of course, there are cross-dependencies: e.g. a KeyResolver named RetrievalMethodResolver uses the ResourceResolver framework to retrieve a public key or certificate from an arbitrary location.
|
|
|
|