To provide even more advanced services to developers, the libPKI implements XML parsing capabilities and XKMS support. The XML capabilities will implement both extensions and profile management (for requests/certs creation and management) and XKMS support. Extensions to the XKMS protocol will be investigated and proposed as part of the work in order to add PKI management capabilities to the standard.
Another interesting feature included in the design of LibPKI is to provide a protocol-independent data retrieval API (e.g. LDAP, HTTP, FTP, FILE, etc...). Developers can use the libPKI provided data retrieval functions without the need to know the details about the used protocol implementation.
Part of the libPKI added value is the direct integration with HSMs. At the moment most cryptographic libraries provide integration with HSM by using specific functions and drivers. By introducing the concepts of PKI_TOKEN and PKI_HSM, the library provides abstraction for usage of HSMs for key operations. For example this interface enables a software to store private keys in different devices, e.g. smart cards, usb tokens or TPM.