Test Name | fapi-rw-id2-ensure-request-object-with-long-state |
---|---|
Variant | private_key_jwt, by_value, consumerdataright_au, plain_response |
Test ID | PfgThaND0S8tnon |
Created | 2020-08-27T21:00:54.842853Z |
Description | Initial 1.4-core-001 test plan (by_value - nonPAR) |
Test Version | 4.1.0 |
Test Owner | 6637101 https://gitlab.com |
Plan ID | KbvzUzkOkII3W |
Exported From | https://www.certification.openid.net |
Exported By | 6637101 https://gitlab.com |
Suite Version | 4.1.0 |
Exported | 2020-08-31 09:14:16 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 107 FAILURE 0 WARNING 0 REVIEW 1 INFO 5 |
2020-08-27 21:00:54 |
INFO
|
TEST-RUNNER
Test instance PfgThaND0S8tnon created
|
||||||||||||||
|
2020-08-27 21:00:54 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2020-08-27 21:00:54 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2020-08-27 21:00:55 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2020-08-27 21:00:55 |
|
GetDynamicServerConfiguration
Downloaded server configuration
|
||
|
2020-08-27 21:00:55 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2020-08-27 21:00:55 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2020-08-27 21:00:55 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
2020-08-27 21:00:55 |
|
FetchServerKeys
Fetching server key
|
||
|
2020-08-27 21:00:55 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2020-08-27 21:00:56 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2020-08-27 21:00:56 |
|
FetchServerKeys
Found JWK set string
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2020-08-27 21:00:56 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2020-08-27 21:00:56 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2020-08-27 21:00:56 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2020-08-27 21:00:56 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||
|
2020-08-27 21:00:56 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2020-08-27 21:00:56 | 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
|
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2020-08-27 21:00:56 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2020-08-27 21:00:56 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2020-08-27 21:00:56 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Found a key with alg PS256 or ES256
|
|
2020-08-27 21:00:56 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2020-08-27 21:00:56 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||
|
2020-08-27 21:00:56 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2020-08-27 21:00:56 | 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
|
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2020-08-27 21:00:56 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2020-08-27 21:00:56 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2020-08-27 21:00:56 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Found a key with alg PS256 or ES256
|
|
2020-08-27 21:00:56 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2020-08-27 21:00:56 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||
|
2020-08-27 21:00:56 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2020-08-27 21:00:56 |
|
fapi-rw-id2-ensure-request-object-with-long-state
Setup Done
|
|
Make request to authorization endpoint |
2020-08-27 21:00:56 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2020-08-27 21:00:56 | SUCCESS |
AddCdrAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
|
||
|
2020-08-27 21:00:56 | SUCCESS |
AddCdrSharingDurationClaimToAuthorizationEndpointRequest
Added sharing_duration claim to authorization_endpoint_request
|
||
|
2020-08-27 21:00:56 |
|
CreateRandomStateValue
Created state value
|
||||
|
2020-08-27 21:00:56 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||||
|
2020-08-27 21:00:56 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2020-08-27 21:00:56 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||||
|
2020-08-27 21:00:56 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||||
|
2020-08-27 21:00:56 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2020-08-27 21:00:56 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2020-08-27 21:00:56 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2020-08-27 21:00:56 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2020-08-27 21:00:56 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2020-08-27 21:00:56 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2020-08-27 21:00:56 |
SUCCESS
|
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2020-08-27 21:00:56 |
REDIRECT
|
fapi-rw-id2-ensure-request-object-with-long-state
Redirecting to authorization endpoint
|
||
|
2020-08-27 21:00:56 |
REVIEW
|
ExpectRequestObjectWithLongStateErrorPage
If the server does not return an invalid_request error back to the client, it must show an error page (saying server rejects long state at authorization endpoint - upload a screenshot of the error page) or must successfully authenticate and return the state correctly.
|
||
|
2020-08-27 21:01:11 |
INCOMING
|
fapi-rw-id2-ensure-request-object-with-long-state
Incoming HTTP request to test instance PfgThaND0S8tnon
|
||||||||||||||
|
2020-08-27 21:01:11 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2020-08-27 21:01:11 |
OUTGOING
|
fapi-rw-id2-ensure-request-object-with-long-state
Response to HTTP request to test instance PfgThaND0S8tnon
|
||||
|
2020-08-27 21:01:12 |
INCOMING
|
fapi-rw-id2-ensure-request-object-with-long-state
Incoming HTTP request to test instance PfgThaND0S8tnon
|
||||||||||||||
|
2020-08-27 21:01:12 |
OUTGOING
|
fapi-rw-id2-ensure-request-object-with-long-state
Response to HTTP request to test instance PfgThaND0S8tnon
|
||||
|
2020-08-27 21:01:12 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2020-08-27 21:01:12 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2020-08-27 21:01:12 |
REDIRECT-IN
|
fapi-rw-id2-ensure-request-object-with-long-state
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2020-08-27 21:01:12 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2020-08-27 21:01:12 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2020-08-27 21:01:12 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2020-08-27 21:01:12 | 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)
|
|
2020-08-27 21:01:12 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2020-08-27 21:01:12 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2020-08-27 21:01:12 | SUCCESS |
CheckMatchingStateParameter
State parameter correctly returned
|
||
|
2020-08-27 21:01:12 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2020-08-27 21:01:12 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2020-08-27 21:01:12 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-08-27 21:01:12 | SUCCESS |
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
|
||||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-08-27 21:01:12 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-08-27 21:01:12 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-08-27 21:01:12 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateIdTokenEncrypted
id_token was encrypted
|
|
2020-08-27 21:01:12 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-08-27 21:01:12 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-08-27 21:01:12 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-08-27 21:01:12 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
|
||||||
|
2020-08-27 21:01:12 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-08-27 21:01:12 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-08-27 21:01:12 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2020-08-27 21:01:12 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2020-08-27 21:01:13 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2020-08-27 21:01:13 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2020-08-27 21:01:13 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||
|
2020-08-27 21:01:13 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2020-08-27 21:01:13 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2020-08-27 21:01:13 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2020-08-27 21:01:13 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2020-08-27 21:01:13 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-08-27 21:01:13 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-08-27 21:01:13 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-08-27 21:01:13 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateIdTokenEncrypted
id_token was encrypted
|
|
2020-08-27 21:01:13 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-08-27 21:01:13 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-08-27 21:01:13 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2020-08-27 21:01:13 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-08-27 21:01:13 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-08-27 21:01:13 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Verify at_hash in the authorization endpoint id_token |
2020-08-27 21:01:13 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2020-08-27 21:01:13 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Resource server endpoint tests |
2020-08-27 21:01:13 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2020-08-27 21:01:13 | SUCCESS |
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2020-08-27 21:01:13 |
|
AddIpV4FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv4 address to resource endpoint request headers
|
||
|
2020-08-27 21:01:13 |
|
CreateRandomFAPIInteractionId
Created interaction ID
|
||
|
2020-08-27 21:01:13 |
|
AddFAPIInteractionIdToResourceEndpointRequest
Condition ran but did not log anything
|
|
2020-08-27 21:01:13 |
|
AddCdrXvToResourceEndpointRequest
Added x-v to resource_endpoint_request_headers
|
|
2020-08-27 21:01:13 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2020-08-27 21:01:14 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2020-08-27 21:01:14 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||
|
2020-08-27 21:01:14 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2020-08-27 21:01:14 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2020-08-27 21:01:14 | SUCCESS |
EnsureMatchingFAPIInteractionId
Interaction ID matched
|
||
|
2020-08-27 21:01:14 | SUCCESS |
EnsureResourceResponseReturnedJsonContentType
Response content type is JSON
|
||
|
2020-08-27 21:01:14 |
FINISHED
|
fapi-rw-id2-ensure-request-object-with-long-state
Test has run to completion
|
||
|
2020-08-27 21:01:23 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|