The PGPData element appears as a child of KeyInfo. It conveys information that relates to PGP public key pairs and signatures on such keys. See Table 13-1 for its identifier. The PGPKeyID and PGPKeyPacket are prespecified children of PGPData. A PGPKeyID value is a base64Binary sequence containing a standard PGP public key identifier, as defined in [RFC 2440]. The PGPKeyPacket contains a base-64 encoded Key Material Packet, also as defined in [RFC 2440]. Siblings from an external namespace can complement or extend these child element types. Alternatively, a PGP XML structure in an external namespace might replace PGPData as a child of KeyInfo. PGPData must contain one PGPKeyID and/or one PGPKeyPacket and may have zero or more elements from an external namespace. Implementation of PGPData is optional. The PGPData element syntax follows: <!-- PGPData DTD --> <!ELEMENT PGPData ( (PGPKeyID, PGPKeyPacket?) | (PGPKeyPacket) %PGPData.ANY;) > <!ELEMENT PGPKeyPacket (#PCDATA) > <!ELEMENT PGPKeyID (#PCDATA) > In schema notation, it has the following form: <!-- PGPData schema --> <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> |