| Test Name | oid4vp-1final-verifier-minimal-cnf-jwk |
|---|---|
| Variant | credential_format=sd_jwt_vc, client_id_prefix=x509_hash, request_method=request_uri_signed, vp_profile=plain_vp, response_mode=direct_post.jwt |
| Test ID | baIqFhrUxrkD9Ws https://localhost.emobix.co.uk:8443/log-detail.html?public=true&log=baIqFhrUxrkD9Ws |
| Created | 2026-11-11T11:35:47.027722707Z |
| Description | OID4VP verifier/RP conformance test for SIROS VC verifier |
| Test Version | 5.3.4 |
| Test Owner | leifj |
| Plan ID | HVCYadxdFN7aq https://localhost.emobix.co.uk:8443/plan-detail.html?public=true&plan=HVCYadxdFN7aq |
| Exported From | https://localhost.emobix.co.uk:8443 |
| Exported By | leifj |
| Suite Version | 5.3.4 |
| Exported | 2026-11-11 11:36:31 (UTC) |
| Status: FINISHED Result: REVIEW |
| SUCCESS 59 FAILURE 0 WARNING 0 REVIEW 1 INFO 15 |
| 2026-11-11 11:35:47 |
INFO
|
TEST-RUNNER
Test instance baIqFhrUxrkD9Ws created
|
||||||||||||||||
|
||||||||||||||||||
| 2026-11-11 11:35:47 |
SUCCESS
|
OIDCCGenerateServerConfiguration
Generated default server configuration
|
||
|
||||
| 2026-11-11 11:35:47 |
SetRequestUriParameterSupportedToTrueInServerConfiguration
Enabled request_uri support in server configuration
|
|||
|
||||
| 2026-11-11 11:35:47 |
|
RegisterClientRequestObjectTrustAnchor
No client request object trust anchor configured, skipping registration
|
|
|
||
| 2026-11-11 11:35:47 |
|
RegisterRical
No RICAL configured, skipping RICAL-based verifier trust checks
|
|
|
||
| 2026-11-11 11:35:47 | INFO |
CallRicalEndpoint
Skipped evaluation due to missing required string: rical_url
|
||
|
||||
| 2026-11-11 11:35:47 | INFO |
ParseRical
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:47 |
INFO
|
DumpRicalCborDiagnostics
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:47 | INFO |
ValidateRicalSignature
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:47 | INFO |
ValidateRicalSignerCertificate
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:47 | INFO |
ValidateRicalStructure
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:47 |
|
oid4vp-1final-verifier-minimal-cnf-jwk
Setup Done
|
|
|
||
| 2026-11-11 11:35:48 |
INCOMING
|
oid4vp-1final-verifier-minimal-cnf-jwk
Incoming HTTP request to /test/a/siros-verifier-vp-test/authorize
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Authorization endpoint |
| 2026-11-11 11:35:48 |
FetchRequestUriAndExtractRequestObject
Fetching request object from request_uri
|
|||
|
||||
| 2026-11-11 11:35:48 |
|
FetchRequestUriAndExtractRequestObject
HTTP request
|
||||||||
|
||||||||||
| 2026-11-11 11:35:48 |
RESPONSE
|
FetchRequestUriAndExtractRequestObject
HTTP response
|
||||||||
|
||||||||||
| 2026-11-11 11:35:48 |
FetchRequestUriAndExtractRequestObject
Downloaded request object
|
|||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
FetchRequestUriAndExtractRequestObject
Parsed request object
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureRequestUriIsHttps
request_uri is a https url
|
||
|
||||
| 2026-11-11 11:35:48 |
SUCCESS
|
EnsureRequestUriHasNoFragment
request_uri does not contain a fragment
|
||
|
||||
| 2026-11-11 11:35:48 |
SUCCESS
|
ExtractAndValidateX509HashClientId
Client ID matched
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateRequestObjectTypIsOAuthQauthReqJwt
Request object typ header is valid
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
OIDCCValidateRequestObjectExp
Request object contains a valid exp claim, expiry time
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateRequestObjectIat
iat claim is valid
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureNumericRequestObjectClaimsAreNotNull
None of the claims expected to have numeric values, have null values
|
||
|
||||
| 2026-11-11 11:35:48 |
ValidateRequestObjectMaxAge
Request object does not contain a max_age claim
|
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureRequestObjectDoesNotContainRequestOrRequestUri
Request object does not contain request or request_uri
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureRequestObjectDoesNotContainSubWithClientId
Request object does not contain Client Id in sub
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateRequestObjectIssIfPresent
Request object does not contain an 'iss' claim, which is permitted by the spec
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateRequestObjectAudForVP
Request object aud claim is valid
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateRequestObjectSignatureAgainstX5cHeader
Request object x5c chain validated and signature verified
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | INFO |
ValidateRequestObjectX5cChainAgainstRical
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:48 | INFO |
EnsureMatchedRicalEntryHasNoTrustConstraints
Skipped evaluation due to missing required object: rical
|
||||
|
||||||
| 2026-11-11 11:35:48 |
SUCCESS
|
EnsureClientIdInAuthorizationRequestParametersMatchRequestObject
client_id http request parameter value matches client_id in request object
|
|
|
||
| 2026-11-11 11:35:48 | INFO |
ValidateEncryptedRequestObjectHasKid
Skipped evaluation due to missing required element: authorization_request_object jwe_header
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureOptionalAuthorizationRequestParametersMatchRequestObject
All http request parameters and request object claims match
|
|
|
||
| 2026-11-11 11:35:48 |
SUCCESS
|
CheckForUnexpectedParametersInVpAuthorizationEndpointHttpRequest
All HTTP authorization request parameters are expected
|
||||
|
||||||
| 2026-11-11 11:35:48 | SUCCESS |
CreateEffectiveAuthorizationRequestParameters
Merged http request parameters with request object claims
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ExtractNonceFromAuthorizationRequest
Extracted nonce
|
||
|
||||
| 2026-11-11 11:35:48 | INFO |
EnsureAuthorizationRequestContainsPkceCodeChallenge
Skipped evaluation due to missing required element: effective_authorization_endpoint_request code_challenge
|
||||||
|
||||||||
| 2026-11-11 11:35:48 |
SUCCESS
|
EnsureResponseTypeIsVpToken
Response type is expected value
|
||
|
||||
| 2026-11-11 11:35:48 |
SUCCESS
|
ValidateResponseMode
response_mode is direct_post.jwt
|
|
|
||
| 2026-11-11 11:35:48 |
SUCCESS
|
CheckNoClientIdSchemeParameter
client_id_scheme parameter is not present, as expected.
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
CheckNoScopeParameter
scope parameter is not present, as expected.
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
CheckRequestUriMethodParameter
request_uri_method is 'post'
|
|
|
||
| 2026-11-11 11:35:48 | INFO |
WarnIfRequestUriMethodInRequestObject
Skipped evaluation due to missing required string: authorization_request_object
|
||
|
||||
| 2026-11-11 11:35:48 |
SUCCESS
|
CheckForUnexpectedParametersInVpAuthorizationRequest
All authorization parameters are expected
|
||||
|
||||||
| 2026-11-11 11:35:48 | SUCCESS |
CheckNoTransactionDataInVpAuthorizationRequest
Authorization request does not contain transaction_data
|
|
|
||
| 2026-11-11 11:35:48 | INFO |
ExtractVerifierInfoFromAuthorizationRequest
Skipped evaluation due to missing required element: effective_authorization_endpoint_request verifier_info
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | INFO |
ValidateVerifierInfo
Skipped evaluation due to missing required element: effective_authorization_endpoint_request verifier_info
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | INFO |
CheckForUnexpectedParametersInVerifierInfo
Skipped evaluation due to missing required element: effective_authorization_endpoint_request verifier_info
|
||||||
|
||||||||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureValidResponseUriForAuthorizationEndpointRequest
response_uri is valid https url with no fragment
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
CheckNoRedirectUriInVpAuthorizationRequest
Authorization request does not contain 'redirect_uri'
|
|
|
||
| 2026-11-11 11:35:48 |
SUCCESS
|
CheckNoPresentationDefinitionInVpAuthorizationRequest
Authorization request does not contain presentation_definition or presentation_definition_uri
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalCheckForUnexpectedParametersInVpClientMetadata
All client_metadata parameters are expected
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalValidateVpFormatsSupportedInClientMetadata
vp_formats_supported contains valid dc+sd-jwt format
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalCheckForKeyIdInClientMetadataJWKs
All keys in client_metadata.jwks have unique kid values
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalValidateClientMetadataJwksForEncryptedResponse
client_metadata.jwks contains valid encryption key(s) with alg
|
||
|
||||
| Validate the JWK set in client_metadata |
| 2026-11-11 11:35:48 |
SUCCESS
|
MapJwksToValidationLocation
Selected the JWK set in client_metadata for validation
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
EnsureJwksHasNoPrivateOrSymmetricKeyMaterial
The JWK set in client_metadata contains only public key material
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateJwksStructure
The JWK set in client_metadata is structurally valid
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ParseUsableJwksKeys
All usable keys in the JWK set in client_metadata parse successfully
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
WarnOnUnusableJwksKeys
All keys in the JWK set in client_metadata use a supported key type, curve and algorithm
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalCheckEncryptionKeyNotReused
Verifier response-encryption key(s) were not seen in a previous Authorization Request
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ExtractDCQLQueryFromAuthorizationRequest
Extracted dcql_query from authorization request
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
ValidateDCQLQuery
DCQL query input is valid
|
||||
|
||||||
| 2026-11-11 11:35:48 | SUCCESS |
CheckForUnexpectedParametersInDcqlQuery
No unknown properties were found in the DCQL query
|
||||
|
||||||
| 2026-11-11 11:35:48 | SUCCESS |
CheckForNonSelectivelyDisclosableClaimsInDcqlQuery
DCQL query does not request any SD-JWT VC claims that cannot be selectively disclosed
|
|
|
||
| 2026-11-11 11:35:48 | SUCCESS |
CheckForUnreferencedClaimsInDcqlQuery
The DCQL query does not contain claims entries unreferenced by claim_sets
|
|
|
||
| 2026-11-11 11:35:48 |
SUCCESS
|
CheckDCQLQueryCredentialFormatMatchesTestConfiguration
DCQL query credential format matches test configuration
|
||||
|
||||||
| 2026-11-11 11:35:48 |
SUCCESS
|
CreateAuthorizationEndpointResponseParams
Added authorization_endpoint_response_params to environment
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
CreateValidStatusListReference
Allocated a status list index that the served status list marks as valid
|
||
|
||||
| 2026-11-11 11:35:48 |
|
CreateSdJwtKbCredentialWithMinimalCnf
Filtered SD-JWT disclosures to DCQL requested claims
|
||||||
|
||||||||
| 2026-11-11 11:35:48 |
|
CreateSdJwtKbCredentialWithMinimalCnf
Created an SD-JWT+KB
|
||
|
||||
| 2026-11-11 11:35:48 | SUCCESS |
VP1FinalGenerateJwtStatusListToken
Generated the Status List Token in JWT format
|
||||||||
|
||||||||||
| 2026-11-11 11:35:48 | SUCCESS |
AddVP1FinalDCQLVPTokenToAuthorizationEndpointResponseParams
Added credential in DCQL 'vp_token' authorization endpoint response parameter
|
||
|
||||
| 2026-11-11 11:35:49 |
|
VP1FinalEncryptVPResponse
Encrypted the response
|
||||||||||||||
|
||||||||||||||||
| 2026-11-11 11:35:49 |
|
CallDirectPostEndpoint
HTTP request
|
||||||||
|
||||||||||
| 2026-11-11 11:35:49 |
INCOMING
|
oid4vp-1final-verifier-minimal-cnf-jwk
Incoming HTTP request to /test/a/siros-verifier-vp-test/statuslists/ArnGliTT01Zei2XqMldv
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureIncomingRequestMethodIsGet
Client correctly used http GET method
|
|
|
||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureRevocationListRequestHasOnlyDefinedQueryParameters
The verifier sent no query parameters the Token Status List specification does not define
|
||
|
||||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureIncomingRequestBodyIsEmpty
Request body was correctly empty
|
|
|
||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureRevocationListRequestAcceptedServedMediaType
The Accept header the verifier sent accepts the media type the revocation list is served as
|
||||
|
||||||
| 2026-11-11 11:35:49 |
|
oid4vp-1final-verifier-minimal-cnf-jwk
The verifier fetched the status list the presented credential references.
|
||
|
||||
| 2026-11-11 11:35:49 |
OUTGOING
|
oid4vp-1final-verifier-minimal-cnf-jwk
Response to HTTP request to test instance baIqFhrUxrkD9Ws
|
||||||||
|
||||||||||
| 2026-11-11 11:35:49 |
RESPONSE
|
CallDirectPostEndpoint
HTTP response
|
||||||||
|
||||||||||
| 2026-11-11 11:35:49 |
SUCCESS
|
CallDirectPostEndpoint
Parsed response uri endpoint response
|
||||||||||
|
||||||||||||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureHttpStatusCodeIs200
https://conformance.example.com:9443/vp/response/ZtRWTLdbWFrNmE4uiK7BRw endpoint returned the expected http status
|
||||
|
||||||
| 2026-11-11 11:35:49 | SUCCESS |
EnsureContentTypeJson
endpoint_response Content-Type: header is application/json
|
|
|
||
| 2026-11-11 11:35:49 | SUCCESS |
ValidateDirectPostResponse
Direct post response is an empty object.
|
|
|
||
| 2026-11-11 11:35:49 | SUCCESS |
ValidateDirectPostResponseRedirectUriWhenPresent
redirect_uri absent from direct_post response body (OID4VP §8.2 permits this)
|
|
|
||
| 2026-11-11 11:35:49 | REVIEW IMAGE |
ExpectVerifierSuccessfulVerificationPage
Upload a screenshot showing that the verifier successfully verified the presented credential (for example, a page displaying the credential contents).
|
||||
|
||||||
| 2026-11-11 11:35:49 |
OUTGOING
|
oid4vp-1final-verifier-minimal-cnf-jwk
Response to HTTP request to test instance baIqFhrUxrkD9Ws
|
||||
|
||||||
| 2026-11-11 11:35:51 | SUCCESS |
EnsureVerifierFetchedRevocationList
The verifier fetched the revocation list referenced by the presented credential
|
||
|
||||
| 2026-11-11 11:35:51 |
FINISHED
|
oid4vp-1final-verifier-minimal-cnf-jwk
Test has run to completion
|
||
|
||||
| 2026-11-11 11:35:52 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|
||||||