Skip to content

Support multiple Endpoint certificates when using OASIS SMP v1 or PEPPOL #24

Description

@holodeck-b2b

Both the OASIS SMP v1 Standard and PEPPOL SMP specification allow only one Certificate to be registered for an Endpoint. Therefore the current implementation only uses the first registered Certificate for an Endpoint when responding to a ServiceMetadata query.
This implies that a scheduled certificate renewal requires adding a new, duplicate, Endpoint registration with the new certificate and setting the activation and expiration dates on the Endpoints.

However the SMP server could also automatically create multiple Endpoints when queried if the Endpoint contains multiple Certificate entries. This would remove the need to duplicate the other Endpoint meta-data.

Example

Given this Endpoint registration:

Endpoint Value
. Transport Profile peppol-transport-as4-v2_0
. URL https://example.holodeck-b2b.org/as4
. Contact Info. mailto:contact-us@example.holodeck-b2b.com
. Description The default endpoint for X
. Certificate[0]
. . X509 Cert Old certificate
. . Expiration Date 2026-02-12T00:00
. Certificate[1]
. . X509 Cert New certifcate
. . Activation Date 2026-02-12T00:00

The output of the ServiceMetadata query could be:

<ns3:ServiceEndpointList>
    <ns3:Endpoint transportProfile="peppol-transport-as4-v2_0">
        <ns2:EndpointReference>
            <ns2:Address>https://example.holodeck-b2b.org/as4</ns2:Address>
        </ns2:EndpointReference>
        <ns3:RequireBusinessLevelSignature>false</ns3:RequireBusinessLevelSignature>
        <ns3:ServiceExpirationDate>2026-02-12T00:00:00.000Z</ns3:ServiceExpirationDate>
        <ns3:Certificate>PEM encoded old certificate</ns3:Certificate>
        <ns3:ServiceDescription>The default endpoint for X</ns3:ServiceDescription>
        <ns3:TechnicalContactUrl>mailto:contact-us@example.holodeck-b2b.org</ns3:TechnicalContactUrl>
    </ns3:Endpoint>
    <ns3:Endpoint transportProfile="peppol-transport-as4-v2_0">
        <ns2:EndpointReference>
            <ns2:Address>https://example.holodeck-b2b.org/as4</ns2:Address>
        </ns2:EndpointReference>
        <ns3:RequireBusinessLevelSignature>false</ns3:RequireBusinessLevelSignature>
        <ns3:ServiceActivationDate>2026-02-12T00:00:00.000Z</ns3:ServiceActivationDate>
        <ns3:Certificate>PEM encoded new certificate</ns3:Certificate>
        <ns3:ServiceDescription>The default endpoint for X</ns3:ServiceDescription>
        <ns3:TechnicalContactUrl>mailto:contact-us@example.holodeck-b2b.org</ns3:TechnicalContactUrl>
    </ns3:Endpoint>
</ns3:ServiceEndpointList> 

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions