KeyInfo
KeyInfo is a data structure defined by the W3C XML Signature specification. It is the container element used to convey information about the cryptographic key that was used to produce a digital signature on XML data or to decrypt XML encrypted content. The purposes of KeyInfo are to assist a verifier in locating or reconstructing the appropriate public key or trust anchor without requiring the signer to reveal private key material.
KeyInfo can contain a variety of child elements, allowing flexible key representation. Common components include:
- KeyName: a human-readable identifier for the key.
- KeyValue: inline public key material, which may further include RSAKeyValue or DSAKeyValue data, or an SPKIData
- RetrievalMethod: instructions or a URI indicating how to retrieve the key from another location.
- X509Data: a collection of X.509 related items, such as X509Certificate, X509IssuerSerial, X509SubjectName, or X509CRL.
In practice, KeyInfo enables verifiers to obtain the necessary public key from certificates, public key values,
Security considerations include the potential exposure of key material or reliance on external retrievals. Implementations should