Package swiss.trustbroker.config.dto
Class SecurityChecks
java.lang.Object
swiss.trustbroker.config.dto.SecurityChecks
Class controls various security checks on a global level.
Global checks enabled per default.
During development or integration it might be necessary to have a temporary bail-out.
Some of the security checks should be done per RP or CP in which case they need to be configured in the corresponding XML.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSecurityChecks(boolean requireSignedAuthnRequest, boolean redirectBindingSignatureWarning, boolean requireSignedArtifactResolve, boolean requireSignedArtifactResponse, boolean requireSignedResponse, boolean requireSignedAssertion, boolean validateAuthnRequest, boolean enforceQoaIfMissing, boolean validateSecurityTokenRequest, boolean validateSecurityTokenRequestAssertion, String wss4jChecks, boolean validateXmlSchema, boolean validateHttpHeaders, boolean validateAcs, boolean validateRelayState, boolean validateAudience, boolean requireAudienceRestrictionForBearerSubjectConfirmation, boolean requireAudienceRestriction, boolean validateResponseIssuer, boolean validateInResponseTo, boolean requireSubjectConfirmation, boolean validateSubjectConfirmationTimestamp, boolean validateSubjectConfirmationInResponseTo, boolean validateSubjectConfirmationRecipient, boolean validateLogoutRequest, long notBeforeToleranceSec, long notOnOrAfterToleranceSec, long renewNotOnOrAfterToleranceRenewSec, long messageLifetimeSec, long tokenLifetimeSec, String acceptSubjectConfirmationMethods, boolean saveStateOnValidationFailure, boolean doSignAssertions, boolean doSignSuccessResponse, boolean doSignFailureResponse, boolean doSignArtifactResolve, boolean doSignArtifactResponse, boolean forceCpAuthentication, boolean validateRequestIssueInstant, boolean validateRequestCondition, boolean validateResponseIssueInstant, boolean validateAssertionIssueInstant, boolean validateAuthnStatementIssueInstant, List<String> allowedSignatureAlgorithms, boolean enforceRequestSignatureAlgorithms, boolean enforceResponseSignatureAlgorithms, boolean enforceAssertionSignatureAlgorithms, boolean enforceArtifactSignatureAlgorithms) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()protected booleanbooleanAcceptable subject confirmation methods.List of allowed message signature algorithms.longIssueInstant timestamp check should accept Assertion.Condition.NotValidOnOrAfter over WS-Trust.longAny timestamp tolerance NTP drift tolerance.longAny timestamp clock/transfer tolerance.longDuration after expiration of an assertion for which WS-Trust RENEW request is accepted.longUsed for Condition.notOnOrAfterSeconds and SubjectConfirmationData.notOnOrAfterSeconds.WSS4J checks according to WSS4J actions.inthashCode()booleanSign outgoing ArtifactResolve messages.booleanSign outgoing ArtifactResponse messages.booleanSign Assertion in outgoing messages.booleanSign outgoing Response messages with failure state.booleanSign outgoing Response messages with success state.booleanEnforce allowed message signature algorithms for Artifact Resolution.booleanEnforce allowed message signature algorithms for Assertions.booleanReject request without getAuthnContextClassRef or Qoa configuration
Default: falsebooleanEnforce allowed message signature algorithms for AuthnRequests.booleanEnforce allowed message signature algorithms for Responses.booleanEnforce CP authentication via corresponding OIDC/SAML flags.booleanDeprecated.booleanEnforce presence and validation of audience restriction for other subject confirmations (e.g.booleanEnforce presence and validation of audience restriction for bearer subject confirmations.booleanReject unsigned ArtifactResolve?
Default: truebooleanReject unsigned ArtifactResponse?
Default: truebooleanReject unsigned Assertions?
Default: truebooleanReject unsigned AuthnRequest?
Default: truebooleanReject unsigned Response?
Default: truebooleanIn WS-Trust RST case we per default require a valid subject confirmation.booleanRegister state in DB even when validation fails.booleanCheck assertion consumer URL or HTTP Referer against configured whitelist.booleanCheck IssueInstant attribute in Assertion
Default: truebooleanCheck audience restriction against issuer.booleanCheck incoming AuthnRequest at all.booleanCheck IssueInstant attribute in AuthnStatement
Default: truebooleanValidate HTTP request headers.booleanCheck response inResponseTo.booleanValidate OID Logout request.booleanRelay must exist otherwise the SAML processing is stopped, if false response matching is done via SAML message.booleanCheck Condition attribute in AuthnRequest
Default: truebooleanCheck IssueInstant attribute in AuthnRequest
Default: truebooleanCheck IssueInstant attribute in Response
Default: truebooleanCheck issuer in the CP response to match what the user has selected as a homeRealm in HRD.booleanCheck incoming WSTrust SecurityTokenRequest on WSS4J level.booleanCheck incoming WSTrust SecurityTokenRequest on XTB validator level.booleanCheck subject confirmation inResponseTo.booleanCheck subject confirmation recipient.booleanCheck subject confirmation timestamp.booleanCheck XML schema.voidsetAcceptSubjectConfirmationMethods(String acceptSubjectConfirmationMethods) Acceptable subject confirmation methods.voidsetAllowedSignatureAlgorithms(List<String> allowedSignatureAlgorithms) List of allowed message signature algorithms.voidsetDoSignArtifactResolve(boolean doSignArtifactResolve) Sign outgoing ArtifactResolve messages.voidsetDoSignArtifactResponse(boolean doSignArtifactResponse) Sign outgoing ArtifactResponse messages.voidsetDoSignAssertions(boolean doSignAssertions) Sign Assertion in outgoing messages.voidsetDoSignFailureResponse(boolean doSignFailureResponse) Sign outgoing Response messages with failure state.voidsetDoSignSuccessResponse(boolean doSignSuccessResponse) Sign outgoing Response messages with success state.voidsetEnforceArtifactSignatureAlgorithms(boolean enforceArtifactSignatureAlgorithms) Enforce allowed message signature algorithms for Artifact Resolution.voidsetEnforceAssertionSignatureAlgorithms(boolean enforceAssertionSignatureAlgorithms) Enforce allowed message signature algorithms for Assertions.voidsetEnforceQoaIfMissing(boolean enforceQoaIfMissing) Reject request without getAuthnContextClassRef or Qoa configuration
Default: falsevoidsetEnforceRequestSignatureAlgorithms(boolean enforceRequestSignatureAlgorithms) Enforce allowed message signature algorithms for AuthnRequests.voidsetEnforceResponseSignatureAlgorithms(boolean enforceResponseSignatureAlgorithms) Enforce allowed message signature algorithms for Responses.voidsetForceCpAuthentication(boolean forceCpAuthentication) Enforce CP authentication via corresponding OIDC/SAML flags.voidsetMessageLifetimeSec(long messageLifetimeSec) IssueInstant timestamp check should accept Assertion.Condition.NotValidOnOrAfter over WS-Trust.voidsetNotBeforeToleranceSec(long notBeforeToleranceSec) Any timestamp tolerance NTP drift tolerance.voidsetNotOnOrAfterToleranceSec(long notOnOrAfterToleranceSec) Any timestamp clock/transfer tolerance.voidsetRedirectBindingSignatureWarning(boolean redirectBindingSignatureWarning) Deprecated.voidsetRenewNotOnOrAfterToleranceRenewSec(long renewNotOnOrAfterToleranceRenewSec) Duration after expiration of an assertion for which WS-Trust RENEW request is accepted.voidsetRequireAudienceRestriction(boolean requireAudienceRestriction) Enforce presence and validation of audience restriction for other subject confirmations (e.g.voidsetRequireAudienceRestrictionForBearerSubjectConfirmation(boolean requireAudienceRestrictionForBearerSubjectConfirmation) Enforce presence and validation of audience restriction for bearer subject confirmations.voidsetRequireSignedArtifactResolve(boolean requireSignedArtifactResolve) Reject unsigned ArtifactResolve?
Default: truevoidsetRequireSignedArtifactResponse(boolean requireSignedArtifactResponse) Reject unsigned ArtifactResponse?
Default: truevoidsetRequireSignedAssertion(boolean requireSignedAssertion) Reject unsigned Assertions?
Default: truevoidsetRequireSignedAuthnRequest(boolean requireSignedAuthnRequest) Reject unsigned AuthnRequest?
Default: truevoidsetRequireSignedResponse(boolean requireSignedResponse) Reject unsigned Response?
Default: truevoidsetRequireSubjectConfirmation(boolean requireSubjectConfirmation) In WS-Trust RST case we per default require a valid subject confirmation.voidsetSaveStateOnValidationFailure(boolean saveStateOnValidationFailure) Register state in DB even when validation fails.voidsetTokenLifetimeSec(long tokenLifetimeSec) Used for Condition.notOnOrAfterSeconds and SubjectConfirmationData.notOnOrAfterSeconds.voidsetValidateAcs(boolean validateAcs) Check assertion consumer URL or HTTP Referer against configured whitelist.voidsetValidateAssertionIssueInstant(boolean validateAssertionIssueInstant) Check IssueInstant attribute in Assertion
Default: truevoidsetValidateAudience(boolean validateAudience) Check audience restriction against issuer.voidsetValidateAuthnRequest(boolean validateAuthnRequest) Check incoming AuthnRequest at all.voidsetValidateAuthnStatementIssueInstant(boolean validateAuthnStatementIssueInstant) Check IssueInstant attribute in AuthnStatement
Default: truevoidsetValidateHttpHeaders(boolean validateHttpHeaders) Validate HTTP request headers.voidsetValidateInResponseTo(boolean validateInResponseTo) Check response inResponseTo.voidsetValidateLogoutRequest(boolean validateLogoutRequest) Validate OID Logout request.voidsetValidateRelayState(boolean validateRelayState) Relay must exist otherwise the SAML processing is stopped, if false response matching is done via SAML message.voidsetValidateRequestCondition(boolean validateRequestCondition) Check Condition attribute in AuthnRequest
Default: truevoidsetValidateRequestIssueInstant(boolean validateRequestIssueInstant) Check IssueInstant attribute in AuthnRequest
Default: truevoidsetValidateResponseIssueInstant(boolean validateResponseIssueInstant) Check IssueInstant attribute in Response
Default: truevoidsetValidateResponseIssuer(boolean validateResponseIssuer) Check issuer in the CP response to match what the user has selected as a homeRealm in HRD.voidsetValidateSecurityTokenRequest(boolean validateSecurityTokenRequest) Check incoming WSTrust SecurityTokenRequest on WSS4J level.voidsetValidateSecurityTokenRequestAssertion(boolean validateSecurityTokenRequestAssertion) Check incoming WSTrust SecurityTokenRequest on XTB validator level.voidsetValidateSubjectConfirmationInResponseTo(boolean validateSubjectConfirmationInResponseTo) Check subject confirmation inResponseTo.voidsetValidateSubjectConfirmationRecipient(boolean validateSubjectConfirmationRecipient) Check subject confirmation recipient.voidsetValidateSubjectConfirmationTimestamp(boolean validateSubjectConfirmationTimestamp) Check subject confirmation timestamp.voidsetValidateXmlSchema(boolean validateXmlSchema) Check XML schema.voidsetWss4jChecks(String wss4jChecks) WSS4J checks according to WSS4J actions.toString()
-
Field Details
-
LIFETIME_MESSAGE_SEC
public static final long LIFETIME_MESSAGE_SEC- See Also:
-
LIFETIME_TOKEN_SEC
public static final long LIFETIME_TOKEN_SEC- See Also:
-
TOLERANCE_NOT_BEFORE_SEC
public static final long TOLERANCE_NOT_BEFORE_SEC- See Also:
-
TOLERANCE_NOT_AFTER_SEC
public static final long TOLERANCE_NOT_AFTER_SEC- See Also:
-
RENEW_TOLERANCE_NOT_AFTER_SEC
public static final long RENEW_TOLERANCE_NOT_AFTER_SEC- See Also:
-
BEARER_SUBJECT_CONFIRMATION
- See Also:
-
HOLDER_OF_KEY_SUBJECT_CONFIRMATION
- See Also:
-
-
Constructor Details
-
SecurityChecks
public SecurityChecks() -
SecurityChecks
public SecurityChecks(boolean requireSignedAuthnRequest, boolean redirectBindingSignatureWarning, boolean requireSignedArtifactResolve, boolean requireSignedArtifactResponse, boolean requireSignedResponse, boolean requireSignedAssertion, boolean validateAuthnRequest, boolean enforceQoaIfMissing, boolean validateSecurityTokenRequest, boolean validateSecurityTokenRequestAssertion, String wss4jChecks, boolean validateXmlSchema, boolean validateHttpHeaders, boolean validateAcs, boolean validateRelayState, boolean validateAudience, boolean requireAudienceRestrictionForBearerSubjectConfirmation, boolean requireAudienceRestriction, boolean validateResponseIssuer, boolean validateInResponseTo, boolean requireSubjectConfirmation, boolean validateSubjectConfirmationTimestamp, boolean validateSubjectConfirmationInResponseTo, boolean validateSubjectConfirmationRecipient, boolean validateLogoutRequest, long notBeforeToleranceSec, long notOnOrAfterToleranceSec, long renewNotOnOrAfterToleranceRenewSec, long messageLifetimeSec, long tokenLifetimeSec, String acceptSubjectConfirmationMethods, boolean saveStateOnValidationFailure, boolean doSignAssertions, boolean doSignSuccessResponse, boolean doSignFailureResponse, boolean doSignArtifactResolve, boolean doSignArtifactResponse, boolean forceCpAuthentication, boolean validateRequestIssueInstant, boolean validateRequestCondition, boolean validateResponseIssueInstant, boolean validateAssertionIssueInstant, boolean validateAuthnStatementIssueInstant, List<String> allowedSignatureAlgorithms, boolean enforceRequestSignatureAlgorithms, boolean enforceResponseSignatureAlgorithms, boolean enforceAssertionSignatureAlgorithms, boolean enforceArtifactSignatureAlgorithms) Deprecated.Creates a newSecurityChecksinstance.- Parameters:
requireSignedAuthnRequest- Reject unsigned AuthnRequest?
Default: trueredirectBindingSignatureWarning- Allow to just issue a warning for failing signature check for redirect binding.
Backwards compatibility flag for transition, to be removed in an upcoming release.
Default: falserequireSignedArtifactResolve- Reject unsigned ArtifactResolve?
Default: truerequireSignedArtifactResponse- Reject unsigned ArtifactResponse?
Default: truerequireSignedResponse- Reject unsigned Response?
Default: truerequireSignedAssertion- Reject unsigned Assertions?
Default: truevalidateAuthnRequest- Check incoming AuthnRequest at all.
Default: trueenforceQoaIfMissing- Reject request without getAuthnContextClassRef or Qoa configuration
Default: falsevalidateSecurityTokenRequest- Check incoming WSTrust SecurityTokenRequest on WSS4J level.
Default:falsevalidateSecurityTokenRequestAssertion- Check incoming WSTrust SecurityTokenRequest on XTB validator level.
Default: truewss4jChecks- WSS4J checks according to WSS4J actions.
Default: Timestamp. Signature, SAMLTokenSignedvalidateXmlSchema- Check XML schema.
Default: truevalidateHttpHeaders- Validate HTTP request headers. Currentlyrefererandorigincan be validated against the AcWhitelist of an RP.
Default: truevalidateAcs- Check assertion consumer URL or HTTP Referer against configured whitelist.
Default: truevalidateRelayState- Relay must exist otherwise the SAML processing is stopped, if false response matching is done via SAML message.
Default: truevalidateAudience- Check audience restriction against issuer.
Default: truerequireAudienceRestrictionForBearerSubjectConfirmation- Enforce presence and validation of audience restriction for bearer subject confirmations.
Default: truerequireAudienceRestriction- Enforce presence and validation of audience restriction for other subject confirmations (e.g. holder of key).
Default: falsevalidateResponseIssuer- Check issuer in the CP response to match what the user has selected as a homeRealm in HRD.
Default: truevalidateInResponseTo- Check response inResponseTo.
Default: truerequireSubjectConfirmation- In WS-Trust RST case we per default require a valid subject confirmation.
Default: truevalidateSubjectConfirmationTimestamp- Check subject confirmation timestamp.
Default: truevalidateSubjectConfirmationInResponseTo- Check subject confirmation inResponseTo.
Default: truevalidateSubjectConfirmationRecipient- Check subject confirmation recipient.
Default: truevalidateLogoutRequest- Validate OID Logout request.
Default: falsenotBeforeToleranceSec- Any timestamp tolerance NTP drift tolerance.
Default: -5notOnOrAfterToleranceSec- Any timestamp clock/transfer tolerance.
Default: 5
Note: Reduced from 480 with 1.15.0 - aligned with default inapplication.ymlrenewNotOnOrAfterToleranceRenewSec- Duration after expiration of an assertion for which WS-Trust RENEW request is accepted.
Default: 2hmessageLifetimeSec- IssueInstant timestamp check should accept Assertion.Condition.NotValidOnOrAfter over WS-Trust.
Default: 480tokenLifetimeSec- Used for Condition.notOnOrAfterSeconds and SubjectConfirmationData.notOnOrAfterSeconds. Override per RP using SecurityPolicies.notOnOrAfterSeconds.
Default: 3600acceptSubjectConfirmationMethods- Acceptable subject confirmation methods. Comma separated list.
Default: urn:oasis:names:tc:SAML:2.0:cm:holder-of-key,urn:oasis:names:tc:SAML:2.0:cm:bearersaveStateOnValidationFailure- Register state in DB even when validation fails. (Was used for discontinued stealth mode processing only.)
Default: falsedoSignAssertions- Sign Assertion in outgoing messages.
Default: truedoSignSuccessResponse- Sign outgoing Response messages with success state.
Default: truedoSignFailureResponse- Sign outgoing Response messages with failure state.
Default: truedoSignArtifactResolve- Sign outgoing ArtifactResolve messages.
Default: truedoSignArtifactResponse- Sign outgoing ArtifactResponse messages.
Default: trueforceCpAuthentication- Enforce CP authentication via corresponding OIDC/SAML flags.
Default: true (since 1.10.0 the hard coded default was true, before it was false)validateRequestIssueInstant- Check IssueInstant attribute in AuthnRequest
Default: truevalidateRequestCondition- Check Condition attribute in AuthnRequest
Default: truevalidateResponseIssueInstant- Check IssueInstant attribute in Response
Default: truevalidateAssertionIssueInstant- Check IssueInstant attribute in Assertion
Default: truevalidateAuthnStatementIssueInstant- Check IssueInstant attribute in AuthnStatement
Default: trueallowedSignatureAlgorithms- List of allowed message signature algorithms. (Empty list means no restriction.)
Default: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256enforceRequestSignatureAlgorithms- Enforce allowed message signature algorithms for AuthnRequests.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: trueenforceResponseSignatureAlgorithms- Enforce allowed message signature algorithms for Responses.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: trueenforceAssertionSignatureAlgorithms- Enforce allowed message signature algorithms for Assertions.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: trueenforceArtifactSignatureAlgorithms- Enforce allowed message signature algorithms for Artifact Resolution.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.12.0, 1.11.0, 1.12.0, 1.15.0, 1.13.0, 1.11.0, 1.11.0, 1.11.0, 1.15.0, 1.15.0, 1.15.0, 1.15.0, 1.15.0
- See Also:
-
-
Method Details
-
builder
-
isRequireSignedAuthnRequest
public boolean isRequireSignedAuthnRequest()Reject unsigned AuthnRequest?
Default: true -
isRedirectBindingSignatureWarning
Deprecated.Allow to just issue a warning for failing signature check for redirect binding.
Backwards compatibility flag for transition, to be removed in an upcoming release.
Default: false- Since:
- 1.12.0
-
isRequireSignedArtifactResolve
public boolean isRequireSignedArtifactResolve()Reject unsigned ArtifactResolve?
Default: true -
isRequireSignedArtifactResponse
public boolean isRequireSignedArtifactResponse()Reject unsigned ArtifactResponse?
Default: true -
isRequireSignedResponse
public boolean isRequireSignedResponse()Reject unsigned Response?
Default: true -
isRequireSignedAssertion
public boolean isRequireSignedAssertion()Reject unsigned Assertions?
Default: true -
isValidateAuthnRequest
public boolean isValidateAuthnRequest()Check incoming AuthnRequest at all.
Default: true -
isEnforceQoaIfMissing
public boolean isEnforceQoaIfMissing()Reject request without getAuthnContextClassRef or Qoa configuration
Default: false- Since:
- 1.11.0
-
isValidateSecurityTokenRequest
public boolean isValidateSecurityTokenRequest()Check incoming WSTrust SecurityTokenRequest on WSS4J level.
Default:false -
isValidateSecurityTokenRequestAssertion
public boolean isValidateSecurityTokenRequestAssertion()Check incoming WSTrust SecurityTokenRequest on XTB validator level.
Default: true -
getWss4jChecks
WSS4J checks according to WSS4J actions.
Default: Timestamp. Signature, SAMLTokenSigned- See Also:
-
isValidateXmlSchema
public boolean isValidateXmlSchema()Check XML schema.
Default: true -
isValidateHttpHeaders
public boolean isValidateHttpHeaders()Validate HTTP request headers. Currentlyrefererandorigincan be validated against the AcWhitelist of an RP.
Default: true- Since:
- 1.12.0
-
isValidateAcs
public boolean isValidateAcs()Check assertion consumer URL or HTTP Referer against configured whitelist.
Default: true -
isValidateRelayState
public boolean isValidateRelayState()Relay must exist otherwise the SAML processing is stopped, if false response matching is done via SAML message.
Default: true -
isValidateAudience
public boolean isValidateAudience()Check audience restriction against issuer.
Default: true -
isRequireAudienceRestrictionForBearerSubjectConfirmation
public boolean isRequireAudienceRestrictionForBearerSubjectConfirmation()Enforce presence and validation of audience restriction for bearer subject confirmations.
Default: true- Since:
- 1.15.0
-
isRequireAudienceRestriction
public boolean isRequireAudienceRestriction()Enforce presence and validation of audience restriction for other subject confirmations (e.g. holder of key).
Default: false -
isValidateResponseIssuer
public boolean isValidateResponseIssuer()Check issuer in the CP response to match what the user has selected as a homeRealm in HRD.
Default: true -
isValidateInResponseTo
public boolean isValidateInResponseTo()Check response inResponseTo.
Default: true- Since:
- 1.13.0
-
isRequireSubjectConfirmation
public boolean isRequireSubjectConfirmation()In WS-Trust RST case we per default require a valid subject confirmation.
Default: true -
isValidateSubjectConfirmationTimestamp
public boolean isValidateSubjectConfirmationTimestamp()Check subject confirmation timestamp.
Default: true -
isValidateSubjectConfirmationInResponseTo
public boolean isValidateSubjectConfirmationInResponseTo()Check subject confirmation inResponseTo.
Default: true -
isValidateSubjectConfirmationRecipient
public boolean isValidateSubjectConfirmationRecipient()Check subject confirmation recipient.
Default: true- Since:
- 1.11.0
-
isValidateLogoutRequest
public boolean isValidateLogoutRequest()Validate OID Logout request.
Default: false -
getNotBeforeToleranceSec
public long getNotBeforeToleranceSec()Any timestamp tolerance NTP drift tolerance.
Default: -5 -
getNotOnOrAfterToleranceSec
public long getNotOnOrAfterToleranceSec()Any timestamp clock/transfer tolerance.
Default: 5
Note: Reduced from 480 with 1.15.0 - aligned with default inapplication.yml -
getRenewNotOnOrAfterToleranceRenewSec
public long getRenewNotOnOrAfterToleranceRenewSec()Duration after expiration of an assertion for which WS-Trust RENEW request is accepted.
Default: 2h- Since:
- 1.11.0
-
getMessageLifetimeSec
public long getMessageLifetimeSec()IssueInstant timestamp check should accept Assertion.Condition.NotValidOnOrAfter over WS-Trust.
Default: 480 -
getTokenLifetimeSec
public long getTokenLifetimeSec()Used for Condition.notOnOrAfterSeconds and SubjectConfirmationData.notOnOrAfterSeconds. Override per RP using SecurityPolicies.notOnOrAfterSeconds.
Default: 3600 -
getAcceptSubjectConfirmationMethods
Acceptable subject confirmation methods. Comma separated list.
Default: urn:oasis:names:tc:SAML:2.0:cm:holder-of-key,urn:oasis:names:tc:SAML:2.0:cm:bearer -
isSaveStateOnValidationFailure
public boolean isSaveStateOnValidationFailure()Register state in DB even when validation fails. (Was used for discontinued stealth mode processing only.)
Default: false -
isDoSignAssertions
public boolean isDoSignAssertions()Sign Assertion in outgoing messages.
Default: true -
isDoSignSuccessResponse
public boolean isDoSignSuccessResponse()Sign outgoing Response messages with success state.
Default: true -
isDoSignFailureResponse
public boolean isDoSignFailureResponse()Sign outgoing Response messages with failure state.
Default: true -
isDoSignArtifactResolve
public boolean isDoSignArtifactResolve()Sign outgoing ArtifactResolve messages.
Default: true -
isDoSignArtifactResponse
public boolean isDoSignArtifactResponse()Sign outgoing ArtifactResponse messages.
Default: true -
isForceCpAuthentication
public boolean isForceCpAuthentication()Enforce CP authentication via corresponding OIDC/SAML flags.
Default: true (since 1.10.0 the hard coded default was true, before it was false)- Since:
- 1.11.0
-
isValidateRequestIssueInstant
public boolean isValidateRequestIssueInstant()Check IssueInstant attribute in AuthnRequest
Default: true -
isValidateRequestCondition
public boolean isValidateRequestCondition()Check Condition attribute in AuthnRequest
Default: true -
isValidateResponseIssueInstant
public boolean isValidateResponseIssueInstant()Check IssueInstant attribute in Response
Default: true -
isValidateAssertionIssueInstant
public boolean isValidateAssertionIssueInstant()Check IssueInstant attribute in Assertion
Default: true -
isValidateAuthnStatementIssueInstant
public boolean isValidateAuthnStatementIssueInstant()Check IssueInstant attribute in AuthnStatement
Default: true -
getAllowedSignatureAlgorithms
List of allowed message signature algorithms. (Empty list means no restriction.)
Default: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256- Since:
- 1.15.0
-
isEnforceRequestSignatureAlgorithms
public boolean isEnforceRequestSignatureAlgorithms()Enforce allowed message signature algorithms for AuthnRequests.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
isEnforceResponseSignatureAlgorithms
public boolean isEnforceResponseSignatureAlgorithms()Enforce allowed message signature algorithms for Responses.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
isEnforceAssertionSignatureAlgorithms
public boolean isEnforceAssertionSignatureAlgorithms()Enforce allowed message signature algorithms for Assertions.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
isEnforceArtifactSignatureAlgorithms
public boolean isEnforceArtifactSignatureAlgorithms()Enforce allowed message signature algorithms for Artifact Resolution.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
setRequireSignedAuthnRequest
public void setRequireSignedAuthnRequest(boolean requireSignedAuthnRequest) Reject unsigned AuthnRequest?
Default: true -
setRedirectBindingSignatureWarning
Deprecated.Allow to just issue a warning for failing signature check for redirect binding.
Backwards compatibility flag for transition, to be removed in an upcoming release.
Default: false- Since:
- 1.12.0
-
setRequireSignedArtifactResolve
public void setRequireSignedArtifactResolve(boolean requireSignedArtifactResolve) Reject unsigned ArtifactResolve?
Default: true -
setRequireSignedArtifactResponse
public void setRequireSignedArtifactResponse(boolean requireSignedArtifactResponse) Reject unsigned ArtifactResponse?
Default: true -
setRequireSignedResponse
public void setRequireSignedResponse(boolean requireSignedResponse) Reject unsigned Response?
Default: true -
setRequireSignedAssertion
public void setRequireSignedAssertion(boolean requireSignedAssertion) Reject unsigned Assertions?
Default: true -
setValidateAuthnRequest
public void setValidateAuthnRequest(boolean validateAuthnRequest) Check incoming AuthnRequest at all.
Default: true -
setEnforceQoaIfMissing
public void setEnforceQoaIfMissing(boolean enforceQoaIfMissing) Reject request without getAuthnContextClassRef or Qoa configuration
Default: false- Since:
- 1.11.0
-
setValidateSecurityTokenRequest
public void setValidateSecurityTokenRequest(boolean validateSecurityTokenRequest) Check incoming WSTrust SecurityTokenRequest on WSS4J level.
Default:false -
setValidateSecurityTokenRequestAssertion
public void setValidateSecurityTokenRequestAssertion(boolean validateSecurityTokenRequestAssertion) Check incoming WSTrust SecurityTokenRequest on XTB validator level.
Default: true -
setWss4jChecks
WSS4J checks according to WSS4J actions.
Default: Timestamp. Signature, SAMLTokenSigned- See Also:
-
setValidateXmlSchema
public void setValidateXmlSchema(boolean validateXmlSchema) Check XML schema.
Default: true -
setValidateHttpHeaders
public void setValidateHttpHeaders(boolean validateHttpHeaders) Validate HTTP request headers. Currentlyrefererandorigincan be validated against the AcWhitelist of an RP.
Default: true- Since:
- 1.12.0
-
setValidateAcs
public void setValidateAcs(boolean validateAcs) Check assertion consumer URL or HTTP Referer against configured whitelist.
Default: true -
setValidateRelayState
public void setValidateRelayState(boolean validateRelayState) Relay must exist otherwise the SAML processing is stopped, if false response matching is done via SAML message.
Default: true -
setValidateAudience
public void setValidateAudience(boolean validateAudience) Check audience restriction against issuer.
Default: true -
setRequireAudienceRestrictionForBearerSubjectConfirmation
public void setRequireAudienceRestrictionForBearerSubjectConfirmation(boolean requireAudienceRestrictionForBearerSubjectConfirmation) Enforce presence and validation of audience restriction for bearer subject confirmations.
Default: true- Since:
- 1.15.0
-
setRequireAudienceRestriction
public void setRequireAudienceRestriction(boolean requireAudienceRestriction) Enforce presence and validation of audience restriction for other subject confirmations (e.g. holder of key).
Default: false -
setValidateResponseIssuer
public void setValidateResponseIssuer(boolean validateResponseIssuer) Check issuer in the CP response to match what the user has selected as a homeRealm in HRD.
Default: true -
setValidateInResponseTo
public void setValidateInResponseTo(boolean validateInResponseTo) Check response inResponseTo.
Default: true- Since:
- 1.13.0
-
setRequireSubjectConfirmation
public void setRequireSubjectConfirmation(boolean requireSubjectConfirmation) In WS-Trust RST case we per default require a valid subject confirmation.
Default: true -
setValidateSubjectConfirmationTimestamp
public void setValidateSubjectConfirmationTimestamp(boolean validateSubjectConfirmationTimestamp) Check subject confirmation timestamp.
Default: true -
setValidateSubjectConfirmationInResponseTo
public void setValidateSubjectConfirmationInResponseTo(boolean validateSubjectConfirmationInResponseTo) Check subject confirmation inResponseTo.
Default: true -
setValidateSubjectConfirmationRecipient
public void setValidateSubjectConfirmationRecipient(boolean validateSubjectConfirmationRecipient) Check subject confirmation recipient.
Default: true- Since:
- 1.11.0
-
setValidateLogoutRequest
public void setValidateLogoutRequest(boolean validateLogoutRequest) Validate OID Logout request.
Default: false -
setNotBeforeToleranceSec
public void setNotBeforeToleranceSec(long notBeforeToleranceSec) Any timestamp tolerance NTP drift tolerance.
Default: -5 -
setNotOnOrAfterToleranceSec
public void setNotOnOrAfterToleranceSec(long notOnOrAfterToleranceSec) Any timestamp clock/transfer tolerance.
Default: 5
Note: Reduced from 480 with 1.15.0 - aligned with default inapplication.yml -
setRenewNotOnOrAfterToleranceRenewSec
public void setRenewNotOnOrAfterToleranceRenewSec(long renewNotOnOrAfterToleranceRenewSec) Duration after expiration of an assertion for which WS-Trust RENEW request is accepted.
Default: 2h- Since:
- 1.11.0
-
setMessageLifetimeSec
public void setMessageLifetimeSec(long messageLifetimeSec) IssueInstant timestamp check should accept Assertion.Condition.NotValidOnOrAfter over WS-Trust.
Default: 480 -
setTokenLifetimeSec
public void setTokenLifetimeSec(long tokenLifetimeSec) Used for Condition.notOnOrAfterSeconds and SubjectConfirmationData.notOnOrAfterSeconds. Override per RP using SecurityPolicies.notOnOrAfterSeconds.
Default: 3600 -
setAcceptSubjectConfirmationMethods
Acceptable subject confirmation methods. Comma separated list.
Default: urn:oasis:names:tc:SAML:2.0:cm:holder-of-key,urn:oasis:names:tc:SAML:2.0:cm:bearer -
setSaveStateOnValidationFailure
public void setSaveStateOnValidationFailure(boolean saveStateOnValidationFailure) Register state in DB even when validation fails. (Was used for discontinued stealth mode processing only.)
Default: false -
setDoSignAssertions
public void setDoSignAssertions(boolean doSignAssertions) Sign Assertion in outgoing messages.
Default: true -
setDoSignSuccessResponse
public void setDoSignSuccessResponse(boolean doSignSuccessResponse) Sign outgoing Response messages with success state.
Default: true -
setDoSignFailureResponse
public void setDoSignFailureResponse(boolean doSignFailureResponse) Sign outgoing Response messages with failure state.
Default: true -
setDoSignArtifactResolve
public void setDoSignArtifactResolve(boolean doSignArtifactResolve) Sign outgoing ArtifactResolve messages.
Default: true -
setDoSignArtifactResponse
public void setDoSignArtifactResponse(boolean doSignArtifactResponse) Sign outgoing ArtifactResponse messages.
Default: true -
setForceCpAuthentication
public void setForceCpAuthentication(boolean forceCpAuthentication) Enforce CP authentication via corresponding OIDC/SAML flags.
Default: true (since 1.10.0 the hard coded default was true, before it was false)- Since:
- 1.11.0
-
setValidateRequestIssueInstant
public void setValidateRequestIssueInstant(boolean validateRequestIssueInstant) Check IssueInstant attribute in AuthnRequest
Default: true -
setValidateRequestCondition
public void setValidateRequestCondition(boolean validateRequestCondition) Check Condition attribute in AuthnRequest
Default: true -
setValidateResponseIssueInstant
public void setValidateResponseIssueInstant(boolean validateResponseIssueInstant) Check IssueInstant attribute in Response
Default: true -
setValidateAssertionIssueInstant
public void setValidateAssertionIssueInstant(boolean validateAssertionIssueInstant) Check IssueInstant attribute in Assertion
Default: true -
setValidateAuthnStatementIssueInstant
public void setValidateAuthnStatementIssueInstant(boolean validateAuthnStatementIssueInstant) Check IssueInstant attribute in AuthnStatement
Default: true -
setAllowedSignatureAlgorithms
List of allowed message signature algorithms. (Empty list means no restriction.)
Default: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256- Since:
- 1.15.0
-
setEnforceRequestSignatureAlgorithms
public void setEnforceRequestSignatureAlgorithms(boolean enforceRequestSignatureAlgorithms) Enforce allowed message signature algorithms for AuthnRequests.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
setEnforceResponseSignatureAlgorithms
public void setEnforceResponseSignatureAlgorithms(boolean enforceResponseSignatureAlgorithms) Enforce allowed message signature algorithms for Responses.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
setEnforceAssertionSignatureAlgorithms
public void setEnforceAssertionSignatureAlgorithms(boolean enforceAssertionSignatureAlgorithms) Enforce allowed message signature algorithms for Assertions.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
setEnforceArtifactSignatureAlgorithms
public void setEnforceArtifactSignatureAlgorithms(boolean enforceArtifactSignatureAlgorithms) Enforce allowed message signature algorithms for Artifact Resolution.
If false, the allowedSignatureAlgorithms list is just used for logging.
Default: true- Since:
- 1.15.0
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-