How XKMS Distributes and Registers Public Keys

The XML Key Management Specification (XKMS) is a standard designed to simplify the integration of Public Key Infrastructure (PKI) with XML-based web services. Instead of requiring client applications to handle complex PKI tasks—such as parsing certificates, verifying certificate revocation lists (CRLs), and building trust chains—XKMS offloads these responsibilities to a centralized trust server. It uses standard XML messaging protocols (typically over SOAP) to handle the distribution, validation, and registration of public keys through two primary sub-protocols: the XML Key Information Service Specification (X-KISS) and the XML Key Registration Service Specification (X-KRSS).

Key Distribution and Validation via X-KISS

X-KISS defines how applications obtain and validate public keys to verify digital signatures or encrypt XML documents without implementing native PKI logic. It operates using two main message pairs:

Public Key Registration and Lifecycle via X-KRSS

X-KRSS handles the lifecycle management of public key pairs, enabling clients to register, update, and revoke keys through standardized XML messages.

XML Message Flow

Every XKMS operation follows a straightforward request-response model encoded in standard XML schema. A client creates an XML document representing the operation, embeds authentication and integrity mechanisms (such as XML Signature or shared-secret authentication), and transmits it over HTTP/SOAP. The XKMS trust server acts as a gateway between the lightweight XML application layer and traditional enterprise security infrastructure, translating XML requests into PKI operations and returning standardized XML responses.