{
  "protocolVersion": "v1",
  "fixtureSet": "auth",
  "fixture": "certificate-profile",
  "description": "Frozen shape of the client certificate an online device presents and of the RFC 9440 header that conveys it.",
  "certificate": {
    "subject": {
      "rdnCount": 1,
      "commonName": "{clusterDeviceUid}",
      "forbiddenAttributes": ["O", "OU", "C", "ST", "L", "emailAddress"]
    },
    "subjectAlternativeName": {
      "entryCount": 1,
      "type": "uniformResourceIdentifier",
      "value": "urn:rustfs:connect:device:{clusterDeviceUid}",
      "forbiddenTypes": ["dNSName", "iPAddress", "rfc822Name", "directoryName"],
      "wildcardsAccepted": false
    },
    "clusterDeviceUid": {
      "source": "cluster_devices.uid",
      "format": "lowercase canonical UUIDv7",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    },
    "keyAlgorithm": "EC",
    "keyCurve": "P-256",
    "signatureAlgorithm": "ES256",
    "certificateSigningRequest": {
      "format": "PKCS#10",
      "signatureAlgorithm": "ES256",
      "proofOfPossession": "self-signed with the device private key"
    },
    "lifetimeSeconds": 86400,
    "maxRotationOverlapSeconds": 86400,
    "recommendedRotationLeadSeconds": 28800,
    "maxPresentableCredentialsPerDevice": 2,
    "serial": {
      "encoding": "lowercase-hex",
      "length": 32,
      "pattern": "^[0-9a-f]{32}$",
      "entropyBits": 128
    },
    "certificateFingerprint": {
      "algorithm": "SHA-256",
      "over": "DER certificate",
      "encoding": "lowercase-hex",
      "pattern": "^[0-9a-f]{64}$"
    },
    "publicKeyFingerprint": {
      "algorithm": "SHA-256",
      "over": "DER SubjectPublicKeyInfo",
      "encoding": "lowercase-hex",
      "pattern": "^[0-9a-f]{64}$"
    },
    "keyId": {
      "pattern": "^[a-z0-9][a-z0-9._-]{7,127}$"
    },
    "carriesOrganizationIdentifier": false,
    "carriesClusterIdentifier": false,
    "tenantBinding": {
      "source": "device_credentials matched by certificate serial and certificate fingerprint",
      "resolver": "ClusterDeviceIdentityPort::resolveOnlineCertificate"
    }
  },
  "header": {
    "name": "Client-Cert",
    "specification": "RFC 9440",
    "encoding": "sf-binary",
    "valueTemplate": ":{base64(DER certificate)}:",
    "example": ":MIIBkDCCATagAwIBAgIQZXhhbXBsZQ==:",
    "chainHeader": {
      "name": "Client-Cert-Chain",
      "accepted": false,
      "reason": "Chain validation belongs to the trusted ingress, which verifies against the Connect device CA before forwarding."
    },
    "setByTrustedIngressOnly": true,
    "inboundHeaderStripped": true,
    "appendAccepted": false,
    "acceptedOnSurfaces": ["/agent"],
    "ignoredOnSurfaces": ["/api"],
    "backendPubliclyReachable": false
  }
}
