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 identifiers 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 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.
`static final 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 Details

### 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 Details

### 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)