Class SecurityPolicies.SecurityPoliciesBuilder
java.lang.Object
swiss.trustbroker.federation.xmlconfig.SecurityPolicies.SecurityPoliciesBuilder
- Enclosing class:
SecurityPolicies
-
Method Summary
Modifier and TypeMethodDescriptionallowedSignatureAlgorithms(List<String> allowedSignatureAlgorithms) List of allowed message signature algorithms.audienceNotOnOrAfterSeconds(Integer audienceNotOnOrAfterSeconds) Overrides the globalnotOnOrAfterSecondsfor conditionsnotOnOrAfterif greater than zero.build()delegateOrigin(Boolean delegateOrigin) Control CP AuthnRequest scopes and RP Attribute OriginalIssuer.doSignArtifactResolve(Boolean doSignArtifactResolve) Flag allows to sign outbound SAML artifact resolve messages for maximum security.forceAuthn(Boolean forceAuthn) Always enforce re-authentication on this CP/on all CPs configured for this RP.notOnOrAfterSeconds(Integer notOnOrAfterSeconds) Overrides the globaltokenLifetimeSecfor CP response AuthnInstant checks.requireAudienceRestriction(Boolean requireAudienceRestriction) Overrides global SecurityChecksrequireAudienceRestrictionForBearerSubjectConfirmation(Boolean requireAudienceRestrictionForBearerSubjectConfirmation) Overrides global SecurityChecksrequireEncryptedAssertion(Boolean requireEncryptedAssertion) Allow to disable required encrypted Assertion when the EncryptionKeystore is configured.requireSignedArtifactResponse(Boolean requireSignedArtifactResponse) Flag allows to enforce signed SAML artifact responses from CP required for maximum security to assert integrity of the incoming artifact response message.requireSignedAuthnRequest(Boolean requireSignedAuthnRequest) Allow to disable signature check for incoming SAML AuthnRequests.requireSignedAuthnRequestForSsoJoin(Boolean requireSignedAuthnRequestForSsoJoin) Require signed SAML AuthnRequests to join an SSO session.requireSignedLogoutNotificationRequest(Boolean requireSignedLogoutNotificationRequest) Allow to disable signature check for outgoing SLO notification LogoutRequests.requireSignedLogoutRequest(Boolean requireSignedLogoutRequest) Allow to disable signature check for incoming LogoutRequests.requireSignedResponse(Boolean requireSignedResponse) Flag allows to enforce signed SAML responses from CP required for maximum security to assert integrity of the incoming message and assertion.ssoMinQoaLevel(Integer ssoMinQoaLevel) If CP returns AuthnContext of value less than that, no SSO session is created.toString()validateHttpHeaders(Boolean validateHttpHeaders) Validate HTTP request headers.validateXmlSchema(Boolean validateXmlSchema) Some claims providers are not sending well-formed valid XML and therefore are blocked by XTB.wsTrustIssueNotBeforeToleranceSec(Long wsTrustIssueNotBeforeToleranceSec) WS-Trust ISSUE timestamp not before tolerance override.wsTrustIssueNotOnOrAfterToleranceSec(Long wsTrustIssueNotOnOrAfterToleranceSec) WS-Trust ISSUE timestamp not on or after tolerance override.wsTrustIssueRequireSignedAssertion(Boolean wsTrustIssueRequireSignedAssertion) Deprecated.Transition featurewsTrustIssueRequireSignedRequest(Boolean wsTrustIssueRequireSignedRequest) Require signed request in WS-Trust ISSUE.wsTrustIssueRequireTimestamp(Boolean wsTrustIssueRequireTimestamp) WS-Trust ISSUE requires timestamp.
-
Method Details
-
requireSignedAuthnRequest
public SecurityPolicies.SecurityPoliciesBuilder requireSignedAuthnRequest(Boolean requireSignedAuthnRequest) Allow to disable signature check for incoming SAML AuthnRequests.
Default: true- Returns:
this.
-
requireSignedLogoutRequest
public SecurityPolicies.SecurityPoliciesBuilder requireSignedLogoutRequest(Boolean requireSignedLogoutRequest) Allow to disable signature check for incoming LogoutRequests. If not set, falls back torequireSignedAuthnRequest.- Returns:
this.
-
requireSignedLogoutNotificationRequest
public SecurityPolicies.SecurityPoliciesBuilder requireSignedLogoutNotificationRequest(Boolean requireSignedLogoutNotificationRequest) Allow to disable signature check for outgoing SLO notification LogoutRequests.
Default: true- Returns:
this.- Since:
- 1.10.0
- See Also:
-
requireSignedResponse
public SecurityPolicies.SecurityPoliciesBuilder requireSignedResponse(Boolean requireSignedResponse) Flag allows to enforce signed SAML responses from CP required for maximum security to assert integrity of the incoming message and assertion. There is no requireSignedAssertion yet as this data structure is the actual data to trust. The check can therefore not be disabled for security reasons.
Overrides global SecurityChecks- Returns:
this.
-
requireEncryptedAssertion
public SecurityPolicies.SecurityPoliciesBuilder requireEncryptedAssertion(Boolean requireEncryptedAssertion) Allow to disable required encrypted Assertion when the EncryptionKeystore is configured.
Default: true- Returns:
this.- Since:
- 1.10.0
-
requireSignedArtifactResponse
public SecurityPolicies.SecurityPoliciesBuilder requireSignedArtifactResponse(Boolean requireSignedArtifactResponse) Flag allows to enforce signed SAML artifact responses from CP required for maximum security to assert integrity of the incoming artifact response message.
Overrides global SecurityChecks- Returns:
this.- Since:
- 1.10.0
-
doSignArtifactResolve
public SecurityPolicies.SecurityPoliciesBuilder doSignArtifactResolve(Boolean doSignArtifactResolve) Flag allows to sign outbound SAML artifact resolve messages for maximum security.
Overrides global SecurityChecks- Returns:
this.- Since:
- 1.10.0
-
requireAudienceRestriction
public SecurityPolicies.SecurityPoliciesBuilder requireAudienceRestriction(Boolean requireAudienceRestriction) Overrides global SecurityChecks- Returns:
this.
-
requireAudienceRestrictionForBearerSubjectConfirmation
public SecurityPolicies.SecurityPoliciesBuilder requireAudienceRestrictionForBearerSubjectConfirmation(Boolean requireAudienceRestrictionForBearerSubjectConfirmation) Overrides global SecurityChecks- Returns:
this.- Since:
- 1.15.0
-
requireSignedAuthnRequestForSsoJoin
public SecurityPolicies.SecurityPoliciesBuilder requireSignedAuthnRequestForSsoJoin(Boolean requireSignedAuthnRequestForSsoJoin) Require signed SAML AuthnRequests to join an SSO session. If not set, falls back torequireSignedAuthnRequest.- Returns:
this.- Since:
- 1.11.0
-
notOnOrAfterSeconds
Overrides the globaltokenLifetimeSecfor CP response AuthnInstant checks.
Default: 2600 This is quite long time to transfer a SAML token from the issuer to its consumer to establish a relation between a user and the consuming RP. Tje problem is that some components cache the token and transfer it later.- Returns:
this.
-
audienceNotOnOrAfterSeconds
public SecurityPolicies.SecurityPoliciesBuilder audienceNotOnOrAfterSeconds(Integer audienceNotOnOrAfterSeconds) Overrides the globalnotOnOrAfterSecondsfor conditionsnotOnOrAfterif greater than zero.- Returns:
this.
-
ssoMinQoaLevel
If CP returns AuthnContext of value less than that, no SSO session is created.- Returns:
this.
-
validateXmlSchema
Some claims providers are not sending well-formed valid XML and therefore are blocked by XTB. The schema check can be disabled lowering the security barrier and let OpenSAML deal with the data directly.
Default: true- Returns:
this.
-
validateHttpHeaders
Validate HTTP request headers. Currentlyrefererandorigincan be validated against the AcWhitelist of an RP.- Returns:
this.- Since:
- 1.12.0
-
delegateOrigin
Control CP AuthnRequest scopes and RP Attribute OriginalIssuer. Defaults to null as RP and CP side default behavior differs- Returns:
this.
-
forceAuthn
Always enforce re-authentication on this CP/on all CPs configured for this RP.
Overrides the globalforceCpAuthentication.
Default: false (only enforced if RP requests it)- Returns:
this.- Since:
- 1.10.0
-
wsTrustIssueRequireSignedAssertion
@Deprecated public SecurityPolicies.SecurityPoliciesBuilder wsTrustIssueRequireSignedAssertion(Boolean wsTrustIssueRequireSignedAssertion) Deprecated.Transition featureRequire signed assertion in WS-Trust ISSUE.
Default: fallback to default (global default is true)- Returns:
this.- Since:
- 1.13.0
-
wsTrustIssueRequireSignedRequest
public SecurityPolicies.SecurityPoliciesBuilder wsTrustIssueRequireSignedRequest(Boolean wsTrustIssueRequireSignedRequest) Require signed request in WS-Trust ISSUE.
Default: fallback to default- Returns:
this.- Since:
- 1.13.0
-
wsTrustIssueRequireTimestamp
public SecurityPolicies.SecurityPoliciesBuilder wsTrustIssueRequireTimestamp(Boolean wsTrustIssueRequireTimestamp) WS-Trust ISSUE requires timestamp.
Default: true- Returns:
this.- Since:
- 1.15.0
-
wsTrustIssueNotBeforeToleranceSec
public SecurityPolicies.SecurityPoliciesBuilder wsTrustIssueNotBeforeToleranceSec(Long wsTrustIssueNotBeforeToleranceSec) WS-Trust ISSUE timestamp not before tolerance override.- Returns:
this.- Since:
- 1.15.0
-
wsTrustIssueNotOnOrAfterToleranceSec
public SecurityPolicies.SecurityPoliciesBuilder wsTrustIssueNotOnOrAfterToleranceSec(Long wsTrustIssueNotOnOrAfterToleranceSec) WS-Trust ISSUE timestamp not on or after tolerance override.- Returns:
this.- Since:
- 1.15.0
-
allowedSignatureAlgorithms
public SecurityPolicies.SecurityPoliciesBuilder allowedSignatureAlgorithms(List<String> allowedSignatureAlgorithms) List of allowed message signature algorithms. (Empty list means no restriction.)
Default: Global default- Returns:
this.- Since:
- 1.15.0
-
build
-
toString
-