Peppol PKI explained

This article outlines the details of the Peppol PKI. It shows how the PKI is structured and where it is used. See the page on Peppol Certificate update for the specifics on this process.

OpenPeppol PKI v3 - since 2018

The PKI is called "OpenPeppol PKI v3" and the root certificates are valid from 2018 to 2028. The structure is very similar to the previous V2 one, but the STS CA is not present any more. So this is how it looks like:

Peppol PKI v3 structure

The migration process was as follows:

  • February 2018: the new root certificates are available for download in Confluence and from GitHub
    Complete JKS files with all of the new root certificates are available at https://github.com/phax/peppol-commons/tree/master/peppol-commons/src/main/resources/truststore. The recommended one is complete-truststore.jks as it contains all certificates.
  • 16 April 2018: the certificate issuing process will begin and members are urged to request their PKI v3 certificate
  • 31 August 2018: OpenPeppol will no longer issue the old certificate types
  • 3 September 2018: the new certificates can be used in production

For details and further information, please see the DRAFT - Introduction to the revised PKI Certificate infrastructure and issuing process and the PKI Certificate Migration 2018 pages.

The following list contains the migration status of the different software components I'm aware of. Please send additional information to me, so I can add it here.

  • Peppol Directory done: Supports both PKIs in parallel - both in test and production.
  • phoss SMP done: version 5.0.4 and later do support both PKI v2 and PKI v3 in parallel.

Certificate usage in Peppol

This section tries to give a rough overview where certificates are used for what purpose.

  • SMP Server
    • Uses the Peppol SMP certificate to sign responses to SignedServiceMetadata requests (as in http://smp.example.org/{participantID}/services/{docTypeID})
    • Uses the Peppol SMP certificate as a client certificate when communicating with the SML (for service group creation and deletion)
    • Requires the public part of the Peppol AP certificate for usage in the public endpoints (the information that is queried from the outside).
    • Optionally uses the Peppol SMP certificate as a client certificate when communicating with the Peppol Directory (for business card updates and deletions)
  • SMP Client
    • Verifies that the response from the SMP server was signed by a valid Peppol SMP certificate
  • AP Server (receiving documents)
    • Requires an SSL certificate for https usage. This SSL certificate is NOT issued by Peppol but must be issued by a trusted third party. This SSL certificate should not be self-signed!
    • Verifies that the incoming document was signed with a Peppol AP certificate.
  • AP Client (sending documents)
    • Signs the AS4 message with the Peppol AP certificate. Includes the public part of the certificate into the AS4 message.
  • SMK/SML
    • The SMK requires requests to contain an SMP Pilot Certificate to perform writing operations (mTLS)
    • The SML requires requests to contain an SMP Production Certificate to perform writing operations (mTLS)
  • Peppol Directory
    • The test Peppol Directory requires requests to contain an SMP Pilot Certificate to perform writing operations (mTLS)
    • The production Peppol Directory requires requests to contain an SMP Production Certificate to perform writing operations (mTLS)
You must be logged in to post a comment!