Test Name | fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails |
---|---|
Variant | client_auth_type=private_key_jwt, fapi_auth_request_method=by_value, fapi_profile=openbanking_brazil, fapi_response_mode=plain_response |
Test ID | uG1U98ZMVvGOX7D https://www.certification.openid.net/log-detail.html?public=true&log=uG1U98ZMVvGOX7D |
Created | 2021-10-15T23:10:27.071835Z |
Description | Banco Guanabara Authorization Server |
Test Version | 4.1.29 |
Test Owner | 112635894686881875468 https://accounts.google.com |
Plan ID | xrlCXRbUJedFT https://www.certification.openid.net/plan-detail.html?public=true&plan=xrlCXRbUJedFT |
Exported From | https://www.certification.openid.net |
Exported By | 10003713 https://gitlab.com |
Suite Version | 4.1.36 |
Exported | 2021-10-28 12:49:12 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 88 FAILURE 0 WARNING 0 REVIEW 1 INFO 1 |
2021-10-15 23:10:27 |
INFO
|
TEST-RUNNER
Test instance uG1U98ZMVvGOX7D created
|
||||||||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2021-10-15 23:10:27 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2021-10-15 23:10:27 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2021-10-15 23:10:27 |
|
GetDynamicServerConfiguration
Downloaded server configuration
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2021-10-15 23:10:27 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2021-10-15 23:10:27 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2021-10-15 23:10:27 |
|
FetchServerKeys
Fetching server key
|
||
|
2021-10-15 23:10:27 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2021-10-15 23:10:27 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2021-10-15 23:10:27 |
|
FetchServerKeys
Found JWK set string
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2021-10-15 23:10:27 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2021-10-15 23:10:27 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2021-10-15 23:10:27 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2021-10-15 23:10:27 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2021-10-15 23:10:27 | 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
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2021-10-15 23:10:27 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2021-10-15 23:10:27 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2021-10-15 23:10:27 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2021-10-15 23:10:27 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2021-10-15 23:10:27 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2021-10-15 23:10:27 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2021-10-15 23:10:27 | 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
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2021-10-15 23:10:27 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2021-10-15 23:10:27 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2021-10-15 23:10:27 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2021-10-15 23:10:27 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2021-10-15 23:10:27 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateClientPrivateKeysAreDifferent
Client signing JWKs have different thumbprints
|
||||
|
2021-10-15 23:10:27 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2021-10-15 23:10:27 |
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Setup Done
|
|
2021-10-15 23:10:27 |
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Payments scope present - protected resource assumed to be a payments endpoint
|
|
Use client_credentials grant to obtain Brazil consent |
2021-10-15 23:10:27 |
SUCCESS
|
CreateTokenEndpointRequestForClientCredentialsGrant
|
||||
|
2021-10-15 23:10:27 |
SUCCESS
|
SetPaymentsScopeOnTokenEndpointRequest
Set scope parameter to 'payments'
|
||||
|
2021-10-15 23:10:27 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2021-10-15 23:10:27 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2021-10-15 23:10:27 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2021-10-15 23:10:27 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2021-10-15 23:10:27 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||
|
2021-10-15 23:10:27 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2021-10-15 23:10:27 |
SUCCESS
|
CheckForAccessTokenValue
Found an access token
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2021-10-15 23:10:27 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2021-10-15 23:10:27 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2021-10-15 23:10:27 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
FAPIBrazilCreatePaymentConsentRequest
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
FAPIBrazilExtractClientMTLSCertificateSubject
Extracted subject from MTLS certificate
|
||||||
|
2021-10-15 23:10:27 | SUCCESS |
AddAudAsPaymentConsentUriToRequestObject
Added aud to request object claims
|
||
|
2021-10-15 23:10:27 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2021-10-15 23:10:27 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2021-10-15 23:10:27 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2021-10-15 23:10:27 |
SUCCESS
|
ValidateOrganizationJWKsPrivatePart
Valid organization JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
|
|
2021-10-15 23:10:27 |
SUCCESS
|
FAPIBrazilSignPaymentConsentRequest
Signed the request
|
||||||||
|
2021-10-15 23:10:27 |
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP request
|
||||||||||
|
2021-10-15 23:10:28 |
RESPONSE
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP response
|
||||||||
|
2021-10-15 23:10:28 |
SUCCESS
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
Consent endpoint response
|
||||||||
|
2021-10-15 23:10:28 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2021-10-15 23:10:28 |
SUCCESS
|
EnsureHttpStatusCodeIs201
payment consent endpoint returned the expected http status
|
||
|
2021-10-15 23:10:28 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2021-10-15 23:10:28 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2021-10-15 23:10:28 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2021-10-15 23:10:28 |
SUCCESS
|
FAPIBrazilGetKeystoreJwksUri
Determined organisation jwks uri
|
||
|
2021-10-15 23:10:28 |
|
FetchServerKeys
Fetching server key
|
||
|
2021-10-15 23:10:28 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2021-10-15 23:10:28 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2021-10-15 23:10:28 |
|
FetchServerKeys
Found JWK set string
|
||
|
2021-10-15 23:10:28 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2021-10-15 23:10:28 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2021-10-15 23:10:28 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2021-10-15 23:10:28 |
SUCCESS
|
ExtractConsentIdFromConsentEndpointResponse
Extracted the consent id
|
||
|
2021-10-15 23:10:28 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2021-10-15 23:10:28 |
SUCCESS
|
FAPIBrazilAddConsentIdToClientScope
Added scope of 'openid payments consent:urn:openbanking:f73f9420-406a-4b85-918b-fa4a9cb5f07a' to client's scope
|
||||||||
|
Make request to authorization endpoint |
2021-10-15 23:10:28 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2021-10-15 23:10:28 |
|
CreateRandomStateValue
Created state value
|
||||
|
2021-10-15 23:10:28 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2021-10-15 23:10:28 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2021-10-15 23:10:28 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2021-10-15 23:10:28 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||
|
2021-10-15 23:10:28 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2021-10-15 23:10:28 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2021-10-15 23:10:28 | SUCCESS |
AddExpValueIs70MinutesInFutureToRequestObject
Added invalid exp value to request object which is 70 minutes in the future
|
||||
|
2021-10-15 23:10:28 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2021-10-15 23:10:28 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2021-10-15 23:10:28 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2021-10-15 23:10:28 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2021-10-15 23:10:28 |
|
FAPIBrazilEncryptRequestObject
Encrypted the request object
|
||||||
|
2021-10-15 23:10:28 |
SUCCESS
|
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2021-10-15 23:10:28 |
REDIRECT
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Redirecting to authorization endpoint
|
||
|
2021-10-15 23:10:28 | REVIEW |
ExpectRequestObjectWithExpOver60ClaimErrorPage
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 using exp value that is more than 60 minutes after the nbf value in signed request object - upload a screenshot of the error page.
|
||
|
2021-10-15 23:10:33 |
INCOMING
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Incoming HTTP request to test instance uG1U98ZMVvGOX7D
|
||||||||||||||
|
2021-10-15 23:10:33 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2021-10-15 23:10:33 |
OUTGOING
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Response to HTTP request to test instance uG1U98ZMVvGOX7D
|
||||
|
2021-10-15 23:10:33 |
INCOMING
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Incoming HTTP request to test instance uG1U98ZMVvGOX7D
|
||||||||||||||
|
2021-10-15 23:10:33 |
OUTGOING
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Response to HTTP request to test instance uG1U98ZMVvGOX7D
|
||||||||
|
2021-10-15 23:10:33 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2021-10-15 23:10:33 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2021-10-15 23:10:33 |
REDIRECT-IN
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2021-10-15 23:10:33 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2021-10-15 23:10:33 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2021-10-15 23:10:33 |
SUCCESS
|
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2021-10-15 23:10:33 | SUCCESS |
EnsureErrorFromAuthorizationEndpointResponse
Authorization endpoint returned an error
|
||||||
|
2021-10-15 23:10:33 | SUCCESS |
CheckForUnexpectedParametersInErrorResponseFromAuthorizationEndpoint
error response includes only expected parameters
|
||||||
|
2021-10-15 23:10:33 | SUCCESS |
EnsureInvalidRequestObjectError
Authorization endpoint returned expected 'error' of 'invalid_request_object'
|
||
|
2021-10-15 23:10:33 |
FINISHED
|
fapi1-advanced-final-ensure-request-object-with-exp-over-60-fails
Test has run to completion
|
||
|
2021-10-15 23:10:36 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|