Test Name | fapi-ciba-id1-ensure-mtls-holder-of-key-required |
---|---|
Variant | client_auth_type=mtls, ciba_mode=ping, fapi_profile=plain_fapi, client_registration=static_client |
Test ID | 7MbrxcfUBrNzN38 https://www.certification.openid.net/log-detail.html?public=true&log=7MbrxcfUBrNzN38 |
Created | 2022-01-07T17:03:35.955788Z |
Description | [Manual]FAPI-CIBA-ID1 Ping: Keycloak test with mtls client authentication (RequestObject:PS256/IDToken:PS256) |
Test Version | 4.1.38 |
Test Owner | 115310558227229560855 https://accounts.google.com |
Plan ID | P7PLM2yHFNQOy https://www.certification.openid.net/plan-detail.html?public=true&plan=P7PLM2yHFNQOy |
Exported From | https://www.certification.openid.net |
Exported By | 115310558227229560855 https://accounts.google.com |
Suite Version | 4.1.38 |
Exported | 2022-01-07 17:06:06 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 76 FAILURE 0 WARNING 0 REVIEW 0 INFO 2 |
2022-01-07 17:03:36 |
INFO
|
TEST-RUNNER
Test instance 7MbrxcfUBrNzN38 created
|
||||||||||||||
|
2022-01-07 17:03:36 |
SUCCESS
|
CreateCIBANotificationEndpointUri
Created ciba notification endpoint URI
|
||
|
2022-01-07 17:03:36 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-01-07 17:03:36 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-01-07 17:03:36 |
|
GetDynamicServerConfiguration
Downloaded server configuration
|
||
|
2022-01-07 17:03:36 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-01-07 17:03:36 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2022-01-07 17:03:36 |
SUCCESS
|
CheckCIBAServerConfiguration
Found required server configuration keys
|
||
|
2022-01-07 17:03:36 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-01-07 17:03:36 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-01-07 17:03:37 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-01-07 17:03:37 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-01-07 17:03:37 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-01-07 17:03:37 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-01-07 17:03:37 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-01-07 17:03:37 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
Verify First client: static client configuration |
2022-01-07 17:03:37 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||||
|
2022-01-07 17:03:37 | SUCCESS |
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
|
|
2022-01-07 17:03:37 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-01-07 17:03:37 |
|
ValidateMTLSCertificatesHeader
No certificate authority found for MTLS
|
|
2022-01-07 17:03:37 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2022-01-07 17:03:37 |
|
ExtractMTLSCertificatesFromConfiguration
No certificate authority found for MTLS
|
|
2022-01-07 17:03:37 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||
|
2022-01-07 17:03:37 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-01-07 17:03:37 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-01-07 17:03:37 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-01-07 17:03:37 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2022-01-07 17:03:37 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2022-01-07 17:03:37 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2022-01-07 17:03:37 |
|
fapi-ciba-id1-ensure-mtls-holder-of-key-required
Setup Done
|
|
2022-01-07 17:03:37 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
Authorization endpoint TLS test |
2022-01-07 17:03:37 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-01-07 17:03:38 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-01-07 17:03:38 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
Token Endpoint TLS test |
2022-01-07 17:03:38 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-01-07 17:03:38 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-01-07 17:03:39 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-01-07 17:03:39 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-01-07 17:03:39 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Userinfo Endpoint TLS test |
2022-01-07 17:03:39 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-01-07 17:03:40 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-01-07 17:03:40 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-01-07 17:03:40 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-01-07 17:03:40 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Registration Endpoint TLS test |
2022-01-07 17:03:41 | SUCCESS |
EnsureTLS12WithFAPICiphers
Server agreed to TLS 1.2
|
||||
|
2022-01-07 17:03:41 | SUCCESS |
DisallowTLS10
Server refused TLS 1.0 handshake
|
||||
|
2022-01-07 17:03:41 | SUCCESS |
DisallowTLS11
Server refused TLS 1.1 handshake
|
||||
|
2022-01-07 17:03:41 |
|
DisallowInsecureCipher
Trying to connect with a non-permitted cipher (this is not exhaustive: check the server configuration manually to verify conformance)
|
||||
|
2022-01-07 17:03:41 | SUCCESS |
DisallowInsecureCipher
The TLS handshake was rejected when trying to connect with disallowed ciphers.
|
||||
|
Call backchannel authentication endpoint |
2022-01-07 17:03:41 |
SUCCESS
|
CreateEmptyAuthorizationEndpointRequest
Created empty authorization endpoint request
|
|
2022-01-07 17:03:41 | SUCCESS |
AddScopeToAuthorizationEndpointRequest
Added scope of 'openid email' to authorization endpoint request
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddHintToAuthorizationEndpointRequest
Added hint to authorization endpoint request
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddBindingMessageToAuthorizationEndpointRequest
Added binding message to authorization endpoint request
|
||
|
2022-01-07 17:03:41 |
|
CreateRandomClientNotificationToken
Created token value
|
||||
|
2022-01-07 17:03:41 | SUCCESS |
AddClientNotificationTokenToAuthorizationEndpointRequest
Added client_notification_token 'o8NFGPBywVFNwggFteSU=' to authorization endpoint request
|
||||||||
|
2022-01-07 17:03:41 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddJtiToRequestObject
Added jti to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-01-07 17:03:41 | SUCCESS |
SignRequestObject
Signed the request object
|
||||||||
|
2022-01-07 17:03:41 | SUCCESS |
CreateBackchannelAuthenticationEndpointRequest
Created backchannel authentication endpoint request
|
|
2022-01-07 17:03:41 |
|
AddRequestToBackchannelAuthenticationEndpointRequest
|
||
|
2022-01-07 17:03:41 | SUCCESS |
EnsureServerConfigurationSupportsMTLS
Found supported MTLS method
|
||
|
2022-01-07 17:03:41 |
|
AddClientIdToBackchannelAuthenticationEndpointRequest
|
||||
|
2022-01-07 17:03:41 |
|
CallBackchannelAuthenticationEndpoint
HTTP request
|
||||||||||
|
2022-01-07 17:03:42 |
RESPONSE
|
CallBackchannelAuthenticationEndpoint
HTTP response
|
||||||||
|
2022-01-07 17:03:42 |
|
CallBackchannelAuthenticationEndpoint
Backchannel Authentication endpoint response
|
||
|
2022-01-07 17:03:42 |
SUCCESS
|
CallBackchannelAuthenticationEndpoint
Parsed backchannel authentication endpoint response
|
||||||
|
2022-01-07 17:03:42 | SUCCESS |
CheckBackchannelAuthenticationEndpointHttpStatus200
Backchannel authentication endpoint http status code was 200
|
|
2022-01-07 17:03:42 | SUCCESS |
CheckBackchannelAuthenticationEndpointContentType
Backchannel authentication endpoint Content-Type: header is application/json
|
|
2022-01-07 17:03:42 |
SUCCESS
|
CheckIfBackchannelAuthenticationEndpointResponseError
No error from Backchannel authentication endpoint
|
|
2022-01-07 17:03:42 | SUCCESS |
ValidateAuthenticationRequestId
auth_req_id passed all validation checks
|
|
2022-01-07 17:03:42 | SUCCESS |
EnsureMinimumAuthenticationRequestIdLength
auth_req_id is of sufficient length
|
||||
|
2022-01-07 17:03:42 | SUCCESS |
EnsureMinimumAuthenticationRequestIdEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-01-07 17:03:42 | SUCCESS |
EnsureRecommendedAuthenticationRequestIdEntropy
Calculated entropy
|
||||||
|
2022-01-07 17:03:42 | SUCCESS |
ValidateAuthenticationRequestIdExpiresIn
expires_in passed all validation checks
|
||
|
2022-01-07 17:03:42 | SUCCESS |
ValidateAuthenticationRequestIdInterval
interval passed all validation checks
|
||
|
2022-01-07 17:03:42 |
SUCCESS
|
RemoveMTLSCertificates
Removed mutual TLS authentication credentials
|
|
2022-01-07 17:03:42 |
SUCCESS
|
CreateTokenEndpointRequestForCIBAGrant
|
||
|
2022-01-07 17:03:42 |
|
AddAuthReqIdToTokenEndpointRequest
|
||||
|
2022-01-07 17:03:42 |
|
AddClientIdToTokenEndpointRequest
|
||||||
|
2022-01-07 17:03:42 |
|
CallTokenEndpointAllowingTLSFailure
HTTP request
|
||||||||
|
2022-01-07 17:03:43 |
RESPONSE
|
CallTokenEndpointAllowingTLSFailure
HTTP response
|
||||||||
|
2022-01-07 17:03:43 | SUCCESS |
CallTokenEndpointAllowingTLSFailure
Parsed token endpoint response
|
||||
|
2022-01-07 17:03:43 | SUCCESS |
CheckTokenEndpointHttpStatus400or401
Token endpoint http status code was 400
|
|
2022-01-07 17:03:43 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2022-01-07 17:03:43 | SUCCESS |
CheckTokenEndpointHttpStatusIs400Allowing401ForInvalidClientError
Token endpoint http status code was 400 for error 'invalid_client'
|
|
2022-01-07 17:03:43 | SUCCESS |
CheckErrorFromTokenEndpointResponseErrorInvalidClientOrInvalidRequest
Token Endpoint response error returned expected 'error' of 'invalid_client'
|
||
|
2022-01-07 17:03:43 | SUCCESS |
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
|
||
|
2022-01-07 17:03:43 | SUCCESS |
CheckErrorDescriptionFromTokenEndpointResponseErrorContainsCRLFTAB
token_endpoint_response 'error_description' field does not include CR/LF/TAB
|
||
|
2022-01-07 17:03:43 | SUCCESS |
ValidateErrorDescriptionFromTokenEndpointResponseError
token_endpoint_response error returned valid 'error_description' field
|
||
|
2022-01-07 17:03:43 | SUCCESS |
ValidateErrorUriFromTokenEndpointResponseError
token_endpoint_response did not include optional 'error_uri' field
|
|
2022-01-07 17:03:43 |
|
CallAutomatedCibaApprovalEndpoint
If your server supports automated testing, you can set 'automated_ciba_approval_url' in your configuration to a url like https://cibasim.example.com/action?token={auth_req_id}&type={action} (auth_req_id will be automatically substituted for the current auth_req_id by the conformance suite, action will be allow or deny depending on the test)
|
|
2022-01-07 17:04:13 |
INCOMING
|
fapi-ciba-id1-ensure-mtls-holder-of-key-required
Incoming HTTP request to test instance 7MbrxcfUBrNzN38
|
||||||||||||||||||||
|
2022-01-07 17:04:13 |
OUTGOING
|
fapi-ciba-id1-ensure-mtls-holder-of-key-required
Response to HTTP request to test instance 7MbrxcfUBrNzN38
|
||||||||
|
2022-01-07 17:04:13 |
FINISHED
|
fapi-ciba-id1-ensure-mtls-holder-of-key-required
Test has run to completion
|
||
|
Unregister dynamically registered client |
2022-01-07 17:04:13 |
INFO
|
UnregisterDynamicallyRegisteredClient
Skipped evaluation due to missing required string: registration_client_uri
|
||
|