Test Summary

Test Results

Expand All Collapse All
All times are UTC
2026-11-12 21:41:07 INFO
TEST-RUNNER
Test instance MfFquwceEhW8WEF created
baseUrl
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test
variant
{
  "credential_type": "custom",
  "credential_format": "iso_mdl",
  "request_method": "request_uri_signed",
  "vp_profile": "plain_vp",
  "client_id_prefix": "x509_san_dns",
  "response_mode": "direct_post"
}
alias
siros-wallet-vp-mdoc-test
description
OID4VP wallet conformance test for SIROS wallet (iso_mdl format)
planId
A0QXOW9FgqsUU
config
{
  "alias": "siros-wallet-vp-mdoc-test",
  "description": "OID4VP wallet conformance test for SIROS wallet (iso_mdl format)",
  "server": {
    "authorization_endpoint": "openid4vp://"
  },
  "client": {
    "client_id": "conformance.example.com",
    "jwks": {
      "keys": [
        {
          "kty": "EC",
          "crv": "P-256",
          "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
          "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
          "d": "Z8iB5ltQ0Yf8Wyyafbmypw49VKegZLn2BBjzFzhMHGU",
          "kid": "vp-verifier-key-1",
          "use": "sig",
          "alg": "ES256",
          "x5c": [
            "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
          ]
        }
      ]
    },
    "dcql": {
      "credentials": [
        {
          "id": "org_iso_18013_5_1_mDL",
          "format": "mso_mdoc",
          "meta": {
            "doctype_value": "org.iso.18013.5.1.mDL"
          },
          "claims": [
            {
              "path": [
                "org.iso.18013.5.1",
                "given_name"
              ]
            },
            {
              "path": [
                "org.iso.18013.5.1",
                "family_name"
              ]
            }
          ]
        }
      ]
    }
  }
}
baseMtlsUrl
https://localhost:8444/test-mtls/a/siros-wallet-vp-mdoc-test
testName
oid4vp-1final-wallet-happy-flow
2026-11-12 21:41:07
CreateDirectPostResponseUri
Created response URI
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
2026-11-12 21:41:07
SetClientIdToResponseUriHostnameIfUnset
client_id is already set, not setting it to our hostname
client_id
conformance.example.com
2026-11-12 21:41:07 SUCCESS
GetStaticServerConfiguration
Found a static server object
authorization_endpoint
openid4vp://
2026-11-12 21:41:07 SUCCESS
CheckAuthorizationEndpointIsValidUri
authorization_endpoint has a valid URI scheme
authorization_endpoint
openid4vp://
2026-11-12 21:41:07 SUCCESS
GetStaticClientConfiguration
Found a static client object
client_id
conformance.example.com
jwks
{
  "keys": [
    {
      "kty": "EC",
      "crv": "P-256",
      "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
      "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
      "d": "Z8iB5ltQ0Yf8Wyyafbmypw49VKegZLn2BBjzFzhMHGU",
      "kid": "vp-verifier-key-1",
      "use": "sig",
      "alg": "ES256",
      "x5c": [
        "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
      ]
    }
  ]
}
dcql
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
2026-11-12 21:41:07 SUCCESS
OID4VPSetClientIdToIncludeClientIdScheme
Set client id to include the client id scheme
new_client_id
x509_san_dns:conformance.example.com
2026-11-12 21:41:07 SUCCESS
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
2026-11-12 21:41:07 SUCCESS
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
client_jwks
{
  "keys": [
    {
      "kty": "EC",
      "crv": "P-256",
      "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
      "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
      "d": "Z8iB5ltQ0Yf8Wyyafbmypw49VKegZLn2BBjzFzhMHGU",
      "kid": "vp-verifier-key-1",
      "use": "sig",
      "alg": "ES256",
      "x5c": [
        "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
      ]
    }
  ]
}
client_public_jwks
{
  "keys": [
    {
      "kty": "EC",
      "use": "sig",
      "crv": "P-256",
      "kid": "vp-verifier-key-1",
      "x5c": [
        "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
      ],
      "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
      "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
      "alg": "ES256"
    }
  ]
}
2026-11-12 21:41:07 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2026-11-12 21:41:07 SUCCESS
CheckIfClientIdInX509CertSanDns
x509_san_dns client_id is present in the x5c certificate SAN in the client_jwks x5c parameter
san
[[2, conformance.example.com]]
client_jwks
{
  "keys": [
    {
      "kty": "EC",
      "crv": "P-256",
      "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
      "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
      "d": "Z8iB5ltQ0Yf8Wyyafbmypw49VKegZLn2BBjzFzhMHGU",
      "kid": "vp-verifier-key-1",
      "use": "sig",
      "alg": "ES256",
      "x5c": [
        "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
      ]
    }
  ]
}
cert
[
[
  Version: V3
  Subject: CN=conformance.example.com
  Signature Algorithm: SHA256withECDSA, OID = 1.2.840.10045.4.3.2

  Key:  Sun EC public key, 256 bits
  public x coord: 13108710287349260330328350076677132814851473605070147512119001812479683695533
  public y coord: 19216151783258683751959855919806513226213387050584598552418263195245676139439
  parameters: secp256r1 [NIST P-256,X9.62 prime256v1] (1.2.840.10045.3.1.7)
  Validity: [From: Fri May 15 07:53:45 UTC 2026,
               To: Sat May 15 07:53:45 UTC 2027]
  Issuer: CN=conformance.example.com
  SerialNumber: 7f:0e:22:9f:6c:5b:6d:a3:b8:05:15:73:08:c2:7d:8d:cc:7e:31:85

Certificate Extensions: 4
[1]: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 7F CC 0E E1 DF E8 A4 28   1A 1A DE 3C 8C 89 25 FB  .......(...<..%.
0010: B0 57 64 CB                                        .Wd.
]
]

[2]: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
  CA:true
  PathLen: no limit
]

[3]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: conformance.example.com
]

[4]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 7F CC 0E E1 DF E8 A4 28   1A 1A DE 3C 8C 89 25 FB  .......(...<..%.
0010: B0 57 64 CB                                        .Wd.
]
]

]
  Algorithm: [SHA256withECDSA]
  Signature:
0000: 30 46 02 21 00 B8 96 1C   70 89 0C B7 F8 63 ED CD  0F.!....p....c..
0010: D4 16 F4 89 43 4A B4 28   12 79 DC A2 6E 98 B0 A6  ....CJ.(.y..n...
0020: 77 8B 31 EE 22 02 21 00   A6 48 8C D6 16 4C 6D 31  w.1.".!..H...Lm1
0030: 22 91 6B 4B 80 D5 92 FA   35 AA 25 7D 90 D7 F5 42  ".kK....5.%....B
0040: FA 7C 4A D3 96 EA 91 2B                            ..J....+

]
client_id
conformance.example.com
dns_names_from_cert
[
  "conformance.example.com"
]
2026-11-12 21:41:07
RegisterRical
No RICAL configured, skipping RICAL-based verifier trust checks
2026-11-12 21:41:07 INFO
CallRicalEndpoint
Skipped evaluation due to missing required string: rical_url
expected
rical_url
2026-11-12 21:41:07 INFO
ParseRical
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07 INFO
DumpRicalCborDiagnostics
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07 INFO
ValidateRicalSignature
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07 INFO
ValidateRicalSignerCertificate
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07 INFO
ValidateRicalStructure
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07 INFO
ValidateConfiguredClientCertificatesAgainstRical
Skipped evaluation due to missing required object: rical
mapped
expected
rical
2026-11-12 21:41:07
RegisterCredentialTrustAnchor
No credential trust anchor configured, skipping registration
2026-11-12 21:41:07
RegisterStatusListTrustAnchor
No status list trust anchor configured, skipping registration
2026-11-12 21:41:07
RegisterVical
No VICAL configured, skipping VICAL-based mdoc issuer trust checks
2026-11-12 21:41:07 INFO
CallVicalEndpoint
Skipped evaluation due to missing required string: vical_url
expected
vical_url
2026-11-12 21:41:07 INFO
ParseVical
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:07 INFO
DumpVicalCborDiagnostics
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:07 INFO
ValidateVicalSignature
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:07 INFO
ValidateVicalSignerCertificateProfile
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:07 INFO
ValidateVicalStructure
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:07 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/callback
2026-11-12 21:41:07 SUCCESS
CheckDiscEndpointRequestUriParameterSupported
request_uri_parameter_supported has correct value
request_uri_parameter_supported
2026-11-12 21:41:07
CreateRandomRequestUriWithoutFragment
Created random URL for request_uri
request_uri
{
  "path": "requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu",
  "fullUrl": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu"
}
2026-11-12 21:41:07
oid4vp-1final-wallet-happy-flow
Setup Done
Make request to wallet
2026-11-12 21:41:07 SUCCESS
CreateEmptyAuthorizationEndpointRequest
Created empty authorization endpoint request
2026-11-12 21:41:07 SUCCESS
AddClientIdToAuthorizationEndpointRequest
Added client_id of 'x509_san_dns:conformance.example.com' to authorization endpoint request
client_id
x509_san_dns:conformance.example.com
2026-11-12 21:41:07
CreateRandomStateValue
Not adding state, it's optional
2026-11-12 21:41:07
AddStateToAuthorizationEndpointRequest
Not adding state, it's optional
2026-11-12 21:41:07 SUCCESS
AddResponseUriToAuthorizationEndpointRequest
Added response_uri parameter to request
client_id
x509_san_dns:conformance.example.com
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
2026-11-12 21:41:07 INFO
LoadBuiltInDcqlQuery
Skipped evaluation due to missing required string: dcql_builtin_resource
expected
dcql_builtin_resource
2026-11-12 21:41:07 SUCCESS
ExtractDCQLQueryFromClientConfiguration
Extracted dcql from client configuration
dcql
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
2026-11-12 21:41:07 SUCCESS
ValidateDCQLQuery
DCQL query input is valid
input
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
schema_link
/json-schemas/oid4vp/dcql_request.json
2026-11-12 21:41:07 SUCCESS
CheckDCQLQueryCredentialFormatMatchesTestConfiguration
DCQL query credential format matches test configuration
expected_format
mso_mdoc
credential_count
1
2026-11-12 21:41:07 SUCCESS
CheckForUnexpectedParametersInDcqlQuery
No unknown properties were found in the DCQL query
input
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
schema_link
/json-schemas/oid4vp/dcql_request.json
2026-11-12 21:41:07 SUCCESS
CheckForNonSelectivelyDisclosableClaimsInDcqlQuery
DCQL query does not request any SD-JWT VC claims that cannot be selectively disclosed
2026-11-12 21:41:07 SUCCESS
CheckForUnreferencedClaimsInDcqlQuery
The DCQL query does not contain claims entries unreferenced by claim_sets
2026-11-12 21:41:07 SUCCESS
AddDcqlToAuthorizationEndpointRequest
Added dcql_query parameter to request
client_id
x509_san_dns:conformance.example.com
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
dcql_query
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
2026-11-12 21:41:07 INFO
ExtractVerifierInfoFromClientConfiguration
Skipped evaluation due to missing required element: client verifier_info
path
verifier_info
mapped
object
client
2026-11-12 21:41:07 INFO
ValidateVerifierInfo
Skipped evaluation due to missing required element: client verifier_info
path
verifier_info
mapped
object
client
2026-11-12 21:41:07 INFO
CheckForUnexpectedParametersInVerifierInfo
Skipped evaluation due to missing required element: client verifier_info
path
verifier_info
mapped
object
client
2026-11-12 21:41:07 INFO
AddVerifierInfoToAuthorizationEndpointRequest
Skipped evaluation due to missing required element: client verifier_info
path
verifier_info
mapped
object
client
2026-11-12 21:41:07
CreateRandomNonceValue
Created nonce value
requested_nonce_length
26
nonce
dckvygTiZ93qiRBCwdOhpp-._~
2026-11-12 21:41:07 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
x509_san_dns:conformance.example.com
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
dcql_query
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
nonce
dckvygTiZ93qiRBCwdOhpp-._~
2026-11-12 21:41:07
AddVP1FinalIsoMdocClientMetadataToAuthorizationRequest
Added client_metadata to authorization endpoint request
client_metadata
{
  "vp_formats_supported": {
    "mso_mdoc": {
      "issuerauth_alg_values": [
        -7
      ]
    }
  }
}
2026-11-12 21:41:07 SUCCESS
SetAuthorizationEndpointRequestResponseTypeToVpToken
Added response_type parameter to request
client_id
x509_san_dns:conformance.example.com
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
dcql_query
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
nonce
dckvygTiZ93qiRBCwdOhpp-._~
client_metadata
{
  "vp_formats_supported": {
    "mso_mdoc": {
      "issuerauth_alg_values": [
        -7
      ]
    }
  }
}
response_type
vp_token
2026-11-12 21:41:07
SetAuthorizationEndpointRequestResponseMode
Added response_mode parameter to request
client_id
x509_san_dns:conformance.example.com
response_uri
https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri
dcql_query
{
  "credentials": [
    {
      "id": "org_iso_18013_5_1_mDL",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "org.iso.18013.5.1.mDL"
      },
      "claims": [
        {
          "path": [
            "org.iso.18013.5.1",
            "given_name"
          ]
        },
        {
          "path": [
            "org.iso.18013.5.1",
            "family_name"
          ]
        }
      ]
    }
  ]
}
nonce
dckvygTiZ93qiRBCwdOhpp-._~
client_metadata
{
  "vp_formats_supported": {
    "mso_mdoc": {
      "issuerauth_alg_values": [
        -7
      ]
    }
  }
}
response_type
vp_token
response_mode
direct_post
2026-11-12 21:41:07 SUCCESS
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
request_object_claims
{
  "client_id": "x509_san_dns:conformance.example.com",
  "response_uri": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri",
  "dcql_query": {
    "credentials": [
      {
        "id": "org_iso_18013_5_1_mDL",
        "format": "mso_mdoc",
        "meta": {
          "doctype_value": "org.iso.18013.5.1.mDL"
        },
        "claims": [
          {
            "path": [
              "org.iso.18013.5.1",
              "given_name"
            ]
          },
          {
            "path": [
              "org.iso.18013.5.1",
              "family_name"
            ]
          }
        ]
      }
    ]
  },
  "nonce": "dckvygTiZ93qiRBCwdOhpp-._~",
  "client_metadata": {
    "vp_formats_supported": {
      "mso_mdoc": {
        "issuerauth_alg_values": [
          -7
        ]
      }
    }
  },
  "response_type": "vp_token",
  "response_mode": "direct_post"
}
2026-11-12 21:41:07
AddSelfIssuedMeV2AudToRequestObject
Added SIOPv2 aud to request object claims
aud
https://self-issued.me/v2
2026-11-12 21:41:07 SUCCESS
BuildRequestObjectByReferenceRedirectToAuthorizationEndpointWithoutDuplicates
Sending to authorization endpoint
redirect_to_authorization_endpoint
openid4vp://?client_id=x509_san_dns:conformance.example.com&request_uri=https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu
2026-11-12 21:41:07 REDIRECT
oid4vp-1final-wallet-happy-flow
Redirecting to authorization endpoint
method
GET
redirect_to
openid4vp://?client_id=x509_san_dns:conformance.example.com&request_uri=https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu
2026-11-12 21:41:07
oid4vp-1final-wallet-happy-flow
The wallet should be opened via the QR code / proceed with test button, and should then fetch the request_uri
2026-11-12 21:41:09 INCOMING
oid4vp-1final-wallet-happy-flow
Incoming HTTP request to /test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu
incoming_headers
{
  "host": "localhost.emobix.co.uk",
  "x-forwarded-uri": "/test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu",
  "forwarded": "by\u003d172.18.0.8;for\u003d172.18.0.1;host\u003dlocalhost.emobix.co.uk;proto\u003dhttps",
  "connection": "close",
  "sec-ch-ua-platform": "\"Windows\"",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
  "accept": "application/oauth-authz-req+jwt, application/json",
  "sec-ch-ua": "\"Not-A.Brand\";v\u003d\"99\", \"Google Chrome\";v\u003d\"157\", \"Chromium\";v\u003d\"157\"",
  "accept-language": "en-US",
  "sec-ch-ua-mobile": "?0",
  "sec-fetch-site": "cross-site",
  "sec-fetch-mode": "cors",
  "sec-fetch-dest": "empty",
  "referer": "http://localhost:3010/",
  "accept-encoding": "gzip, deflate, br, zstd"
}
incoming_path
/test/a/siros-wallet-vp-mdoc-test/requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu
incoming_body_form_params
incoming_method
GET
incoming_tls_version
TLSv1.3
incoming_tls_cert
incoming_query_string_params
{}
incoming_body
incoming_tls_chain
[
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL"
]
incoming_body_json_parse_error
incoming_tls_cipher
TLS_AES_256_GCM_SHA384
incoming_body_json
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls12WithSecureCipherOrTls13
Found TLS 1.3 connection
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls13
TLS 1.3 in use
2026-11-12 21:41:09 SUCCESS
EnsureIncomingRequestMethodIsGet
Client correctly used http GET method
2026-11-12 21:41:09 SUCCESS
SignRequestObjectIncludeX5cHeader
Signed the request object
claims
{
  "response_uri": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri",
  "aud": "https://self-issued.me/v2",
  "response_type": "vp_token",
  "dcql_query": {
    "credentials": [
      {
        "id": "org_iso_18013_5_1_mDL",
        "format": "mso_mdoc",
        "meta": {
          "doctype_value": "org.iso.18013.5.1.mDL"
        },
        "claims": [
          {
            "path": [
              "org.iso.18013.5.1",
              "given_name"
            ]
          },
          {
            "path": [
              "org.iso.18013.5.1",
              "family_name"
            ]
          }
        ]
      }
    ]
  },
  "nonce": "dckvygTiZ93qiRBCwdOhpp-._~",
  "client_id": "x509_san_dns:conformance.example.com",
  "client_metadata": {
    "vp_formats_supported": {
      "mso_mdoc": {
        "issuerauth_alg_values": [
          -7
        ]
      }
    }
  },
  "response_mode": "direct_post"
}
header
{
  "x5c": [
    "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
  ],
  "kid": "vp-verifier-key-1",
  "typ": "oauth-authz-req+jwt",
  "alg": "ES256"
}
request_object
eyJ4NWMiOlsiTUlJQnZqQ0NBV09nQXdJQkFnSVVmdzRpbjJ4YmJhTzRCUlZ6Q01KOWpjeCtNWVV3Q2dZSUtvWkl6ajBFQXdJd0lqRWdNQjRHQTFVRUF3d1hZMjl1Wm05eWJXRnVZMlV1WlhoaGJYQnNaUzVqYjIwd0hoY05Nall3TlRFMU1EYzFNelExV2hjTk1qY3dOVEUxTURjMU16UTFXakFpTVNBd0hnWURWUVFEREJkamIyNW1iM0p0WVc1alpTNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQno3UkdCQkVEUm5EaGhyVUY1NXZGVzI2OGxtRGhlM1paa3luQThDTVpPdEtudjAyOTY4WFNpRW1OU29HUGFIWDNMWGwrYm9RenRzSzBEQjQ2VmhFNitqZHpCMU1CMEdBMVVkRGdRV0JCUi96QTdoMytpa0tCb2EzanlNaVNYN3NGZGt5ekFmQmdOVkhTTUVHREFXZ0JSL3pBN2gzK2lrS0JvYTNqeU1pU1g3c0Zka3l6QVBCZ05WSFJNQkFmOEVCVEFEQVFIL01DSUdBMVVkRVFRYk1CbUNGMk52Ym1admNtMWhibU5sTG1WNFlXMXdiR1V1WTI5dE1Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQ0lRQzRsaHh3aVF5MytHUHR6ZFFXOUlsRFNyUW9Fbm5jb202WXNLWjNpekh1SWdJaEFLWklqTllXVEcweElwRnJTNERWa3ZvMXFpVjlrTmYxUXZwOFN0T1c2cEVyIl0sImtpZCI6InZwLXZlcmlmaWVyLWtleS0xIiwidHlwIjoib2F1dGgtYXV0aHotcmVxK2p3dCIsImFsZyI6IkVTMjU2In0.eyJyZXNwb25zZV91cmkiOiJodHRwczovL2xvY2FsaG9zdC5lbW9iaXguY28udWs6ODQ0My90ZXN0L2Evc2lyb3Mtd2FsbGV0LXZwLW1kb2MtdGVzdC9yZXNwb25zZXVyaSIsImF1ZCI6Imh0dHBzOi8vc2VsZi1pc3N1ZWQubWUvdjIiLCJyZXNwb25zZV90eXBlIjoidnBfdG9rZW4iLCJkY3FsX3F1ZXJ5Ijp7ImNyZWRlbnRpYWxzIjpbeyJpZCI6Im9yZ19pc29fMTgwMTNfNV8xX21ETCIsImZvcm1hdCI6Im1zb19tZG9jIiwibWV0YSI6eyJkb2N0eXBlX3ZhbHVlIjoib3JnLmlzby4xODAxMy41LjEubURMIn0sImNsYWltcyI6W3sicGF0aCI6WyJvcmcuaXNvLjE4MDEzLjUuMSIsImdpdmVuX25hbWUiXX0seyJwYXRoIjpbIm9yZy5pc28uMTgwMTMuNS4xIiwiZmFtaWx5X25hbWUiXX1dfV19LCJub25jZSI6ImRja3Z5Z1RpWjkzcWlSQkN3ZE9ocHAtLl9-IiwiY2xpZW50X2lkIjoieDUwOV9zYW5fZG5zOmNvbmZvcm1hbmNlLmV4YW1wbGUuY29tIiwiY2xpZW50X21ldGFkYXRhIjp7InZwX2Zvcm1hdHNfc3VwcG9ydGVkIjp7Im1zb19tZG9jIjp7Imlzc3VlcmF1dGhfYWxnX3ZhbHVlcyI6Wy03XX19fSwicmVzcG9uc2VfbW9kZSI6ImRpcmVjdF9wb3N0In0.pFVFijAifLxqEfUs_RKiMz4xocPHwAoJg-HmqZT6DXAfS7hQgxBC84TfPptzZsXDSU75trU8Qk5PocM_jRydqA
key
{
  "kty": "EC",
  "d": "Z8iB5ltQ0Yf8Wyyafbmypw49VKegZLn2BBjzFzhMHGU",
  "use": "sig",
  "crv": "P-256",
  "kid": "vp-verifier-key-1",
  "x5c": [
    "MIIBvjCCAWOgAwIBAgIUfw4in2xbbaO4BRVzCMJ9jcx+MYUwCgYIKoZIzj0EAwIwIjEgMB4GA1UEAwwXY29uZm9ybWFuY2UuZXhhbXBsZS5jb20wHhcNMjYwNTE1MDc1MzQ1WhcNMjcwNTE1MDc1MzQ1WjAiMSAwHgYDVQQDDBdjb25mb3JtYW5jZS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBz7RGBBEDRnDhhrUF55vFW268lmDhe3ZZkynA8CMZOtKnv02968XSiEmNSoGPaHX3LXl+boQztsK0DB46VhE6+jdzB1MB0GA1UdDgQWBBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAfBgNVHSMEGDAWgBR/zA7h3+ikKBoa3jyMiSX7sFdkyzAPBgNVHRMBAf8EBTADAQH/MCIGA1UdEQQbMBmCF2NvbmZvcm1hbmNlLmV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0kAMEYCIQC4lhxwiQy3+GPtzdQW9IlDSrQoEnncom6YsKZ3izHuIgIhAKZIjNYWTG0xIpFrS4DVkvo1qiV9kNf1Qvp8StOW6pEr"
  ],
  "x": "HPtEYEEQNGcOGGtQXnm8VbbryWYOF7dlmTKcDwIxk60",
  "y": "Knv02968XSiEmNSoGPaHX3LXl-boQztsK0DB46VhE68",
  "alg": "ES256"
}
2026-11-12 21:41:09
oid4vp-1final-wallet-happy-flow
Wallet has retrieved request_uri - waiting for it to call the response_uri
2026-11-12 21:41:09
oid4vp-1final-wallet-happy-flow
Returned request object to wallet - waiting for it to call the response_uri
2026-11-12 21:41:09 OUTGOING
oid4vp-1final-wallet-happy-flow
Response to HTTP request to test instance MfFquwceEhW8WEF
outgoing_status_code
200
outgoing_body
eyJ4NWMiOlsiTUlJQnZqQ0NBV09nQXdJQkFnSVVmdzRpbjJ4YmJhTzRCUlZ6Q01KOWpjeCtNWVV3Q2dZSUtvWkl6ajBFQXdJd0lqRWdNQjRHQTFVRUF3d1hZMjl1Wm05eWJXRnVZMlV1WlhoaGJYQnNaUzVqYjIwd0hoY05Nall3TlRFMU1EYzFNelExV2hjTk1qY3dOVEUxTURjMU16UTFXakFpTVNBd0hnWURWUVFEREJkamIyNW1iM0p0WVc1alpTNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQno3UkdCQkVEUm5EaGhyVUY1NXZGVzI2OGxtRGhlM1paa3luQThDTVpPdEtudjAyOTY4WFNpRW1OU29HUGFIWDNMWGwrYm9RenRzSzBEQjQ2VmhFNitqZHpCMU1CMEdBMVVkRGdRV0JCUi96QTdoMytpa0tCb2EzanlNaVNYN3NGZGt5ekFmQmdOVkhTTUVHREFXZ0JSL3pBN2gzK2lrS0JvYTNqeU1pU1g3c0Zka3l6QVBCZ05WSFJNQkFmOEVCVEFEQVFIL01DSUdBMVVkRVFRYk1CbUNGMk52Ym1admNtMWhibU5sTG1WNFlXMXdiR1V1WTI5dE1Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQ0lRQzRsaHh3aVF5MytHUHR6ZFFXOUlsRFNyUW9Fbm5jb202WXNLWjNpekh1SWdJaEFLWklqTllXVEcweElwRnJTNERWa3ZvMXFpVjlrTmYxUXZwOFN0T1c2cEVyIl0sImtpZCI6InZwLXZlcmlmaWVyLWtleS0xIiwidHlwIjoib2F1dGgtYXV0aHotcmVxK2p3dCIsImFsZyI6IkVTMjU2In0.eyJyZXNwb25zZV91cmkiOiJodHRwczovL2xvY2FsaG9zdC5lbW9iaXguY28udWs6ODQ0My90ZXN0L2Evc2lyb3Mtd2FsbGV0LXZwLW1kb2MtdGVzdC9yZXNwb25zZXVyaSIsImF1ZCI6Imh0dHBzOi8vc2VsZi1pc3N1ZWQubWUvdjIiLCJyZXNwb25zZV90eXBlIjoidnBfdG9rZW4iLCJkY3FsX3F1ZXJ5Ijp7ImNyZWRlbnRpYWxzIjpbeyJpZCI6Im9yZ19pc29fMTgwMTNfNV8xX21ETCIsImZvcm1hdCI6Im1zb19tZG9jIiwibWV0YSI6eyJkb2N0eXBlX3ZhbHVlIjoib3JnLmlzby4xODAxMy41LjEubURMIn0sImNsYWltcyI6W3sicGF0aCI6WyJvcmcuaXNvLjE4MDEzLjUuMSIsImdpdmVuX25hbWUiXX0seyJwYXRoIjpbIm9yZy5pc28uMTgwMTMuNS4xIiwiZmFtaWx5X25hbWUiXX1dfV19LCJub25jZSI6ImRja3Z5Z1RpWjkzcWlSQkN3ZE9ocHAtLl9-IiwiY2xpZW50X2lkIjoieDUwOV9zYW5fZG5zOmNvbmZvcm1hbmNlLmV4YW1wbGUuY29tIiwiY2xpZW50X21ldGFkYXRhIjp7InZwX2Zvcm1hdHNfc3VwcG9ydGVkIjp7Im1zb19tZG9jIjp7Imlzc3VlcmF1dGhfYWxnX3ZhbHVlcyI6Wy03XX19fSwicmVzcG9uc2VfbW9kZSI6ImRpcmVjdF9wb3N0In0.pFVFijAifLxqEfUs_RKiMz4xocPHwAoJg-HmqZT6DXAfS7hQgxBC84TfPptzZsXDSU75trU8Qk5PocM_jRydqA
outgoing_headers
{
  "headers": {
    "Content-Type": [
      "application/oauth-authz-req+jwt"
    ]
  }
}
outgoing_path
requesturi/zRu08frVEBauHnj7Deq0koX0HAeS1k3Kzhl0tMtLsDK0NctfjLQWgfrooccE1PVu
2026-11-12 21:41:09 INCOMING
oid4vp-1final-wallet-happy-flow
Incoming HTTP request to /test/a/siros-wallet-vp-mdoc-test/responseuri
incoming_headers
{
  "host": "localhost.emobix.co.uk",
  "x-forwarded-uri": "/test/a/siros-wallet-vp-mdoc-test/responseuri",
  "forwarded": "by\u003d172.18.0.8;for\u003d172.18.0.1;host\u003dlocalhost.emobix.co.uk;proto\u003dhttps",
  "connection": "close",
  "content-length": "2228",
  "sec-ch-ua-platform": "\"Windows\"",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
  "sec-ch-ua": "\"Not-A.Brand\";v\u003d\"99\", \"Google Chrome\";v\u003d\"157\", \"Chromium\";v\u003d\"157\"",
  "content-type": "application/x-www-form-urlencoded",
  "sec-ch-ua-mobile": "?0",
  "accept-language": "en-US",
  "accept": "*/*",
  "sec-fetch-site": "cross-site",
  "sec-fetch-mode": "cors",
  "sec-fetch-dest": "empty",
  "referer": "http://localhost:3010/",
  "accept-encoding": "gzip, deflate, br, zstd"
}
incoming_path
/test/a/siros-wallet-vp-mdoc-test/responseuri
incoming_body_form_params
{
  "vp_token": "{\"org_iso_18013_5_1_mDL\":[\"o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU\"]}"
}
incoming_method
POST
incoming_tls_version
TLSv1.3
incoming_tls_cert
incoming_query_string_params
{}
incoming_body
vp_token=%7B%22org_iso_18013_5_1_mDL%22%3A%5B%22o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU%22%5D%7D
incoming_tls_chain
[
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL"
]
incoming_body_json_parse_error
incoming_tls_cipher
TLS_AES_256_GCM_SHA384
incoming_body_json
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls12WithSecureCipherOrTls13
Found TLS 1.3 connection
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls13
TLS 1.3 in use
Direct post endpoint
2026-11-12 21:41:09 SUCCESS
EnsureIncomingRequestMethodIsPost
Client correctly used http POST method
2026-11-12 21:41:09 SUCCESS
EnsureIncomingRequestContentTypeIsFormUrlEncoded
Incoming content-type header has the expected value
content_type
application/x-www-form-urlencoded
expected
application/x-www-form-urlencoded
2026-11-12 21:41:09 SUCCESS
EnsureIncomingUrlQueryIsEmpty
URL query from server was correctly empty, no query parameters detected
2026-11-12 21:41:09 SUCCESS
ExtractAuthorizationEndpointResponseFromFormBody
Extracted the authorization response
vp_token
{"org_iso_18013_5_1_mDL":["o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU"]}
2026-11-12 21:41:09 SUCCESS
ExtractAuthorizationEndpointResponse
Extracted authorization response
vp_token
{
  "org_iso_18013_5_1_mDL": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU"
  ]
}
2026-11-12 21:41:09 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2026-11-12 21:41:09 SUCCESS
ExtractVP1FinalVpTokenDCQL
vp_token parsed
credentialId
org_iso_18013_5_1_mDL
credential
o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU
2026-11-12 21:41:09 SUCCESS
ValidateVpTokenCredentialIdMatchesDcqlQuery
VP token credential_id matches a credential entry in the DCQL query
credential_id
org_iso_18013_5_1_mDL
2026-11-12 21:41:09 SUCCESS
ValidateVpTokenPresentationCountMatchesDcqlQuery
Each vp_token entry contains a number of Presentations consistent with the Credential Query's 'multiple' setting
vp_token
{
  "org_iso_18013_5_1_mDL": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU"
  ]
}
2026-11-12 21:41:09 SUCCESS
CheckNoPresentationSubmissionParameter
presentation_submission parameter is not present, as expected.
2026-11-12 21:41:09 SUCCESS
CheckForUnexpectedParametersInVpAuthorizationResponse
authorization response includes only expected parameters
vp_token
{
  "org_iso_18013_5_1_mDL": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbGRldmljZVNpZ25lZKJqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASag9lhA53yPRgjrkR30Z4Ch5C6gl2nWGdSXOWkVO5IBUWDOlX0sKbr_01VlQDnAhrI9ydsyzdTByzHBGnbtv4y0ARvooGpuYW1lU3BhY2Vz2BhBoGxpc3N1ZXJTaWduZWSiamlzc3VlckF1dGiEQ6EBJqEYIYFZAuQwggLgMIIChaADAgECAhQc_DVQMLOFxWDCOMTzdBbibUPy_TAKBggqhkjOPQQDAjCBhDELMAkGA1UEBhMCU0UxDTALBgNVBAgMBFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxsZXQgVGVzdDERMA8GA1UECwwIVGVzdCBQS0kxITAfBgNVBAMMGE1pbmkgV2FsbGV0IFRlc3QgUm9vdCBDQTAeFw0yNjExMDUxMTQ3MzFaFw0yNzExMDUxMTQ3MzFaMIGFMQswCQYDVQQGEwJTRTENMAsGA1UECAwEVGVzdDEVMBMGA1UEBwwMTWluaSBUZXN0aW5nMRkwFwYDVQQKDBBNaW5pIFdhbGxldCBUZXN0MRswGQYDVQQLDBJDcmVkZW50aWFsIFNpZ25pbmcxGDAWBgNVBAMMD21pbmktcGlkLWlzc3VlcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEPw6gxtT7PkpLoso34URCj5BV4q9QQyLK17fZkyySo7Oa7kzHxR3bwlWZISu1PfbwtZ1sFgNihAZun5B-77pv-jgdEwgc4wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vbWluaS13YWxsZXQvbWluaS10ZXN0LmNybDAnBgNVHRIEIDAehhxodHRwOi8vaWFwLm1pbmktd2FsbGV0LnRlc3QvMB0GA1UdDgQWBBRWIJ9kktgOuj_vmezvJLpcmYxnijAfBgNVHSMEGDAWgBQomu2VPm-kZw_L2OI2Ck0TRoIUCTAKBggqhkjOPQQDAgNJADBGAiEAjYPRwgMYFeKEaEgsiyX-5U-TGbr0uOZdGQ7gy4SHQwcCIQCD1CjHBRbO4aZUUsQu9Xr9KolwNkfkz98i8kL_DAkw1lkBf9gYWQF6pmdkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGd2ZXJzaW9uYzEuMGx2YWxpZGl0eUluZm-jZnNpZ25lZMB0MjAyNi0xMS0xMlQyMTo0MTowOFppdmFsaWRGcm9twHQyMDI2LTExLTEyVDIxOjQxOjA4Wmp2YWxpZFVudGlswHQyMDI3LTA1LTExVDIxOjQxOjA4Wmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xogBYIOou95qx-SAxbsE967RYlosm7nLGxg73mWUJ5AsoXM7lAVggOAGVAIWb1ltID6aGnzYUmW2wGtQQz5ZZDmGI4f6DvXxtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCChh9gMbdA_JZBCWrbHlFbPinYPu8pZhH38t9qTHcBj0CJYIICbJnyLs0Qq_eL0RzCCITgMESCNdBWbMaAyy-Ih6u9Wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2WEDfVwYoTes_vdZMdndwlyzqvuhy54hJWGteWy9jTqTJpz25Rz6N388ppKY5mH-R6I_npaIIMde3G53FcqVbrZCTam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xgtgYWFSkZnJhbmRvbVAAdOhc0ES4LKAUiPxw5FjMaGRpZ2VzdElEAGxlbGVtZW50VmFsdWVlU21pdGhxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWXYGFhTpGZyYW5kb21QdOhc0ES4LKAUiPxw5FjMQGhkaWdlc3RJRAFsZWxlbWVudFZhbHVlZUFsaWNlcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWU"
  ]
}
2026-11-12 21:41:09 SUCCESS
CheckStateInAuthorizationResponse
No state in response to check
2026-11-12 21:41:09 SUCCESS
ValidateCredentialIsUnpaddedBase64Url
credential contains only characters permitted in unpadded base64url
2026-11-12 21:41:09
CreateVP1FinalWalletIsoMdocRedirectSessionTranscript
Created OpenID4VPHandover
handover_info_hash_b64
jmbl/sIAmmOu16VwnLTjH8jJzK7F66gbO4QVDd/e2KQ=
cbor_diagnostic
["x509_san_dns:conformance.example.com", "dckvygTiZ93qiRBCwdOhpp-._~", null, "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri"]
handover_info_b64
hHgkeDUwOV9zYW5fZG5zOmNvbmZvcm1hbmNlLmV4YW1wbGUuY29teBpkY2t2eWdUaVo5M3FpUkJDd2RPaHBwLS5ffvZ4UGh0dHBzOi8vbG9jYWxob3N0LmVtb2JpeC5jby51azo4NDQzL3Rlc3QvYS9zaXJvcy13YWxsZXQtdnAtbWRvYy10ZXN0L3Jlc3BvbnNldXJp
2026-11-12 21:41:09
CreateVP1FinalWalletIsoMdocRedirectSessionTranscript
Created session transcript
calculation_detail
client_id (utf8 bytes): 783530395f73616e5f646e733a636f6e666f726d616e63652e6578616d706c652e636f6d
nonce (utf8 bytes): 64636b76796754695a3933716952424377644f6870702d2e5f7e
response_uri (utf8 bytes): 68747470733a2f2f6c6f63616c686f73742e656d6f6269782e636f2e756b3a383434332f746573742f612f7369726f732d77616c6c65742d76702d6d646f632d746573742f726573706f6e7365757269
response encryption JWK (public part): <none - the handover uses null in place of the thumbprint>
jwkThumbprint = RFC 7638 SHA-256 thumbprint of that JWK: null
OpenID4VPHandoverInfo = CBOR([client_id (tstr), nonce (tstr), jwkThumbprint (bstr, or null), response_uri (tstr)]): 847824783530395f73616e5f646e733a636f6e666f726d616e63652e6578616d706c652e636f6d781a64636b76796754695a3933716952424377644f6870702d2e5f7ef6785068747470733a2f2f6c6f63616c686f73742e656d6f6269782e636f2e756b3a383434332f746573742f612f7369726f732d77616c6c65742d76702d6d646f632d746573742f726573706f6e7365757269
handoverInfoHash = SHA-256(OpenID4VPHandoverInfo): 8e66e5fec2009a63aed7a5709cb4e31fc8c9ccaec5eba81b3b84150ddfded8a4
OpenID4VPHandover = CBOR(["OpenID4VPHandover" (tstr), handoverInfoHash (bstr)]): 82714f70656e494434565048616e646f76657258208e66e5fec2009a63aed7a5709cb4e31fc8c9ccaec5eba81b3b84150ddfded8a4
SessionTranscript = CBOR([null, null, OpenID4VPHandover]): 83f6f682714f70656e494434565048616e646f76657258208e66e5fec2009a63aed7a5709cb4e31fc8c9ccaec5eba81b3b84150ddfded8a4
session_transcript_b64
g/b2gnFPcGVuSUQ0VlBIYW5kb3Zlclggjmbl/sIAmmOu16VwnLTjH8jJzK7F66gbO4QVDd/e2KQ=
cbor_diagnostic
[
  null,
  null,
  ["OpenID4VPHandover", h'8e66e5fec2009a63aed7a5709cb4e31fc8c9ccaec5eba81b3b84150ddfded8a4']
]
session_transcript_input
{
  "response_uri": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/responseuri",
  "nonce": "dckvygTiZ93qiRBCwdOhpp-._~",
  "client_id": "x509_san_dns:conformance.example.com",
  "jwkThumbprint_b64": "\u003cnull\u003e"
}
2026-11-12 21:41:09 SUCCESS
ParseCredentialAsMdoc
Parsed mdoc & validated issuer-signed and device-signed data
cbor_diagnostic
{
  "status": 0,
  "version": "1.0",
  "documents": [
    {
      "docType": "org.iso.18013.5.1.mDL",
      "deviceSigned": {
        "deviceAuth": {
          "deviceSignature": [
            h'a10126',
            {},
            null,
            h'e77c8f4608eb911df46780a1e42ea09769d619d4973969153b92015160ce957d2c29baffd355654039c086b23dc9db32cdd4c1cb31c11a76edbf8cb4011be8a0'
          ]
        },
        "nameSpaces": 24(<< {} >>)
      },
      "issuerSigned": {
        "issuerAuth": [
          h'a10126',
          {
            33: [h'308202e030820285a00302010202141cfc355030b385c560c238c4f37416e26d43f2fd300a06082a8648ce3d040302308184310b3009060355040613025345310d300b06035504080c04546573743115301306035504070c0c4d696e692054657374696e6731193017060355040a0c104d696e692057616c6c657420546573743111300f060355040b0c085465737420504b493121301f06035504030c184d696e692057616c6c6574205465737420526f6f74204341301e170d3236313130353131343733315a170d3237313130353131343733315a308185310b3009060355040613025345310d300b06035504080c04546573743115301306035504070c0c4d696e692054657374696e6731193017060355040a0c104d696e692057616c6c65742054657374311b3019060355040b0c1243726564656e7469616c205369676e696e673118301606035504030c0f6d696e692d7069642d6973737565723059301306072a8648ce3d020106082a8648ce3d0301070342000443f0ea0c6d4fb3e4a4ba2ca37e144428f9055e2af504322cad7b7d9932c92a3b39aee4cc7c51ddbc25599212bb53df6f0b59d6c16036284066e9f907eefba6ffa381d13081ce30090603551d1304023000300e0603551d0f0101ff04040302078030150603551d250101ff040b3009060728818c5d05010230310603551d1f042a30283026a024a0228620687474703a2f2f6d696e692d77616c6c65742f6d696e692d746573742e63726c30270603551d120420301e861c687474703a2f2f6961702e6d696e692d77616c6c65742e746573742f301d0603551d0e0416041456209f6492d80eba3fef99ecef24ba5c998c678a301f0603551d23041830168014289aed953e6fa4670fcbd8e2360a4d1346821409300a06082a8648ce3d04030203490030460221008d83d1c2031815e28468482c8b25fee54f9319baf4b8e65d190ee0cb8487430702210083d428c70516cee1a65452c42ef57afd2a89703647e4cfdf22f242ff0c0930d6']
          },
          h'd81859017aa667646f6354797065756f72672e69736f2e31383031332e352e312e6d444c6776657273696f6e63312e306c76616c6964697479496e666fa3667369676e6564c074323032362d31312d31325432313a34313a30385a6976616c696446726f6dc074323032362d31312d31325432313a34313a30385a6a76616c6964556e74696cc074323032372d30352d31315432313a34313a30385a6c76616c756544696765737473a1716f72672e69736f2e31383031332e352e31a2005820ea2ef79ab1f920316ec13debb458968b26ee72c6c60ef7996509e40b285ccee501582038019500859bd65b480fa6869f3614996db01ad410cf96590e6188e1fe83bd7c6d6465766963654b6579496e666fa1696465766963654b6579a401022001215820a187d80c6dd03f2590425ab6c79456cf8a760fbbca59847dfcb7da931dc063d0225820809b267c8bb3442afde2f447308221380c11208d74159b31a032cbe221eaef566f646967657374416c676f726974686d675348412d323536',
          h'df5706284deb3fbdd64c767770972ceabee872e78849586b5e5b2f634ea4c9a73db9473e8ddfcf29a4a639987f91e88fe7a5a20831d7b71b9dc572a55bad9093'
        ],
        "nameSpaces": {
          "org.iso.18013.5.1": [
            24(<< {
              "random": h'0074e85cd044b82ca01488fc70e458cc',
              "digestID": 0,
              "elementValue": "Smith",
              "elementIdentifier": "family_name"
            } >>),
            24(<< {
              "random": h'74e85cd044b82ca01488fc70e458cc40',
              "digestID": 1,
              "elementValue": "Alice",
              "elementIdentifier": "given_name"
            } >>)
          ]
        }
      }
    }
  ]
}
docType
org.iso.18013.5.1.mDL
device_signed_elements
{}
mso_cbor_diagnostic
24(<< {
  "docType": "org.iso.18013.5.1.mDL",
  "version": "1.0",
  "validityInfo": {
    "signed": 0("2026-11-12T21:41:08Z"),
    "validFrom": 0("2026-11-12T21:41:08Z"),
    "validUntil": 0("2027-05-11T21:41:08Z")
  },
  "valueDigests": {
    "org.iso.18013.5.1": {
      0: h'ea2ef79ab1f920316ec13debb458968b26ee72c6c60ef7996509e40b285ccee5',
      1: h'38019500859bd65b480fa6869f3614996db01ad410cf96590e6188e1fe83bd7c'
    }
  },
  "deviceKeyInfo": {
    "deviceKey": {
      1: 2,
      -1: 1,
      -2: h'a187d80c6dd03f2590425ab6c79456cf8a760fbbca59847dfcb7da931dc063d0',
      -3: h'809b267c8bb3442afde2f447308221380c11208d74159b31a032cbe221eaef56'
    }
  },
  "digestAlgorithm": "SHA-256"
} >>)
disclosed_elements
{
  "org.iso.18013.5.1": [
    "family_name",
    "given_name"
  ]
}
2026-11-12 21:41:09 SUCCESS
ValidateMdocDsCertificateKeyUsage
Document signer certificate has digitalSignature-only keyUsage and is not a CA certificate
subject
CN=mini-pid-issuer,OU=Credential Signing,O=Mini Wallet Test,L=Mini Testing,ST=Test,C=SE
2026-11-12 21:41:09 SUCCESS
ValidateMdocDsCertificateProfile
Document signer certificate complies with the checks of the ISO 18013-5 document signer certificate profile that could be made; the issuing IACA certificate could not be located, so the issuer binding checks (issuer name, authority key identifier and stateOrProvinceName) were not made
issuing_certificate_pem
the issuing IACA certificate is not in the x5chain and could not be located, so the issuer binding checks were skipped
ds_certificate_decoded
subject: CN=mini-pid-issuer,OU=Credential Signing,O=Mini Wallet Test,L=Mini Testing,ST=Test,C=SE
issuer: CN=Mini Wallet Test Root CA,OU=Test PKI,O=Mini Wallet Test,L=Mini Testing,ST=Test,C=SE
serial (hex): 1cfc355030b385c560c238c4f37416e26d43f2fd
version: v3
notBefore: 2026-11-05T11:47:31Z
notAfter: 2027-11-05T11:47:31Z
signature algorithm: SHA256withECDSA
public key algorithm: EC
subjectKeyIdentifier: 56209f6492d80eba3fef99ecef24ba5c998c678a
authorityKeyIdentifier: 289aed953e6fa4670fcbd8e2360a4d1346821409
keyUsage (critical): digitalSignature
extendedKeyUsage (critical): 1.0.18013.5.1.2
basicConstraints: CA:FALSE
issuerAlternativeName: [[6, http://iap.mini-wallet.test/]]
cRLDistributionPoints: present
critical extension OIDs: 2.5.29.15, 2.5.29.37
non-critical extension OIDs: 2.5.29.14, 2.5.29.18, 2.5.29.19, 2.5.29.31, 2.5.29.35
subject
CN=mini-pid-issuer,OU=Credential Signing,O=Mini Wallet Test,L=Mini Testing,ST=Test,C=SE
issuing_certificate_decoded
<no issuing certificate located>
ds_certificate_pem
-----BEGIN CERTIFICATE-----
MIIC4DCCAoWgAwIBAgIUHPw1UDCzhcVgwjjE83QW4m1D8v0wCgYIKoZIzj0EAwIw
gYQxCzAJBgNVBAYTAlNFMQ0wCwYDVQQIDARUZXN0MRUwEwYDVQQHDAxNaW5pIFRl
c3RpbmcxGTAXBgNVBAoMEE1pbmkgV2FsbGV0IFRlc3QxETAPBgNVBAsMCFRlc3Qg
UEtJMSEwHwYDVQQDDBhNaW5pIFdhbGxldCBUZXN0IFJvb3QgQ0EwHhcNMjYxMTA1
MTE0NzMxWhcNMjcxMTA1MTE0NzMxWjCBhTELMAkGA1UEBhMCU0UxDTALBgNVBAgM
BFRlc3QxFTATBgNVBAcMDE1pbmkgVGVzdGluZzEZMBcGA1UECgwQTWluaSBXYWxs
ZXQgVGVzdDEbMBkGA1UECwwSQ3JlZGVudGlhbCBTaWduaW5nMRgwFgYDVQQDDA9t
aW5pLXBpZC1pc3N1ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARD8OoMbU+z
5KS6LKN+FEQo+QVeKvUEMiyte32ZMskqOzmu5Mx8Ud28JVmSErtT328LWdbBYDYo
QGbp+Qfu+6b/o4HRMIHOMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMBUGA1Ud
JQEB/wQLMAkGByiBjF0FAQIwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL21pbmkt
d2FsbGV0L21pbmktdGVzdC5jcmwwJwYDVR0SBCAwHoYcaHR0cDovL2lhcC5taW5p
LXdhbGxldC50ZXN0LzAdBgNVHQ4EFgQUViCfZJLYDro/75ns7yS6XJmMZ4owHwYD
VR0jBBgwFoAUKJrtlT5vpGcPy9jiNgpNE0aCFAkwCgYIKoZIzj0EAwIDSQAwRgIh
AI2D0cIDGBXihGhILIsl/uVPkxm69LjmXRkO4MuEh0MHAiEAg9QoxwUWzuGmVFLE
LvV6/SqJcDZH5M/fIvJC/wwJMNY=
-----END CERTIFICATE-----
2026-11-12 21:41:09 SUCCESS
ValidateMdocDsCertificateMatchesIssuingCountry
The credential does not disclose an issuing_country data element; certificate subject cross-check skipped
2026-11-12 21:41:09 SUCCESS
ValidateMdocTrustAnchorIacaCertificateProfile
No trust anchor is configured; IACA certificate profile check skipped
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoSignedWithinDsCertificateValidity
The MSO 'signed' timestamp is within the validity period of the document signer certificate
certificate_not_after
2027-11-05T11:47:31Z
certificate_not_before
2026-11-05T11:47:31Z
signed
2026-11-12T21:41:08Z
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoValidFromNotBeforeSigned
The MSO 'validFrom' timestamp is equal to or later than 'signed'
signed
2026-11-12T21:41:08Z
valid_from
2026-11-12T21:41:08Z
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoValidUntilAfterValidFrom
The MSO 'validUntil' timestamp is later than 'validFrom'
valid_from
2026-11-12T21:41:08Z
valid_until
2027-05-11T21:41:08Z
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoValidityPeriodIsCurrent
The current time is within the MSO 'validFrom'..'validUntil' period
valid_until
2027-05-11T21:41:08Z
now
2026-11-12T21:41:09.228024347Z
valid_from
2026-11-12T21:41:08Z
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoValidUntilWithinDsCertificateValidity
The MSO 'validUntil' timestamp is not later than the document signer certificate's notAfter
certificate_not_after
2027-11-05T11:47:31Z
valid_until
2027-05-11T21:41:08Z
2026-11-12 21:41:09 INFO
ValidateMdocIssuerChainAgainstVical
Skipped evaluation due to missing required object: vical
mapped
expected
vical
2026-11-12 21:41:09
FetchMdocRevocationList
The MSO does not contain a status element, so there is no MSO revocation list to check
2026-11-12 21:41:09 INFO
EnsureContentTypeMdocRevocationListCwt
Skipped evaluation due to missing required object: mdoc_revocation_list_endpoint_response
mapped
expected
mdoc_revocation_list_endpoint_response
2026-11-12 21:41:09 INFO
ValidateMdocRevocationListCwtFormat
Skipped evaluation due to missing required object: mdoc_revocation_list_endpoint_response
mapped
expected
mdoc_revocation_list_endpoint_response
2026-11-12 21:41:09 INFO
VerifyMdocRevocationListCwtSignature
Skipped evaluation due to missing required object: mdoc_revocation_list_endpoint_response
mapped
expected
mdoc_revocation_list_endpoint_response
2026-11-12 21:41:09 INFO
ValidateMdocRevocationListSignerCertificateProfile
Skipped evaluation due to missing required object: mdoc_revocation_list_endpoint_response
mapped
expected
mdoc_revocation_list_endpoint_response
2026-11-12 21:41:09 INFO
ValidateMdocRevocationListCertificateChain
Skipped evaluation due to missing required string: mdoc_revocation_list_token
expected
mdoc_revocation_list_token
2026-11-12 21:41:09 INFO
ExtractMdocRevocationStatus
Skipped evaluation due to missing required string: mdoc_revocation_list_token
expected
mdoc_revocation_list_token
2026-11-12 21:41:09 INFO
EnsureMdocNotRevoked
Skipped evaluation due to missing required string: mdoc_revocation_status
expected
mdoc_revocation_status
2026-11-12 21:41:09 INFO
ValidateMdocDsCertificateChain
Skipped evaluation due to missing required string: credential_trust_anchor_pem
expected
credential_trust_anchor_pem
2026-11-12 21:41:09
FetchMdocDsCertificateCrl
HTTP request
request_uri
http://mini-wallet/mini-test.crl
request_method
GET
request_headers
{
  "Accept": "application/pkix-crl",
  "Content-Length": "0"
}
request_body

                                
2026-11-12 21:41:09 RESPONSE
FetchMdocDsCertificateCrl
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "server": "nginx/1.31.8",
  "date": "Thu, 12 Nov 2026 21:41:09 GMT",
  "content-type": "application/pkix-crl",
  "content-length": "321",
  "last-modified": "Thu, 12 Nov 2026 21:08:24 GMT",
  "connection": "keep-alive",
  "etag": "\"6af62ac8-141\"",
  "accept-ranges": "bytes"
}
response_body_omitted
binary content, 321 bytes - not shown (not valid UTF-8: invalid byte sequence at byte offset 1)
response_body_first_bytes
0\x82\x01=0\x81\xe5\x02\x01\x010\x0a\x06\x08*\x86H\xce=\x04\x03\x020\x81\x841\x0b0\x09\x06\x03U
2026-11-12 21:41:09 SUCCESS
FetchMdocDsCertificateCrl
Fetched the CRL named by the document signer certificate's CRL distribution point
earlier_uris_that_failed
[]
length
321
uri
http://mini-wallet/mini-test.crl
2026-11-12 21:41:09 SUCCESS
EnsureContentTypeMdocDsCertificateCrl
mdoc_ds_certificate_crl_endpoint_response Content-Type: header is application/pkix-crl
2026-11-12 21:41:09
ValidateMdocDsCertificateCrl
The issuing IACA certificate could not be located (it is not in the x5chain, and neither a VICAL entry nor the configured trust anchor issued the document signer certificate), so the CRL signature was not verified
2026-11-12 21:41:09 SUCCESS
ValidateMdocDsCertificateCrl
The CRL named by the document signer certificate complies with the ISO 18013-5 CRL profile
signature_verified
false
this_update
"Nov 4, 2026, 11:48:50 AM"
revoked_count
0
uri
http://mini-wallet/mini-test.crl
crl_issuer
CN=Mini Wallet Test Root CA,OU=Test PKI,O=Mini Wallet Test,L=Mini Testing,ST=Test,C=SE
next_update
"Feb 2, 2027, 11:48:50 AM"
2026-11-12 21:41:09 SUCCESS
EnsureMdocDsCertificateCrlNextUpdateWithin90Days
The CRL named by the document signer certificate sets nextUpdate at most 90 days after thisUpdate
this_update
"Nov 4, 2026, 11:48:50 AM"
uri
http://mini-wallet/mini-test.crl
next_update
"Feb 2, 2027, 11:48:50 AM"
2026-11-12 21:41:09 INFO
EnsureMdocDsCertificateNotRevokedByCrl
Skipped evaluation due to missing required string: mdoc_ds_certificate_crl_authenticated
expected
mdoc_ds_certificate_crl_authenticated
2026-11-12 21:41:09 SUCCESS
EnsureMdocDeviceSignedElementsEmpty
mdoc DeviceSigned structure contains no data elements
2026-11-12 21:41:09 SUCCESS
EnsurePresentedMdocMdlElementsAreDefined
Every data element in the presented mDL is one ISO/IEC 18013-5 Table 20 defines
2026-11-12 21:41:09
EnsurePresentedMdocPhotoIdElementsAreDefined
The credential's docType is not org.iso.23220.photoid.1 so the photo ID data element check does not apply
doctype
org.iso.18013.5.1.mDL
2026-11-12 21:41:09 SUCCESS
EnsureMdocMdlElementValuesAreValid
The mDL data element values match what ISO/IEC 18013-5 Table 20 defines for them
elements_checked
2
2026-11-12 21:41:09
EnsureMdocPhotoIdElementValuesAreValid
The credential's docType is not org.iso.23220.photoid.1 so the photo ID data element value check does not apply
doctype
org.iso.18013.5.1.mDL
2026-11-12 21:41:09
EnsurePresentedMdocPidElementsAreDefined
The credential's docType is not eu.europa.ec.eudi.pid.1 so the PID data element check does not apply
doctype
org.iso.18013.5.1.mDL
2026-11-12 21:41:09
EnsureMdocPidElementValuesAreValid
The credential's docType is not eu.europa.ec.eudi.pid.1 so the PID data element value check does not apply
doctype
org.iso.18013.5.1.mDL
2026-11-12 21:41:09 SUCCESS
EnsureMdocAgeOverElementsConsistentWithBirthDate
The mdoc's age_over_NN data elements agree with its birth_date
elements_checked
0
valid_from
2026-11-12
2026-11-12 21:41:09 SUCCESS
EnsureMdocAgeInYearsConsistentWithBirthDate
The mdoc's age_in_years and age_birth_year data elements agree with its birth_date
elements_checked
0
valid_from
2026-11-12
2026-11-12 21:41:09 SUCCESS
ValidateMdocMsoValidityInfoTimestamps
The MSO validityInfo timestamps are tdate values with no fractions of seconds and a UTC offset of 'Z'
timestamps
{
  "signed": "2026-11-12T21:41:08Z",
  "validFrom": "2026-11-12T21:41:08Z",
  "validUntil": "2027-05-11T21:41:08Z"
}
Verify credential matches DCQL query
2026-11-12 21:41:09 SUCCESS
ValidateMdocDocTypeMatchesDcqlQuery
Credential docType matches DCQL query
doctype_value
org.iso.18013.5.1.mDL
docType
org.iso.18013.5.1.mDL
2026-11-12 21:41:09 SUCCESS
ValidateDisclosedMdocClaimsMatchDcqlQuery
All DCQL-requested claims are present in the disclosed mdoc credential
disclosed_paths
[
  [
    "org.iso.18013.5.1",
    "given_name"
  ],
  [
    "org.iso.18013.5.1",
    "family_name"
  ]
]
requested_claim_paths
[
  [
    "org.iso.18013.5.1",
    "given_name"
  ],
  [
    "org.iso.18013.5.1",
    "family_name"
  ]
]
2026-11-12 21:41:09
EnsureMostPreferredMdocDcqlClaimSetReturned
DCQL credential entry has fewer than two claim_sets options, so there is no preference order to check
2026-11-12 21:41:09 SUCCESS
CheckOnlyRequestedMdocElementsDisclosed
Wallet only disclosed mdoc elements that were requested in the DCQL query
disclosed_paths
[
  [
    "org.iso.18013.5.1",
    "given_name"
  ],
  [
    "org.iso.18013.5.1",
    "family_name"
  ]
]
requested_claim_paths
[
  [
    "org.iso.18013.5.1",
    "given_name"
  ],
  [
    "org.iso.18013.5.1",
    "family_name"
  ]
]
2026-11-12 21:41:09 SUCCESS
CreateEmptyDirectPostResponse
Created empty direct_post_response
2026-11-12 21:41:09
CreateRandomCodeVerifier
Created code_verifier value
code_verifier
pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i
2026-11-12 21:41:09 SUCCESS
AddRedirectUriToDirectPostResponse
Added redirect_uri containing code_verifier in fragment to direct_post_response
2026-11-12 21:41:09
oid4vp-1final-wallet-happy-flow
The response_uri is returning 'redirect_uri', so the wallet should send the user to that redirect_uri next
2026-11-12 21:41:09 OUTGOING
oid4vp-1final-wallet-happy-flow
Response to HTTP request to test instance MfFquwceEhW8WEF
outgoing_status_code
200
outgoing_body
{"redirect_uri":"https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/callback#pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i"}
outgoing_headers
{
  "headers": {
    "Content-Type": [
      "application/json"
    ]
  }
}
outgoing_path
responseuri
2026-11-12 21:41:09 INCOMING
oid4vp-1final-wallet-happy-flow
Incoming HTTP request to /test/a/siros-wallet-vp-mdoc-test/callback
incoming_headers
{
  "host": "localhost.emobix.co.uk",
  "x-forwarded-uri": "/test/a/siros-wallet-vp-mdoc-test/callback",
  "forwarded": "by\u003d172.18.0.8;for\u003d172.18.0.1;host\u003dlocalhost.emobix.co.uk;proto\u003dhttps",
  "connection": "close",
  "sec-ch-ua": "\"Not-A.Brand\";v\u003d\"99\", \"Google Chrome\";v\u003d\"157\", \"Chromium\";v\u003d\"157\"",
  "sec-ch-ua-mobile": "?0",
  "sec-ch-ua-platform": "\"Windows\"",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
  "accept-language": "en-US",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.7",
  "sec-fetch-site": "cross-site",
  "sec-fetch-mode": "navigate",
  "sec-fetch-dest": "document",
  "referer": "http://localhost:3010/",
  "accept-encoding": "gzip, deflate, br, zstd"
}
incoming_path
/test/a/siros-wallet-vp-mdoc-test/callback
incoming_body_form_params
incoming_method
GET
incoming_tls_version
TLSv1.3
incoming_tls_cert
incoming_query_string_params
{}
incoming_body
incoming_tls_chain
[
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL"
]
incoming_body_json_parse_error
incoming_tls_cipher
TLS_AES_256_GCM_SHA384
incoming_body_json
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls12WithSecureCipherOrTls13
Found TLS 1.3 connection
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls13
TLS 1.3 in use
2026-11-12 21:41:09 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/gYgmQwLSRIF7CXXxHNW3",
  "fullUrl": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/implicit/gYgmQwLSRIF7CXXxHNW3"
}
2026-11-12 21:41:09 OUTGOING
oid4vp-1final-wallet-happy-flow
Response to HTTP request to test instance MfFquwceEhW8WEF
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/implicit/gYgmQwLSRIF7CXXxHNW3, returnUrl=/log-detail.html?log=MfFquwceEhW8WEF}]
outgoing_path
callback
2026-11-12 21:41:09 INCOMING
oid4vp-1final-wallet-happy-flow
Incoming HTTP request to /test/a/siros-wallet-vp-mdoc-test/implicit/gYgmQwLSRIF7CXXxHNW3
incoming_headers
{
  "host": "localhost.emobix.co.uk",
  "x-forwarded-uri": "/test/a/siros-wallet-vp-mdoc-test/implicit/gYgmQwLSRIF7CXXxHNW3",
  "forwarded": "by\u003d172.18.0.8;for\u003d172.18.0.1;host\u003dlocalhost.emobix.co.uk;proto\u003dhttps",
  "connection": "close",
  "content-length": "129",
  "sec-ch-ua-platform": "\"Windows\"",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
  "sec-ch-ua": "\"Not-A.Brand\";v\u003d\"99\", \"Google Chrome\";v\u003d\"157\", \"Chromium\";v\u003d\"157\"",
  "content-type": "text/plain",
  "sec-ch-ua-mobile": "?0",
  "accept-language": "en-US",
  "accept": "*/*",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "cors",
  "sec-fetch-dest": "empty",
  "referer": "https://localhost.emobix.co.uk:8443/test/a/siros-wallet-vp-mdoc-test/callback",
  "accept-encoding": "gzip, deflate, br, zstd",
  "cookie": "JSESSIONID\u003dA0C64198EA0A5A084858245EEA6CA5C7"
}
incoming_path
/test/a/siros-wallet-vp-mdoc-test/implicit/gYgmQwLSRIF7CXXxHNW3
incoming_body_form_params
incoming_method
POST
incoming_tls_version
TLSv1.3
incoming_tls_cert
incoming_query_string_params
{}
incoming_body
#pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i
incoming_tls_chain
[
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL",
  "CONFORMANCE_SUITE_JSON_NULL"
]
incoming_body_json_parse_error
incoming_tls_cipher
TLS_AES_256_GCM_SHA384
incoming_body_json
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls12WithSecureCipherOrTls13
Found TLS 1.3 connection
2026-11-12 21:41:09 SUCCESS
EnsureIncomingTls13
TLS 1.3 in use
2026-11-12 21:41:09 OUTGOING
oid4vp-1final-wallet-happy-flow
Response to HTTP request to test instance MfFquwceEhW8WEF
outgoing_status_code
204
outgoing_body

                                
outgoing_headers
{
  "headers": {}
}
outgoing_path
implicit/gYgmQwLSRIF7CXXxHNW3
2026-11-12 21:41:09
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
parameters
[
  "pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i"
]
2026-11-12 21:41:09 SUCCESS
ExtractImplicitHashToCallbackResponse
Extracted the hash values
__wrapped_key_element_oiJRgJ
{
  "key": "pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i",
  "value": null
}
2026-11-12 21:41:09 REDIRECT-IN
oid4vp-1final-wallet-happy-flow
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "localhost.emobix.co.uk",
  "x-forwarded-proto": "https",
  "x-forwarded-host": "localhost.emobix.co.uk",
  "x-forwarded-port": "8443",
  "x-forwarded-uri": "/test/a/siros-wallet-vp-mdoc-test/callback",
  "x-ssl-cipher": "TLS_AES_256_GCM_SHA384",
  "x-ssl-protocol": "TLSv1.3",
  "forwarded": "by\u003d172.18.0.8;for\u003d172.18.0.1;host\u003dlocalhost.emobix.co.uk;proto\u003dhttps",
  "connection": "close",
  "sec-ch-ua": "\"Not-A.Brand\";v\u003d\"99\", \"Google Chrome\";v\u003d\"157\", \"Chromium\";v\u003d\"157\"",
  "sec-ch-ua-mobile": "?0",
  "sec-ch-ua-platform": "\"Windows\"",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
  "accept-language": "en-US",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/jxl,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.7",
  "sec-fetch-site": "cross-site",
  "sec-fetch-mode": "navigate",
  "sec-fetch-dest": "document",
  "referer": "http://localhost:3010/",
  "accept-encoding": "gzip, deflate, br, zstd"
}
http_method
GET
url_fragment
{
  "pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i": null
}
post_body
Verify redirect_uri called matches the one from the response_uri response
2026-11-12 21:41:09 SUCCESS
CheckCallbackHttpMethodIsGet
HTTP method used at redirect_uri is 'GET'
2026-11-12 21:41:09 SUCCESS
CheckUrlQueryIsEmpty
URL query passed to redirect_uri is empty
2026-11-12 21:41:09 SUCCESS
CheckUrlFragmentContainsCodeVerifier
URL fragment passed to redirect_uri matches expected one
expected
#pusW_KBICfcuIrznqOK-8.APA-0p3zuh9N7M1XtENGKpZf.ciUSp3PLCRftn7_oiDxPpTzfyMZLhWbhqmqZnnJBfL~atcXAr-f08cSp4c7UE-lyhvoTLf~0.Ml.KCY~i
2026-11-12 21:41:09 FINISHED
oid4vp-1final-wallet-happy-flow
Test has run to completion
testmodule_result
PASSED
2026-11-12 21:41:16
TEST-RUNNER
Alias has now been claimed by another test
alias
siros-wallet-vp-mdoc-test
new_test_id
6H3nWjgGfztAi0f
Test Results