Test Name | fapi1-advanced-final-ensure-request-object-without-nbf-fails |
---|---|
Variant | client_auth_type=mtls, fapi_auth_request_method=pushed, fapi_profile=openbanking_ksa, fapi_response_mode=plain_response |
Test ID | 6ytKvPkWB3p1gy2 https://www.certification.openid.net/log-detail.html?public=true&log=6ytKvPkWB3p1gy2 |
Created | 2023-01-19T11:19:57.247601Z |
Description | Authlete automated FAPI1-Adv-Final with MTLS - SAMA/KSA OpenBanking |
Test Version | 5.0.11 |
Test Owner | ci https://www.certification.openid.net |
Plan ID | rG6hwigYCZoyz https://www.certification.openid.net/plan-detail.html?public=true&plan=rG6hwigYCZoyz |
Exported From | https://www.certification.openid.net |
Exported By | 1620690 https://gitlab.com |
Suite Version | 5.1.0 |
Exported | 2023-02-13 12:21:32 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 78 FAILURE 0 WARNING 0 REVIEW 1 INFO 3 |
2023-01-19 11:19:57 |
INFO
|
TEST-RUNNER
Test instance 6ytKvPkWB3p1gy2 created
|
||||||||||||||
|
2023-01-19 11:19:57 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2023-01-19 11:19:57 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2023-01-19 11:19:57 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2023-01-19 11:19:57 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2023-01-19 11:19:57 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2023-01-19 11:19:57 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2023-01-19 11:19:57 |
|
FetchServerKeys
Fetching server key
|
||
|
2023-01-19 11:19:57 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2023-01-19 11:19:57 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2023-01-19 11:19:57 |
|
FetchServerKeys
Found JWK set string
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2023-01-19 11:19:57 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2023-01-19 11:19:57 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2023-01-19 11:19:57 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2023-01-19 11:19:57 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||
|
2023-01-19 11:19:57 |
|
ValidateMTLSCertificatesHeader
No certificate authority found for MTLS
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2023-01-19 11:19:57 |
|
ExtractMTLSCertificatesFromConfiguration
No certificate authority found for MTLS
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||
|
2023-01-19 11:19:57 | 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
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2023-01-19 11:19:57 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2023-01-19 11:19:57 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2023-01-19 11:19:57 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2023-01-19 11:19:57 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2023-01-19 11:19:57 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||
|
2023-01-19 11:19:57 |
|
ValidateMTLSCertificates2Header
No certificate authority found for MTLS
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2023-01-19 11:19:57 |
|
ExtractMTLSCertificates2FromConfiguration
No certificate authority found for MTLS
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||
|
2023-01-19 11:19:57 | 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
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2023-01-19 11:19:57 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2023-01-19 11:19:57 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2023-01-19 11:19:57 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2023-01-19 11:19:57 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2023-01-19 11:19:57 |
SUCCESS
|
ValidateClientPrivateKeysAreDifferent
Client signing JWKs have different thumbprints
|
||||
|
2023-01-19 11:19:57 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||
|
2023-01-19 11:19:57 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2023-01-19 11:19:57 |
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Setup Done
|
|
Use client_credentials grant to obtain OpenBanking KSA consent scope |
2023-01-19 11:19:57 |
|
CreateTokenEndpointRequestForClientCredentialsGrant
Leaving off 'scope' parameter from token request
|
|
2023-01-19 11:19:57 |
SUCCESS
|
CreateTokenEndpointRequestForClientCredentialsGrant
Created token endpoint request
|
||
|
2023-01-19 11:19:57 |
SUCCESS
|
SetAccountScopeOnTokenEndpointRequest
Set scope parameter to accounts for OB testing
|
||||
|
2023-01-19 11:19:57 |
|
AddClientIdToTokenEndpointRequest
|
||||||
|
2023-01-19 11:19:57 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2023-01-19 11:19:58 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2023-01-19 11:19:58 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||
|
2023-01-19 11:19:58 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2023-01-19 11:19:58 |
SUCCESS
|
CheckForAccessTokenValue
Found an access token
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2023-01-19 11:19:58 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2023-01-19 11:19:58 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2023-01-19 11:19:58 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
CreateKSACreateAccountRequestRequest
|
||
|
2023-01-19 11:19:58 |
|
CallKSAAccountRequestsEndpointWithBearerToken
HTTP request
|
||||||||||
|
2023-01-19 11:19:58 |
RESPONSE
|
CallKSAAccountRequestsEndpointWithBearerToken
HTTP response
|
||||||||
|
2023-01-19 11:19:58 |
|
CallKSAAccountRequestsEndpointWithBearerToken
Account requests endpoint response
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
CallKSAAccountRequestsEndpointWithBearerToken
Parsed account requests endpoint response
|
||||
|
2023-01-19 11:19:58 |
SUCCESS
|
CheckIfAccountRequestsEndpointResponseError
No error from account requests endpoint
|
|
2023-01-19 11:19:58 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
ExtractAccountRequestIdFromKSAAccountRequestsEndpointResponse
Extracted the account request ID
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
FAPIKSASetClientScopeToAccountsConsentIdOpenId
Set client's scope to 'accounts:21541757519:5c6e8194-aa75-471b-a0bd-3c3d5b3bd6c8 openid'
|
||||||
|
Make request to authorization endpoint |
2023-01-19 11:19:58 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2023-01-19 11:19:58 |
|
CreateRandomStateValue
Created state value
|
||||
|
2023-01-19 11:19:58 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2023-01-19 11:19:58 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2023-01-19 11:19:58 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2023-01-19 11:19:58 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||
|
2023-01-19 11:19:58 |
|
CreateRandomCodeVerifier
Created code_verifier value
|
||
|
2023-01-19 11:19:58 |
|
CreateS256CodeChallenge
Created code_challenge value
|
||
|
2023-01-19 11:19:58 | SUCCESS |
AddCodeChallengeToAuthorizationEndpointRequest
Added code_challenge and code_challenge_method parameters to request
|
||||||||||||||||
|
2023-01-19 11:19:58 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2023-01-19 11:19:58 |
|
AddNbfToRequestObject
NOT adding nbf to request object
|
|
2023-01-19 11:19:58 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2023-01-19 11:19:58 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2023-01-19 11:19:58 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2023-01-19 11:19:58 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2023-01-19 11:19:58 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
AddClientIdToPAREndpointRequest
|
||||
|
2023-01-19 11:19:58 |
|
CallPAREndpoint
HTTP request
|
||||||||||
|
2023-01-19 11:19:58 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2023-01-19 11:19:58 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2023-01-19 11:19:58 | SUCCESS |
CheckPAREndpointResponse201WithNoError
pushed authorization request endpoint correct response.
|
|
2023-01-19 11:19:58 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2023-01-19 11:19:58 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2023-01-19 11:19:58 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:3n7Da3qaOTTYRndb76saPxQ_9H1PSIJia5rr1FzXSeo
|
|
2023-01-19 11:19:58 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2023-01-19 11:19:58 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2023-01-19 11:19:58 |
REDIRECT
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Redirecting to authorization endpoint
|
||
|
2023-01-19 11:19:58 | REVIEW |
ExpectRequestObjectMissingNbfClaimErrorPage
If the server does not return an invalid_request_object error back to the client, it must show an error page saying the request object is invalid as it is missing the 'nbf' claim - upload a screenshot of the error page.
|
||
|
2023-01-19 11:19:59 |
|
WebRunner
Scripted browser HTTP request
|
||||||
|
2023-01-19 11:19:59 |
INCOMING
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Incoming HTTP request to /test/a/fintech-authlete/callback
|
||||||||||||||||||||||
|
2023-01-19 11:19:59 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2023-01-19 11:19:59 |
OUTGOING
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Response to HTTP request to test instance 6ytKvPkWB3p1gy2
|
||||
|
2023-01-19 11:20:00 |
RESPONSE
|
WebRunner
Scripted browser HTTP response
|
||||||||
|
2023-01-19 11:20:00 |
INFO
|
WebRunner
Waiting
|
||||||||||||||||
|
2023-01-19 11:20:00 |
INCOMING
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Incoming HTTP request to /test/a/fintech-authlete/implicit/9HeZL3wnPrzJ87TnQfPk
|
||||||||||||||||||||||
|
2023-01-19 11:20:00 |
OUTGOING
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Response to HTTP request to test instance 6ytKvPkWB3p1gy2
|
||||||||
|
2023-01-19 11:20:00 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2023-01-19 11:20:00 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||||||
|
2023-01-19 11:20:00 |
REDIRECT-IN
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2023-01-19 11:20:00 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2023-01-19 11:20:00 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2023-01-19 11:20:00 |
SUCCESS
|
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2023-01-19 11:20:00 | SUCCESS |
EnsureErrorFromAuthorizationEndpointResponse
Authorization endpoint returned an error
|
||||||||||
|
2023-01-19 11:20:00 | SUCCESS |
CheckForUnexpectedParametersInErrorResponseFromAuthorizationEndpoint
error response includes only expected parameters
|
||||||||||
|
2023-01-19 11:20:00 | SUCCESS |
EnsureInvalidRequestInvalidRequestUriOrAccessDeniedError
Authorization endpoint returned an expected 'error'
|
||||
|
2023-01-19 11:20:00 |
INFO
|
WebRunner
Completed processing of webpage
|
||||||||||||
|
2023-01-19 11:20:00 |
FINISHED
|
fapi1-advanced-final-ensure-request-object-without-nbf-fails
Test has run to completion
|
||
|
2023-01-19 11:20:01 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|