compact3
javax.xml.crypto.dsig.keyinfo

## Interface PGPData

All Superinterfaces:
  XMLStructure

    public interface PGPData
    extends XMLStructure

A representation of the XML `PGPData` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. A `PGPData` object is used to convey information related to PGP public key pairs and signatures on such keys. The XML Schema Definition is defined as:

        <element name="PGPData" type="ds:PGPDataType"/>
        <complexType name="PGPDataType">
          <choice>
            <sequence>
              <element name="PGPKeyID" type="base64Binary"/>
              <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
              <any namespace="##other" processContents="lax" minOccurs="0"
               maxOccurs="unbounded"/>
            </sequence>
            <sequence>
              <element name="PGPKeyPacket" type="base64Binary"/>
              <any namespace="##other" processContents="lax" minOccurs="0"
               maxOccurs="unbounded"/>
            </sequence>
          </choice>
        </complexType>

A `PGPData` instance may be created by invoking one of the `newPGPData` methods of the `KeyInfoFactory` class, and passing it `byte` arrays representing the contents of the PGP public key identifier and/or PGP key material packet, and an optional list of elements from an external namespace.

Since:
  1.6
See Also:
  `KeyInfoFactory.newPGPData(byte[])`, `KeyInfoFactory.newPGPData(byte[], byte[], List)`, `KeyInfoFactory.newPGPData(byte[], List)`

### Field Summary

Fields
`static String` `TYPE` URI identifying the PGPData KeyInfo type: http://www.w3.org/2000/09/xmldsig#PGPData.

### Method Summary

All Methods Instance Methods Abstract Methods
`List` `getExternalElements()` Returns an `unmodifiable list` of `XMLStructure`s representing elements from an external namespace.
`byte[]` `getKeyId()` Returns the PGP public key identifier of this `PGPData` as defined in RFC 2440, section 11.2.
`byte[]` `getKeyPacket()` Returns the PGP key material packet of this `PGPData` as defined in RFC 2440, section 5.5.

### Methods inherited from interface javax.xml.crypto.XMLStructure

`isFeatureSupported`

### Field Detail

#### TYPE

    static final String TYPE

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

See Also:
  Constant Field Values

### Method Detail

#### getKeyId

    byte[] getKeyId()

Returns the PGP public key identifier of this `PGPData` as defined in RFC 2440, section 11.2.

Returns:
  the PGP public key identifier (may be `null` if not specified). Each invocation of this method returns a new clone to protect against subsequent modification.

#### getKeyPacket

    byte[] getKeyPacket()

Returns the PGP key material packet of this `PGPData` as defined in RFC 2440, section 5.5.

Returns:
  the PGP key material packet (may be `null` if not specified). Each invocation of this method returns a new clone to protect against subsequent modification.

#### getExternalElements

    List getExternalElements()

Returns an `unmodifiable list` of `XMLStructure`s representing elements from an external namespace.

Returns:
  an unmodifiable list of `XMLStructure`s (may be empty, but never `null`)