10.1.6. Entity Configuration del Fornitore di Wallet

Una richiesta HTTP GET all'endpoint della Federazione consente di recuperare la Entity Configuration del Fornitore di Wallet (WP_001).

La Entity Configuration del Fornitore di Wallet restituita DEVE contenere gli attributi descritti nelle sezioni seguenti.

La Entity Configuration del Fornitore di Wallet è un JWT firmato contenente le chiavi pubbliche e gli algoritmi supportati dalla Soluzione Wallet come componente del Fornitore di Wallet. È strutturata in conformità con OID-FED e con L'Infrastruttura di Trust delineata in questa specifica (WP_002).

10.1.6.1. Header JWT della Entity Configuration del Fornitore di Wallet

Key

Value

alg

Algoritmo utilizzato per verificare la firma del token. DEVE essere uno dei possibili valori indicati in Algoritmi Crittografici (ad es., ES256).

kid

Impronta digitale della chiave pubblica utilizzata per la firma.

typ

Tipo di media, impostato su entity-statement+jwt.

10.1.6.2. Payload JWT della Entity Configuration del Fornitore di Wallet

Key

Value

iss

OBBLIGATORIO. URL pubblico della Solutione Wallet.

sub

OBBLIGATORIO. URL pubblico della Solutione Wallet.

iat

OBBLIGATORIO. Data e ora di emissione in formato Unix Timestamp.

exp

OBBLIGATORIO. Data e ora di scadenza in formato Unix Timestamp.

authority_hints

OBBLIGATORIO. Array di URL (String) contenente l'elenco degli URL delle Entità superiori immediate, come il Trust Anchor o un Intermediario, che POSSONO emettere un Entity Statement relativo alla Solutione Wallet.

jwks

OBBLIGATORIO. Un JSON Web Key Set (JWKS) che rappresenta la parte pubblica delle chiavi di firma dell'Entità di Federazione. La chiave privata corrispondente è utilizzata dalla Soluzione Wallet per firmare la Entity Configuration su se stessa.

metadata

OBBLIGATORIO. Oggetto JSON che rappresenta i Tipi di Entità e i metadati per quei Tipi di Entità. Ogni nome membro dell'oggetto JSON è un Identificatore di Tipo di Entità, e ogni valore DEVE essere un oggetto JSON contenente parametri di metadati secondo lo schema di metadati del Tipo di Entità. DEVE contenere i metadati wallet_solution e OPZIONALMENTE i metadati federation_entity.

Nota

I test che coprono la struttura di Entity Configuration (header e payload) sono forniti in WP_002a–002h.

10.1.6.3. Esempio di Entity Configuration del Fornitore di Wallet

Di seguito è riportato un esempio non normativo di payload di una Entity Configuration del Fornitore di Wallet contenente metadati per

  • federation_entity

  • wallet_solution

{
  "iss": "https://wallet-solution.example.org",
  "sub": "https://wallet-solution.example.org",
  "iat": 1687171759,
  "exp": 1709290159,
  "jwks": {
    "keys": [
      {
        "crv": "P-256",
        "kty": "EC",
        "x": "qrJrj3Af_B57sbOIRrcBM7br7wOc8ynj7lHFPTeffUk",
        "y": "1H0cWDyGgvU8w-kPKU_xycOCUNT2o0bwslIQtnPU6iM",
        "kid": "5t5YYpBhN-EgIEEI5iUzr6r0MR02LnVQ0OmekmNKcjY"
      }
    ]
  },
  "metadata": {
    "wallet_solution": {
      "logo_uri": "https://wallet-solution.example.org/compact-logo.svg",
      "jwks": {
        "keys": [
          {
            "crv": "P-256",
            "kty": "EC",
            "x": "BxYsu3QvYmOz1fl1l5hGyPWlpvgTzz3AY3j3K_9zGPs",
            "y": "ob34Wmfah_ScQXaYMJWoBkZSwO-kQ0VTgMk4VZfu48w",
            "kid": "749b495837819c00cfee1749b495837819c00cfee1"
          }
        ]
      },
      "wallet_metadata": {
        "wallet_name": "Wallet X",
        "authorization_endpoint": "https://wallet-solution.digital-strategy.europa.eu/authorization",
        "credential_offer_endpoint": "https://wallet-solution.digital-strategy.europa.eu/credential_offer",
        "response_types_supported": [
          "vp_token"
        ],
        "response_modes_supported": [
          "query"
        ],
        "vp_formats_supported": {
          "dc+sd-jwt": {
            "sd-jwt_alg_values": [
              "ES256",
              "ES384"
            ]
          }
        },
        "request_object_signing_alg_values_supported": [
          "ES256"
        ],
        "client_id_prefixes_supported": ["openid_federation", "x509_hash"]
      }
    },
    "federation_entity": {
      "organization_name": "IT-Wallet Provider",
      "homepage_uri": "https://wallet-provider.example.org",
      "policy_uri": "https://wallet-provider.example.org/privacy_policy",
      "tos_uri": "https://wallet-provider.example.org/info_policy",
      "logo_uri": "https://wallet-provider.example.org/logo.svg"
    }
  },
  "authority_hints": [
    "https://registry.eudi-wallet.example.it"
  ]
}