Test Name | fapi1-advanced-final |
---|---|
Variant | client_auth_type=private_key_jwt, fapi_auth_request_method=pushed, fapi_profile=openbanking_brazil, fapi_response_mode=plain_response |
Test ID | JwH4C9vEQx5Wmin https://www.certification.openid.net/log-detail.html?public=true&log=JwH4C9vEQx5Wmin |
Created | 2022-02-11T14:21:51.195435Z |
Description | QI SCD S.A. Open Finance |
Test Version | 4.1.41 |
Test Owner | 112635894686881875468 https://accounts.google.com |
Plan ID | kMRCThBUAjnYD https://www.certification.openid.net/plan-detail.html?public=true&plan=kMRCThBUAjnYD |
Exported From | https://www.certification.openid.net |
Exported By | 104230347579253160531 https://accounts.google.com |
Suite Version | 4.1.41 |
Exported | 2022-02-25 19:14:28 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 345 FAILURE 0 WARNING 0 REVIEW 0 INFO 21 |
2022-02-11 14:21:51 |
INFO
|
TEST-RUNNER
Test instance JwH4C9vEQx5Wmin created
|
||||||||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2022-02-11 14:21:51 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-02-11 14:21:51 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-02-11 14:21:51 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2022-02-11 14:21:51 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2022-02-11 14:21:51 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:51 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-02-11 14:21:51 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:51 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-02-11 14:21:51 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-02-11 14:21:51 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-02-11 14:21:51 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-02-11 14:21:51 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2022-02-11 14:21:51 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-02-11 14:21:51 | 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-02-11 14:21:51 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-02-11 14:21:51 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-02-11 14:21:51 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-02-11 14:21:51 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-02-11 14:21:51 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-02-11 14:21:51 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2022-02-11 14:21:51 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2022-02-11 14:21:51 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2022-02-11 14:21:51 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-02-11 14:21:51 | 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-02-11 14:21:51 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-02-11 14:21:51 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-02-11 14:21:51 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-02-11 14:21:51 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-02-11 14:21:51 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-02-11 14:21:51 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2022-02-11 14:21:51 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2022-02-11 14:21:51 |
SUCCESS
|
ValidateClientPrivateKeysAreDifferent
Client signing JWKs have different thumbprints
|
||||
|
2022-02-11 14:21:51 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2022-02-11 14:21:51 |
SUCCESS
|
FAPIBrazilCheckDirectoryKeystore
Directory keystore matches the Brazil directory.
|
||
|
2022-02-11 14:21:51 |
|
fapi1-advanced-final
Setup Done
|
|
2022-02-11 14:21:51 |
|
fapi1-advanced-final
Payments scope present - protected resource assumed to be a payments endpoint
|
|
2022-02-11 14:21:51 |
SUCCESS
|
FAPIBrazilSetPaymentDateToToday
Successfully added current date ('2022-02-11') to payment consent payload
|
||||||||||||
|
Use client_credentials grant to obtain Brazil consent |
2022-02-11 14:21:51 |
SUCCESS
|
CreateTokenEndpointRequestForClientCredentialsGrant
|
||||
|
2022-02-11 14:21:51 |
SUCCESS
|
SetPaymentsScopeOnTokenEndpointRequest
Set scope parameter to 'payments'
|
||||
|
2022-02-11 14:21:51 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:21:51 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2022-02-11 14:21:51 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:21:51 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-02-11 14:21:51 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||
|
2022-02-11 14:21:51 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-02-11 14:21:51 |
SUCCESS
|
CheckForAccessTokenValue
Found an access token
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-02-11 14:21:51 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-02-11 14:21:51 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-02-11 14:21:51 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
FAPIBrazilCreatePaymentConsentRequest
|
||
|
2022-02-11 14:21:51 |
SUCCESS
|
FAPIBrazilExtractClientMTLSCertificateSubject
Extracted subject from MTLS certificate
|
||||||
|
2022-02-11 14:21:51 | SUCCESS |
AddAudAsPaymentConsentUriToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:21:51 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-02-11 14:21:51 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:51 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:51 |
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
|
|
2022-02-11 14:21:51 |
SUCCESS
|
FAPIBrazilSignPaymentConsentRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:51 |
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP request
|
||||||||||
|
2022-02-11 14:21:52 |
RESPONSE
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP response
|
||||||||
|
2022-02-11 14:21:52 |
SUCCESS
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
Consent endpoint response
|
||||||||
|
2022-02-11 14:21:52 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:21:52 |
SUCCESS
|
EnsureHttpStatusCodeIs201
payment consent endpoint returned the expected http status
|
||||
|
2022-02-11 14:21:52 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:21:52 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:21:52 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
FAPIBrazilGetKeystoreJwksUri
Determined organisation jwks uri
|
||
|
2022-02-11 14:21:52 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:52 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:21:52 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:52 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:52 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:21:52 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:52 |
SUCCESS
|
ExtractConsentIdFromConsentEndpointResponse
Extracted the consent id
|
||
|
2022-02-11 14:21:52 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
FAPIBrazilAddConsentIdToClientScope
Added scope of 'openid payments consent:urn:qitech:3abe9c10-37e0-4f66-a866-fce4d77439f2' to client's scope
|
||||||||
|
Make request to authorization endpoint |
2022-02-11 14:21:52 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-02-11 14:21:52 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-02-11 14:21:52 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2022-02-11 14:21:52 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-02-11 14:21:52 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2022-02-11 14:21:52 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||
|
2022-02-11 14:21:52 |
|
CreateRandomCodeVerifier
Created code_verifier value
|
||
|
2022-02-11 14:21:52 |
|
CreateS256CodeChallenge
Created code_challenge value
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddCodeChallengeToAuthorizationEndpointRequest
Added code_challenge and code_challenge_method parameters to request
|
||||||||||||||||
|
2022-02-11 14:21:52 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-02-11 14:21:52 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2022-02-11 14:21:52 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:21:52 | SUCCESS |
UpdateClientAuthenticationAssertionClaimsWithISSAud
Updated audience in client assertion claims
|
||||||||||||
|
2022-02-11 14:21:52 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
AddClientAssertionToPAREndpointParameters
Added client assertion to request
|
||
|
2022-02-11 14:21:52 |
|
CallPAREndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:21:52 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2022-02-11 14:21:52 | SUCCESS |
CallPAREndpoint
Storing pushed_authorization_endpoint_response_http_status 201
|
|
2022-02-11 14:21:52 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2022-02-11 14:21:52 | SUCCESS |
CheckIfPAREndpointResponseError
pushed authorization request endpoint correct response.
|
|
2022-02-11 14:21:52 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2022-02-11 14:21:52 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2022-02-11 14:21:52 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:YfvQw-2OMR9Hhd9Rs2cPa
|
|
2022-02-11 14:21:52 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:21:52 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2022-02-11 14:21:52 |
REDIRECT
|
fapi1-advanced-final
Redirecting to authorization endpoint
|
||
|
2022-02-11 14:21:55 |
INCOMING
|
fapi1-advanced-final
Incoming HTTP request to /test/a/qitech/callback
|
||||||||||||||||||||
|
2022-02-11 14:21:55 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-02-11 14:21:55 |
OUTGOING
|
fapi1-advanced-final
Response to HTTP request to test instance JwH4C9vEQx5Wmin
|
||||
|
2022-02-11 14:21:56 |
INCOMING
|
fapi1-advanced-final
Incoming HTTP request to /test/a/qitech/implicit/HzEkU8QCwd1Oc79uFX4g
|
||||||||||||||||||||
|
2022-02-11 14:21:56 |
OUTGOING
|
fapi1-advanced-final
Response to HTTP request to test instance JwH4C9vEQx5Wmin
|
||||||||
|
2022-02-11 14:21:56 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2022-02-11 14:21:56 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2022-02-11 14:21:56 |
REDIRECT-IN
|
fapi1-advanced-final
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2022-02-11 14:21:56 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2022-02-11 14:21:56 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-02-11 14:21:56 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2022-02-11 14:21:56 | 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-02-11 14:21:56 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-02-11 14:21:56 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-02-11 14:21:56 |
|
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
|
|
2022-02-11 14:21:56 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:56 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-02-11 14:21:56 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-02-11 14:21:56 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||||
|
2022-02-11 14:21:56 | INFO |
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:21:56 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
Call token endpoint |
2022-02-11 14:21:56 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
|
||||||
|
2022-02-11 14:21:56 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:21:56 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:21:56 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2022-02-11 14:21:56 |
|
AddCodeVerifierToTokenEndpointRequest
|
||||||||||||
|
2022-02-11 14:21:56 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:21:56 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-02-11 14:21:56 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2022-02-11 14:21:56 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||
|
Verify token endpoint response |
2022-02-11 14:21:56 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-02-11 14:21:56 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2022-02-11 14:21:56 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-02-11 14:21:56 | SUCCESS |
FAPIBrazilValidateExpiresIn
expires_in no greater than 900 seconds and no less than 300 seconds
|
||
|
2022-02-11 14:21:56 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:56 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-02-11 14:21:56 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-02-11 14:21:56 | SUCCESS |
FAPIBrazilValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||||
|
2022-02-11 14:21:56 | INFO |
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:21:56 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:21:56 | INFO |
ExtractCHash
Couldn't find c_hash in ID token
|
|
2022-02-11 14:21:56 | INFO |
ExtractSHash
Couldn't find s_hash in ID token
|
|
2022-02-11 14:21:56 | SUCCESS |
ExtractAtHash
Extracted at_hash from ID Token
|
||||
|
2022-02-11 14:21:56 | INFO |
ValidateCHash
Skipped evaluation due to missing required object: c_hash
|
||||
|
2022-02-11 14:21:56 | INFO |
ValidateSHash
Skipped evaluation due to missing required object: s_hash
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
ValidateAtHash
at_hash validated successfully
|
||||||
|
Verify at_hash in the authorization endpoint id_token |
2022-02-11 14:21:56 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2022-02-11 14:21:56 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Accounts request endpoint TLS test |
2022-02-11 14:21:56 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-02-11 14:21:56 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Accounts resource endpoint TLS test |
2022-02-11 14:21:56 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-02-11 14:21:56 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-02-11 14:21:56 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-02-11 14:21:57 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Resource server endpoint tests |
2022-02-11 14:21:57 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2022-02-11 14:21:57 |
|
AddIpV4FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv4 address to resource endpoint request headers
|
||
|
2022-02-11 14:21:57 |
|
CreateRandomFAPIInteractionId
Created interaction ID
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddFAPIInteractionIdToResourceEndpointRequest
Added x-fapi-interaction-id to resource endpoint request headers
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetApplicationJwtContentTypeHeaderForResourceEndpointRequest
Set Content-Type header
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetApplicationJwtAcceptHeaderForResourceEndpointRequest
Set Accept header
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetResourceMethodToPost
Set protected resource access method to POST
|
|
2022-02-11 14:21:57 |
SUCCESS
|
CreatePaymentRequestEntityClaims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddAudAsPaymentInitiationUriToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:21:57 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:57 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2022-02-11 14:21:57 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2022-02-11 14:21:57 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||||
|
2022-02-11 14:21:57 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2022-02-11 14:21:57 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-02-11 14:21:57 | SUCCESS |
EnsureMatchingFAPIInteractionId
Interaction ID matched
|
||
|
2022-02-11 14:21:57 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:21:57 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-02-11 14:21:57 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:21:57 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:21:57 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:21:57 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:57 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:21:57 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:57 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:57 |
|
DisallowAccessTokenInQuery
HTTP request
|
||||||||||
|
2022-02-11 14:21:57 |
RESPONSE
|
DisallowAccessTokenInQuery
HTTP response
|
||||||||
|
2022-02-11 14:21:57 | SUCCESS |
DisallowAccessTokenInQuery
Resource server refused request
|
||||
|
2022-02-11 14:21:57 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:57 |
|
AddIpV6FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv6 address to resource endpoint request headers
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetApplicationJwtCharsetUtf8ContentTypeHeaderForResourceEndpointRequest
Set Content-Type header
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetApplicationJwtCharsetUtf8AcceptHeaderForResourceEndpointRequest
Set Accept header
|
||
|
2022-02-11 14:21:57 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2022-02-11 14:21:57 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2022-02-11 14:21:57 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||||
|
2022-02-11 14:21:57 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:21:57 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-02-11 14:21:57 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:21:57 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:21:57 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:21:57 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:57 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:57 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:21:57 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:57 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:57 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:57 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:57 |
SUCCESS
|
SetPermissiveAcceptHeaderForResourceEndpointRequest
Set Accept header
|
||
|
2022-02-11 14:21:58 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2022-02-11 14:21:58 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2022-02-11 14:21:58 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||||
|
2022-02-11 14:21:58 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:21:58 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-02-11 14:21:58 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:21:58 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:21:58 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:21:58 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:58 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:21:58 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:58 |
SUCCESS
|
ClearAcceptHeaderForResourceEndpointRequest
Cleared custom Accept header
|
|
Second client: Setup |
2022-02-11 14:21:58 | SUCCESS |
AddRedirectUriQuerySuffix
Created redirect URI query suffix to test that query sections in the registered redirect url are handled correctly. The redirect url, including this suffix, must be registered for the client as per http://openid.net/certification/fapi_op_testing/
|
||
|
2022-02-11 14:21:58 |
|
CreateRedirectUri
Appending suffix to redirect URI
|
||
|
2022-02-11 14:21:58 | SUCCESS |
CreateRedirectUri
Created redirect URI
|
||
|
2022-02-11 14:21:58 |
|
fapi1-advanced-final
Payments scope present - protected resource assumed to be a payments endpoint
|
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilSetPaymentDateToToday
Successfully added current date ('2022-02-11') to payment consent payload
|
||||||||||||
|
Second client: Use client_credentials grant to obtain Brazil consent |
2022-02-11 14:21:58 |
SUCCESS
|
CreateTokenEndpointRequestForClientCredentialsGrant
|
||||
|
2022-02-11 14:21:58 |
SUCCESS
|
SetPaymentsScopeOnTokenEndpointRequest
Set scope parameter to 'payments'
|
||||
|
2022-02-11 14:21:58 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:21:58 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2022-02-11 14:21:58 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:21:58 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-02-11 14:21:58 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-02-11 14:21:58 |
SUCCESS
|
CheckForAccessTokenValue
Found an access token
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-02-11 14:21:58 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-02-11 14:21:58 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-02-11 14:21:58 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilCreatePaymentConsentRequest
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilExtractClientMTLSCertificateSubject
Extracted subject from MTLS certificate
|
||||||
|
2022-02-11 14:21:58 | SUCCESS |
AddAudAsPaymentConsentUriToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:21:58 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:58 |
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
|
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilSignPaymentConsentRequest
Signed the request
|
||||||||
|
2022-02-11 14:21:58 |
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP request
|
||||||||||
|
2022-02-11 14:21:58 |
RESPONSE
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP response
|
||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
Consent endpoint response
|
||||||||
|
2022-02-11 14:21:58 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:21:58 |
SUCCESS
|
EnsureHttpStatusCodeIs201
payment consent endpoint returned the expected http status
|
||||
|
2022-02-11 14:21:58 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:21:58 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:21:58 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilGetKeystoreJwksUri
Determined organisation jwks uri
|
||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:21:58 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:21:58 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:21:58 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:21:58 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:21:58 |
SUCCESS
|
ExtractConsentIdFromConsentEndpointResponse
Extracted the consent id
|
||
|
2022-02-11 14:21:58 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
FAPIBrazilAddConsentIdToClientScope
Added scope of 'openid payments consent:urn:qitech:c2e26dd2-d092-4fab-8538-c51dff26f7e0' to client's scope
|
||||||||
|
Second client: Make request to authorization endpoint |
2022-02-11 14:21:58 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-02-11 14:21:58 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-02-11 14:21:58 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2022-02-11 14:21:58 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-02-11 14:21:58 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||
|
2022-02-11 14:21:58 |
|
CreateRandomCodeVerifier
Created code_verifier value
|
||
|
2022-02-11 14:21:58 |
|
CreateS256CodeChallenge
Created code_challenge value
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddCodeChallengeToAuthorizationEndpointRequest
Added code_challenge and code_challenge_method parameters to request
|
||||||||||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-02-11 14:21:58 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2022-02-11 14:21:58 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2022-02-11 14:21:58 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:21:58 | SUCCESS |
UpdateClientAuthenticationAssertionClaimsWithISSAud
Updated audience in client assertion claims
|
||||||||||||
|
2022-02-11 14:21:59 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:21:59 |
SUCCESS
|
AddClientAssertionToPAREndpointParameters
Added client assertion to request
|
||
|
2022-02-11 14:21:59 |
|
CallPAREndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:21:59 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2022-02-11 14:21:59 | SUCCESS |
CallPAREndpoint
Storing pushed_authorization_endpoint_response_http_status 201
|
|
2022-02-11 14:21:59 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2022-02-11 14:21:59 | SUCCESS |
CheckIfPAREndpointResponseError
pushed authorization request endpoint correct response.
|
|
2022-02-11 14:21:59 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2022-02-11 14:21:59 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2022-02-11 14:21:59 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:Djtil3lkiG9Ueg8J8a8JL
|
|
2022-02-11 14:21:59 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:21:59 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2022-02-11 14:21:59 |
REDIRECT
|
fapi1-advanced-final
Redirecting to authorization endpoint
|
||
|
2022-02-11 14:22:02 |
INCOMING
|
fapi1-advanced-final
Incoming HTTP request to /test/a/qitech/callback
|
||||||||||||||||||||
|
2022-02-11 14:22:02 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-02-11 14:22:02 |
OUTGOING
|
fapi1-advanced-final
Response to HTTP request to test instance JwH4C9vEQx5Wmin
|
||||
|
2022-02-11 14:22:02 |
INCOMING
|
fapi1-advanced-final
Incoming HTTP request to /test/a/qitech/implicit/ALM0LC4kmG1sUAYTkaCg
|
||||||||||||||||||||
|
2022-02-11 14:22:02 |
OUTGOING
|
fapi1-advanced-final
Response to HTTP request to test instance JwH4C9vEQx5Wmin
|
||||||||
|
2022-02-11 14:22:02 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2022-02-11 14:22:02 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2022-02-11 14:22:02 |
REDIRECT-IN
|
fapi1-advanced-final
Authorization endpoint response captured
|
||||||||||
|
Second client: Verify authorization endpoint response |
2022-02-11 14:22:02 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2022-02-11 14:22:02 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-02-11 14:22:02 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
||||
|
2022-02-11 14:22:02 | 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-02-11 14:22:02 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-02-11 14:22:02 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2022-02-11 14:22:02 | SUCCESS |
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-02-11 14:22:02 |
|
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
|
|
2022-02-11 14:22:02 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2022-02-11 14:22:02 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2022-02-11 14:22:02 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:22:02 | SUCCESS |
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:22:02 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-02-11 14:22:02 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-02-11 14:22:02 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-02-11 14:22:02 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||||
|
2022-02-11 14:22:02 | INFO |
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:22:02 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:22:02 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2022-02-11 14:22:02 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2022-02-11 14:22:02 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
Second client: Call token endpoint |
2022-02-11 14:22:02 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
|
||||||
|
2022-02-11 14:22:02 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-02-11 14:22:02 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-02-11 14:22:02 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2022-02-11 14:22:02 |
|
AddCodeVerifierToTokenEndpointRequest
|
||||||||||||
|
2022-02-11 14:22:02 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-02-11 14:22:03 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-02-11 14:22:03 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||
|
Second client: Verify token endpoint response |
2022-02-11 14:22:03 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-02-11 14:22:03 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-02-11 14:22:03 | SUCCESS |
FAPIBrazilValidateExpiresIn
expires_in no greater than 900 seconds and no less than 300 seconds
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2022-02-11 14:22:03 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:22:03 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-02-11 14:22:03 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-02-11 14:22:03 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-02-11 14:22:03 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-02-11 14:22:03 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-02-11 14:22:03 | SUCCESS |
FAPIBrazilValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||||
|
2022-02-11 14:22:03 | INFO |
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:22:03 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-02-11 14:22:03 | INFO |
ExtractCHash
Couldn't find c_hash in ID token
|
|
2022-02-11 14:22:03 | INFO |
ExtractSHash
Couldn't find s_hash in ID token
|
|
2022-02-11 14:22:03 | SUCCESS |
ExtractAtHash
Extracted at_hash from ID Token
|
||||
|
2022-02-11 14:22:03 | INFO |
ValidateCHash
Skipped evaluation due to missing required object: c_hash
|
||||
|
2022-02-11 14:22:03 | INFO |
ValidateSHash
Skipped evaluation due to missing required object: s_hash
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateAtHash
at_hash validated successfully
|
||||||
|
Second client: Verify at_hash in the authorization endpoint id_token |
2022-02-11 14:22:03 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2022-02-11 14:22:03 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Second client: Resource server endpoint tests |
2022-02-11 14:22:03 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
SetApplicationJwtContentTypeHeaderForResourceEndpointRequest
Set Content-Type header
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
SetApplicationJwtAcceptHeaderForResourceEndpointRequest
Set Accept header
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
SetResourceMethodToPost
Set protected resource access method to POST
|
|
2022-02-11 14:22:03 |
SUCCESS
|
CreatePaymentRequestEntityClaims
|
||
|
2022-02-11 14:22:03 | SUCCESS |
AddAudAsPaymentInitiationUriToRequestObject
Added aud to request object claims
|
||
|
2022-02-11 14:22:03 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-02-11 14:22:03 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-02-11 14:22:03 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-02-11 14:22:03 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2022-02-11 14:22:03 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2022-02-11 14:22:03 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||||
|
2022-02-11 14:22:03 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-02-11 14:22:03 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-02-11 14:22:03 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-02-11 14:22:03 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-02-11 14:22:03 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-02-11 14:22:03 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-02-11 14:22:03 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-02-11 14:22:03 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-02-11 14:22:03 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-02-11 14:22:03 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-02-11 14:22:03 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-02-11 14:22:03 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
Try Client1's MTLS client certificate with Client2's access token |
2022-02-11 14:22:03 |
|
CallProtectedResourceWithBearerTokenExpectingError
HTTP request
|
||||||||||
|
2022-02-11 14:22:03 |
RESPONSE
|
CallProtectedResourceWithBearerTokenExpectingError
HTTP response
|
||||||||
|
2022-02-11 14:22:03 | SUCCESS |
CallProtectedResourceWithBearerTokenExpectingError
Resource endpoint returned error
|
||||||
|
2022-02-11 14:22:03 |
FINISHED
|
fapi1-advanced-final
Test has run to completion
|
||
|
2022-02-11 14:22:04 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|