Skip to content

SPIFFE And SPIRE

  • SPIFFE (Secure Production Identity Framework for Everyone)
  • SPIRE (SPIFFE Runtime Environment)
  • SPIFFE Workload API
  • X.509-SVID specification
  • JWT-SVID specification
Flow IDNameDescription
workload-registrationWorkload RegistrationRegister workload entries in SPIRE
node-attestationNode AttestationNode identity verification
workload-attestationWorkload AttestationWorkload identity verification
x509-svid-issuanceX.509-SVID IssuanceRetrieve X.509 workload identity certificate
jwt-svid-issuanceJWT-SVID IssuanceRetrieve JWT workload identity token
mtls-handshakemTLS HandshakeMutual TLS using X.509-SVIDs
certificate-rotationCertificate RotationAutomatic SVID renewal
trust-bundle-federationTrust Bundle FederationCross-trust-domain bundle exchange
  • X.509-SVID Acquisition — Retrieve and inspect X.509 certificate
  • JWT-SVID Acquisition — Retrieve and decode JWT workload token
  • mTLS Configuration — Service-to-service mTLS with SVIDs
  • Certificate Rotation Analysis — Observe automatic SVID renewal
PathMethodsPurpose
/spiffe/.well-known/spiffe-bundleGETTrust bundle (JWKS format)
/spiffe/svid/x509GETX.509-SVID
/spiffe/svid/x509/chainGETX.509-SVID chain (PEM)
/spiffe/svid/jwtGETJWT-SVID
/spiffe/svid/infoGETSVID metadata
/spiffe/validate/jwtPOSTValidate JWT-SVID
/spiffe/validate/x509POSTValidate X.509-SVID
/spiffe/workloadGETWorkload info
/spiffe/trust-bundleGETTrust bundle info
/spiffe/demo/mtls/callPOSTmTLS demo call
/spiffe/demo/jwt-auth/callPOSTJWT auth demo call
/spiffe/demo/rotationGETCertificate rotation demo
/spiffe/statusGETService status

SPIFFE flows require the SPIFFE compose overlay:

Terminal window
docker compose -f docker-compose.yml -f docker-compose.spiffe.yml up -d

Without SPIRE infrastructure, SPIFFE endpoints return 503 Service Unavailable.

  • SPIFFE ID format: spiffe://{trust_domain}/{path}
  • X.509-SVID: certificate chain, SAN URI, expiry
  • JWT-SVID: sub (SPIFFE ID), aud, exp, signature
  • Trust bundle: JWKS keys match signing certificates
  • mTLS: both sides present valid SVIDs from the same trust domain
  • Rotation: new SVID issued before previous one expires