peppelinux / draft-demarco-acme-openid-federation

Automatic Certificate Management Environment (ACME) for OpenID Connect Federation 1.0
Other
3 stars 3 forks source link

Sequence Diagram #10

Open peppelinux opened 2 weeks ago

peppelinux commented 2 weeks ago

We need a sequence diagram describing the entire flow

we can start in this issue using mermaid or plantuml

here an example as template

we need three entities

  1. RP (requesting X.509 Certificates)
  2. Superior Entity also ACME Provider
  3. Trust Anchor supporting trust evaluation
sequenceDiagram
    participant WalletInstance as Wallet Instance
    participant CV as Credential Verifier
    participant IE as Intermediate
    participant TA as Trust Anchor

    WalletInstance->>CV: Fetch CV's Entity Configuration
    CV->>WalletInstance: Return Entity Configuration

    WalletInstance->>CV: Extract Authority Hints from CV's Configuration
    CV->>WalletInstance: Provide Authority Hints

    loop for each Authority Hint
        WalletInstance->>IE: Fetch Entity Configuration -> get federation_fetch_api URL
        IE->>WalletInstance: Fetch Subordinate Statement
        WalletInstance->>WalletInstance: Validate the previous statement<br/>using the Federation Entity Keys<br/>provided in the Subordinate Statement
    end

    WalletInstance->>WalletInstance: Validate Trust Chain

    alt If Trust Chain is valid and unexpired
        WalletInstance->>WalletInstance: Proceed with Federation Process
    else
        WalletInstance->>WalletInstance: Abort Process with Error
    end

    WalletInstance->>WalletInstance: Applies Policies
    WalletInstance->>WalletInstance: Derive CV's final metadata
peppelinux commented 4 days ago

see: https://github.com/peppelinux/draft-demarco-acme-openid-federation/blob/main/draft-demarco-acme-openid-federation.md?plain=1#L230