Test Name | fapi-rw-id2-ensure-mtls-holder-of-key-required |
---|---|
Variant | client_auth_type=private_key_jwt, fapi_auth_request_method=pushed, fapi_profile=consumerdataright_au, fapi_response_mode=plain_response |
Test ID | 1wVlXyJkydsyb9q https://www.certification.openid.net/log-detail.html?public=true&log=1wVlXyJkydsyb9q |
Created | 2022-10-10T14:12:32.599915Z |
Description | |
Test Version | 5.0.5 |
Test Owner | 109055582583928362260 https://accounts.google.com |
Plan ID | JHP5ERPj3gdgB https://www.certification.openid.net/plan-detail.html?public=true&plan=JHP5ERPj3gdgB |
Exported From | https://www.certification.openid.net |
Exported By | 109055582583928362260 https://accounts.google.com |
Suite Version | 5.0.5 |
Exported | 2022-10-12 15:46:28 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 98 FAILURE 0 WARNING 0 REVIEW 0 INFO 1 |
2022-10-10 14:12:32 |
INFO
|
TEST-RUNNER
Test instance 1wVlXyJkydsyb9q created
|
||||||||||||||
|
2022-10-10 14:12:32 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2022-10-10 14:12:32 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-10-10 14:12:32 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-10-10 14:12:32 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-10-10 14:12:32 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2022-10-10 14:12:32 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
2022-10-10 14:12:32 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-10-10 14:12:32 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-10-10 14:12:32 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-10-10 14:12:32 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-10-10 14:12:32 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-10-10 14:12:32 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-10-10 14:12:32 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-10-10 14:12:32 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||||||||||
|
2022-10-10 14:12:32 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-10-10 14:12:32 | 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
|
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-10-10 14:12:32 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-10-10 14:12:32 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-10-10 14:12:32 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-10-10 14:12:32 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2022-10-10 14:12:32 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||||||||||||
|
2022-10-10 14:12:32 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-10-10 14:12:32 | 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
|
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-10-10 14:12:32 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-10-10 14:12:32 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-10-10 14:12:32 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-10-10 14:12:32 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2022-10-10 14:12:32 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||||||||||||||||||
|
2022-10-10 14:12:32 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2022-10-10 14:12:32 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2022-10-10 14:12:32 |
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Setup Done
|
|
Authorization endpoint TLS test |
2022-10-10 14:12:32 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-10-10 14:12:32 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-10-10 14:12:32 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
Token Endpoint TLS test |
2022-10-10 14:12:33 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-10-10 14:12:33 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Userinfo Endpoint TLS test |
2022-10-10 14:12:33 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-10-10 14:12:33 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Registration Endpoint TLS test |
2022-10-10 14:12:33 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-10-10 14:12:33 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Make request to authorization endpoint |
2022-10-10 14:12:33 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-10-10 14:12:33 | SUCCESS |
AddCdrAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
|
||
|
2022-10-10 14:12:33 | SUCCESS |
AddCdrSharingDurationClaimToAuthorizationEndpointRequest
Added sharing_duration claim to authorization_endpoint_request
|
||
|
2022-10-10 14:12:33 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-10-10 14:12:33 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||||
|
2022-10-10 14:12:33 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-10-10 14:12:33 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||||
|
2022-10-10 14:12:33 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||||
|
2022-10-10 14:12:33 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-10-10 14:12:33 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-10-10 14:12:33 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-10-10 14:12:33 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-10-10 14:12:33 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2022-10-10 14:12:33 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2022-10-10 14:12:33 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2022-10-10 14:12:33 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-10-10 14:12:33 | SUCCESS |
UpdateClientAuthenticationAssertionClaimsWithISSAud
Updated audience in client assertion claims
|
||||||||||||
|
2022-10-10 14:12:33 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-10-10 14:12:33 |
SUCCESS
|
AddClientAssertionToPAREndpointParameters
Added client assertion to request
|
||
|
2022-10-10 14:12:33 |
|
CallPAREndpoint
HTTP request
|
||||||||||
|
2022-10-10 14:12:33 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2022-10-10 14:12:33 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2022-10-10 14:12:33 | SUCCESS |
CheckPAREndpointResponse201WithNoError
pushed authorization request endpoint correct response.
|
|
2022-10-10 14:12:33 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2022-10-10 14:12:33 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2022-10-10 14:12:33 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:2FwliTRQTKExluE6yLmKHcRC00W
|
|
2022-10-10 14:12:33 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-10-10 14:12:33 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2022-10-10 14:12:33 |
REDIRECT
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Redirecting to authorization endpoint
|
||
|
2022-10-10 14:12:37 |
INCOMING
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Incoming HTTP request to /test/a/PlainResponsePushedConsumerDataRightAuReadWriteFapiTests/callback
|
||||||||||||||||||||||
|
2022-10-10 14:12:37 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-10-10 14:12:37 |
OUTGOING
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Response to HTTP request to test instance 1wVlXyJkydsyb9q
|
||||
|
2022-10-10 14:12:37 |
INCOMING
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Incoming HTTP request to /test/a/PlainResponsePushedConsumerDataRightAuReadWriteFapiTests/implicit/WsOC3n4LWzPsCqc2l6th
|
||||||||||||||||||||||
|
2022-10-10 14:12:37 |
OUTGOING
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Response to HTTP request to test instance 1wVlXyJkydsyb9q
|
||||||||
|
2022-10-10 14:12:37 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2022-10-10 14:12:37 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2022-10-10 14:12:37 |
REDIRECT-IN
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2022-10-10 14:12:37 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2022-10-10 14:12:37 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-10-10 14:12:37 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2022-10-10 14:12:37 | SUCCESS |
RejectStateInUrlQueryForHybridFlow
state is correctly not present in URL query returned from authorization endpoint (as in the hybrid flow it must be returned in the URL fragment/hash only)
|
|
2022-10-10 14:12:37 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-10-10 14:12:37 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2022-10-10 14:12:37 | SUCCESS |
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-10-10 14:12:37 |
|
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
|
|
2022-10-10 14:12:37 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2022-10-10 14:12:37 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2022-10-10 14:12:37 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-10-10 14:12:37 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
Created token endpoint request
|
||||||
|
2022-10-10 14:12:37 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-10-10 14:12:37 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-10-10 14:12:37 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2022-10-10 14:12:37 |
SUCCESS
|
RemoveMTLSCertificates
Removed mutual TLS authentication credentials
|
|
2022-10-10 14:12:37 |
|
CallTokenEndpointAllowingTLSFailure
HTTP request
|
||||||||
|
2022-10-10 14:12:37 |
RESPONSE
|
CallTokenEndpointAllowingTLSFailure
HTTP response
|
||||||||
|
2022-10-10 14:12:37 | SUCCESS |
CallTokenEndpointAllowingTLSFailure
Parsed token endpoint response
|
||||||||
|
2022-10-10 14:12:37 | SUCCESS |
CheckTokenEndpointHttpStatus400or401
Token endpoint http status code was 401
|
|
2022-10-10 14:12:37 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2022-10-10 14:12:37 | SUCCESS |
CheckTokenEndpointReturnedInvalidClientGrantOrRequestError
Token endpoint returned error invalid_client and the http status code was 401
|
|
2022-10-10 14:12:37 | SUCCESS |
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
|
||
|
2022-10-10 14:12:37 | SUCCESS |
CheckErrorDescriptionFromTokenEndpointResponseErrorContainsCRLFTAB
token_endpoint_response 'error_description' field does not include CR/LF/TAB
|
||
|
2022-10-10 14:12:37 | SUCCESS |
ValidateErrorDescriptionFromTokenEndpointResponseError
token_endpoint_response error returned valid 'error_description' field
|
||
|
2022-10-10 14:12:37 | SUCCESS |
ValidateErrorUriFromTokenEndpointResponseError
token_endpoint_response did not include optional 'error_uri' field
|
|
2022-10-10 14:12:37 |
FINISHED
|
fapi-rw-id2-ensure-mtls-holder-of-key-required
Test has run to completion
|
||
|
2022-10-10 14:12:38 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|