X509Data (Java SE 12 & JDK 12 )
Keywords: javax.xml.crypto.dsig.keyinfo.X509Data interface

Module java.xml.crypto
Package javax.xml.crypto.dsig.keyinfo

## Interface X509Data

- All Superinterfaces:
    `XMLStructure`

      public interface X509Data
      extends XMLStructure

  A representation of the XML `X509Data` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. An `X509Data` object contains one or more identifers of keys or X.509 certificates (or certificates' identifiers or a revocation list). The XML Schema Definition is defined as:

          <element name="X509Data" type="ds:X509DataType"/>
          <complexType name="X509DataType">
              <sequence maxOccurs="unbounded">
                <choice>
                  <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
                  <element name="X509SKI" type="base64Binary"/>
                  <element name="X509SubjectName" type="string"/>
                  <element name="X509Certificate" type="base64Binary"/>
                  <element name="X509CRL" type="base64Binary"/>
                  <any namespace="##other" processContents="lax"/>
                </choice>
              </sequence>
          </complexType>

          <complexType name="X509IssuerSerialType">
            <sequence>
              <element name="X509IssuerName" type="string"/>
              <element name="X509SerialNumber" type="integer"/>
            </sequence>
          </complexType>

  An `X509Data` instance may be created by invoking the `newX509Data` methods of the `KeyInfoFactory` class and passing it a list of one or more `XMLStructure`s representing X.509 content; for example:

         KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
         X509Data x509Data = factory.newX509Data
             (Collections.singletonList("cn=Alice"));

  Since:
    1.6
  See Also:
    `KeyInfoFactory.newX509Data(List)`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `RAW_X509_CERTIFICATE_TYPE` | URI identifying the binary (ASN.1 DER) X.509 Certificate KeyInfo type: http://www.w3.org/2000/09/xmldsig#rawX509Certificate.
    `static String` | `TYPE` | URI identifying the X509Data KeyInfo type: http://www.w3.org/2000/09/xmldsig#X509Data.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `List<?>` | `getContent()` | Returns an `unmodifiable list` of the content in this `X509Data`.

    - ### Methods declared in interface javax.xml.crypto.XMLStructure

      `isFeatureSupported`

- - ### Field Detail

    - #### TYPE

          static final String TYPE

      URI identifying the X509Data KeyInfo type: http://www.w3.org/2000/09/xmldsig#X509Data. This can be specified as the value of the `type` parameter of the `RetrievalMethod` class to describe a remote `X509Data` structure.
      See Also:
        Constant Field Values

    - #### RAW_X509_CERTIFICATE_TYPE

          static final String RAW_X509_CERTIFICATE_TYPE

      URI identifying the binary (ASN.1 DER) X.509 Certificate KeyInfo type: http://www.w3.org/2000/09/xmldsig#rawX509Certificate. This can be specified as the value of the `type` parameter of the `RetrievalMethod` class to describe a remote X509 Certificate.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getContent

          List<?> getContent()

      Returns an `unmodifiable list` of the content in this `X509Data`. Valid types are `String` (subject names), `byte[]` (subject key ids), `X509Certificate`, `X509CRL`, or `XMLStructure` (`X509IssuerSerial` objects or elements from an external namespace).
      Returns:
        an unmodifiable list of the content in this `X509Data` (never `null` or empty)