Test Name | fapi1-advanced-final-ensure-mtls-holder-of-key-required |
---|---|
Variant | client_auth_type=private_key_jwt, fapi_auth_request_method=pushed, fapi_profile=plain_fapi, fapi_response_mode=plain_response |
Test ID | Xnb96j1HaFi8bgY https://www.certification.openid.net/log-detail.html?public=true&log=Xnb96j1HaFi8bgY |
Created | 2022-11-17T04:42:29.559366Z |
Description | NC7000-3A-OC FAPI Final Conformance Test No2 |
Test Version | 5.0.7 |
Test Owner | 104676522646289729413 https://accounts.google.com |
Plan ID | 7gtbNuvmGhJWn https://www.certification.openid.net/plan-detail.html?public=true&plan=7gtbNuvmGhJWn |
Exported From | https://www.certification.openid.net |
Exported By | 104676522646289729413 https://accounts.google.com |
Suite Version | 5.0.7 |
Exported | 2022-12-02 04:11:45 (UTC) |
Status: FINISHED Result: WARNING |
SUCCESS 95 FAILURE 0 WARNING 1 REVIEW 0 INFO 5 |
2022-11-17 04:42:29 |
INFO
|
TEST-RUNNER
Test instance Xnb96j1HaFi8bgY created
|
||||||||||||||
|
2022-11-17 04:42:29 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2022-11-17 04:42:29 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-11-17 04:42:36 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-11-17 04:42:36 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-11-17 04:42:36 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2022-11-17 04:42:36 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2022-11-17 04:42:36 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-11-17 04:42:36 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-11-17 04:42:37 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-11-17 04:42:37 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-11-17 04:42:37 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-11-17 04:42:37 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-11-17 04:42:37 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-11-17 04:42:37 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||||
|
2022-11-17 04:42:37 |
|
ValidateMTLSCertificatesHeader
No certificate authority found for MTLS
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2022-11-17 04:42:37 |
|
ExtractMTLSCertificatesFromConfiguration
No certificate authority found for MTLS
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||
|
2022-11-17 04:42:37 | 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-11-17 04:42:37 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-11-17 04:42:37 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-11-17 04:42:37 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-11-17 04:42:37 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-11-17 04:42:37 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2022-11-17 04:42:37 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||||||
|
2022-11-17 04:42:37 |
|
ValidateMTLSCertificates2Header
No certificate authority found for MTLS
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2022-11-17 04:42:37 |
|
ExtractMTLSCertificates2FromConfiguration
No certificate authority found for MTLS
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||
|
2022-11-17 04:42:37 | 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-11-17 04:42:37 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-11-17 04:42:37 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-11-17 04:42:37 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-11-17 04:42:37 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-11-17 04:42:37 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ValidateClientPrivateKeysAreDifferent
Client signing JWKs have different thumbprints
|
||||
|
2022-11-17 04:42:37 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2022-11-17 04:42:37 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2022-11-17 04:42:37 |
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Setup Done
|
|
2022-11-17 04:42:37 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
Authorization endpoint TLS test |
2022-11-17 04:42:37 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-11-17 04:42:38 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-11-17 04:42:38 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
Token Endpoint TLS test |
2022-11-17 04:42:38 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-11-17 04:42:39 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-11-17 04:42:39 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-11-17 04:42:39 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-11-17 04:42:39 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Userinfo Endpoint TLS test |
2022-11-17 04:42:40 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-11-17 04:42:40 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-11-17 04:42:40 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-11-17 04:42:41 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-11-17 04:42:41 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Registration Endpoint TLS test |
2022-11-17 04:42:41 | INFO |
EnsureTLS12WithFAPICiphers
Skipped evaluation due to missing required object: tls
|
||||
|
2022-11-17 04:42:41 | INFO |
DisallowTLS10
Skipped evaluation due to missing required object: tls
|
||||
|
2022-11-17 04:42:41 | INFO |
DisallowTLS11
Skipped evaluation due to missing required object: tls
|
||||
|
2022-11-17 04:42:41 | INFO |
DisallowInsecureCipher
Skipped evaluation due to missing required object: tls
|
||||
|
Make request to authorization endpoint |
2022-11-17 04:42:41 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-11-17 04:42:41 |
SUCCESS
|
AddAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
|
||
|
2022-11-17 04:42:41 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-11-17 04:42:41 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||||
|
2022-11-17 04:42:41 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-11-17 04:42:41 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||||
|
2022-11-17 04:42:41 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||||
|
2022-11-17 04:42:41 |
|
CreateRandomCodeVerifier
Created code_verifier value
|
||
|
2022-11-17 04:42:41 |
|
CreateS256CodeChallenge
Created code_challenge value
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddCodeChallengeToAuthorizationEndpointRequest
Added code_challenge and code_challenge_method parameters to request
|
||||||||||||||||||
|
2022-11-17 04:42:41 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-11-17 04:42:41 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2022-11-17 04:42:41 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2022-11-17 04:42:41 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2022-11-17 04:42:41 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-11-17 04:42:41 | SUCCESS |
UpdateClientAuthenticationAssertionClaimsWithISSAud
Updated audience in client assertion claims
|
||||||||||||
|
2022-11-17 04:42:41 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-11-17 04:42:41 |
SUCCESS
|
AddClientAssertionToPAREndpointParameters
Added client assertion to request
|
||
|
2022-11-17 04:42:41 |
|
CallPAREndpoint
HTTP request
|
||||||||
|
2022-11-17 04:42:42 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2022-11-17 04:42:42 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2022-11-17 04:42:42 | SUCCESS |
CheckPAREndpointResponse201WithNoError
pushed authorization request endpoint correct response.
|
|
2022-11-17 04:42:42 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2022-11-17 04:42:42 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2022-11-17 04:42:42 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:gRAMFlfSDg9sCuqJ
|
|
2022-11-17 04:42:42 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-11-17 04:42:42 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2022-11-17 04:42:42 |
REDIRECT
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Redirecting to authorization endpoint
|
||
|
2022-11-17 04:42:47 |
INCOMING
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Incoming HTTP request to /test/a/NC7000-3A-OC/callback
|
||||||||||||||||||||||
|
2022-11-17 04:42:47 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-11-17 04:42:47 |
OUTGOING
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Response to HTTP request to test instance Xnb96j1HaFi8bgY
|
||||
|
2022-11-17 04:42:47 |
INCOMING
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Incoming HTTP request to /test/a/NC7000-3A-OC/implicit/q5wjvnZ7PFYdcRmcNBby
|
||||||||||||||||||||||
|
2022-11-17 04:42:47 |
OUTGOING
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Response to HTTP request to test instance Xnb96j1HaFi8bgY
|
||||||||
|
2022-11-17 04:42:47 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2022-11-17 04:42:47 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||||
|
2022-11-17 04:42:47 |
REDIRECT-IN
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2022-11-17 04:42:47 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2022-11-17 04:42:47 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-11-17 04:42:47 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2022-11-17 04:42:47 | 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-11-17 04:42:47 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-11-17 04:42:47 |
WARNING
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response includes unexpected parameters. This may be because the authorization server supports protocol extensions the conformance suite is unaware of, but may also be because the server is implementing the specification incorrectly.
|
||
|
2022-11-17 04:42:47 | SUCCESS |
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-11-17 04:42:47 |
|
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
|
|
2022-11-17 04:42:47 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2022-11-17 04:42:47 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2022-11-17 04:42:47 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-11-17 04:42:47 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
Created token endpoint request
|
||||||
|
2022-11-17 04:42:47 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-11-17 04:42:47 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-11-17 04:42:47 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2022-11-17 04:42:47 |
|
AddCodeVerifierToTokenEndpointRequest
|
||||||||||||
|
2022-11-17 04:42:47 |
SUCCESS
|
RemoveMTLSCertificates
Removed mutual TLS authentication credentials
|
|
2022-11-17 04:42:47 |
|
CallTokenEndpointAllowingTLSFailure
HTTP request
|
||||||||
|
2022-11-17 04:42:48 |
RESPONSE
|
CallTokenEndpointAllowingTLSFailure
HTTP response
|
||||||||
|
2022-11-17 04:42:48 | SUCCESS |
CallTokenEndpointAllowingTLSFailure
Parsed token endpoint response
|
||||||
|
2022-11-17 04:42:48 | SUCCESS |
CheckTokenEndpointHttpStatus400or401
Token endpoint http status code was 400
|
|
2022-11-17 04:42:48 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2022-11-17 04:42:48 | SUCCESS |
CheckTokenEndpointReturnedInvalidClientGrantOrRequestError
Token endpoint returned error invalid_request and the http status code was 400
|
|
2022-11-17 04:42:48 | SUCCESS |
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
|
||
|
2022-11-17 04:42:48 | SUCCESS |
CheckErrorDescriptionFromTokenEndpointResponseErrorContainsCRLFTAB
token_endpoint_response 'error_description' field does not include CR/LF/TAB
|
||
|
2022-11-17 04:42:48 | SUCCESS |
ValidateErrorDescriptionFromTokenEndpointResponseError
token_endpoint_response error returned valid 'error_description' field
|
||
|
2022-11-17 04:42:48 | SUCCESS |
ValidateErrorUriFromTokenEndpointResponseError
token_endpoint_response returned valid 'error_uri' field
|
||
|
2022-11-17 04:42:48 |
FINISHED
|
fapi1-advanced-final-ensure-mtls-holder-of-key-required
Test has run to completion
|
||
|
2022-11-17 04:46:26 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|