Interface RetrievalMethod

  • All Superinterfaces:
    URIReference, XMLStructure

    public interface RetrievalMethod
    extends URIReference, XMLStructure
    A representation of the XML RetrievalMethod element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. A RetrievalMethod object is used to convey a reference to KeyInfo information that is stored at another location. The XML schema definition is defined as:
       <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
       <complexType name="RetrievalMethodType">
         <sequence>
           <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
         </sequence>
         <attribute name="URI" type="anyURI"/>
         <attribute name="Type" type="anyURI" use="optional"/>
       </complexType>
     
    A RetrievalMethod instance may be created by invoking one of the newRetrievalMethod methods of the KeyInfoFactory class, and passing it the URI identifying the location of the KeyInfo, an optional type URI identifying the type of KeyInfo, and an optional list of Transforms; for example:
       KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
       RetrievalMethod rm = factory.newRetrievalMethod
          ("#KeyValue-1", KeyValue.DSA_TYPE, Collections.singletonList(Transform.BASE64));
     
    Since:
    1.6
    See Also:
    KeyInfoFactory.newRetrievalMethod(String), KeyInfoFactory.newRetrievalMethod(String, String, List)
    • Method Detail

      • getTransforms

        List<Transform> getTransforms()
        Returns an unmodifiable list of Transforms of this RetrievalMethod.
        Returns:
        an unmodifiable list of Transform objects (may be empty but never null).
      • getURI

        String getURI()
        Returns the URI of the referenced KeyInfo information.
        Specified by:
        getURI in interface URIReference
        Returns:
        the URI of the referenced KeyInfo information in RFC 2396 format (never null)
      • dereference

        Data dereference​(XMLCryptoContext context)
                  throws URIReferenceException
        Dereferences the KeyInfo information referenced by this RetrievalMethod and applies the specified Transforms.
        Parameters:
        context - an XMLCryptoContext that may contain additional useful information for dereferencing the URI. The context's baseURI and dereferencer parameters (if specified) are used to resolve and dereference this RetrievalMethod
        Returns:
        a Data object representing the raw contents of the KeyInfo information referenced by this RetrievalMethod. It is the caller's responsibility to convert the returned data to an appropriate KeyInfo object.
        Throws:
        NullPointerException - if context is null
        URIReferenceException - if there is an error while dereferencing