[java-opensaml COMMIT] in /trunk: opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecuri...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Sep 26 17:21:37 EDT 2014
Author: putmanb
Date: Fri Sep 26 17:21:36 2014
New Revision: 4083
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4083&view=rev
Log:
OSJ-4: Client cert auth eval should be conditional
Modified:
trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecurityParametersContext.java
trunk/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java
Modified: trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecurityParametersContext.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecurityParametersContext.java?rev=4083&r1=4082&r2=4083&view=diff
==============================================================================
--- trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecurityParametersContext.java (original)
+++ trunk/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ClientTLSSecurityParametersContext.java Fri Sep 26 17:21:36 2014
@@ -30,6 +30,31 @@
/** A {@link ClientTLSValidationParameters} instance. */
@Nullable private ClientTLSValidationParameters validationParameters;
+
+ /** Flag indicating whether to evaluate the certificate presented by the TLS client. */
+ private boolean evaluateClientCertificate = true;
+
+ /**
+ * Determine whether to evaluate the certificate presented by the TLS client.
+ *
+ * <p>Defaults to: <code>true</code></p>
+ *
+ * @return true if should evaluate, false otherwise
+ */
+ public boolean isEvaluateClientCertificate() {
+ return evaluateClientCertificate;
+ }
+
+ /**
+ * Set whether to evaluate the certificate presented by the TLS client.
+ *
+ * <p>Defaults to: <code>true</code></p>
+ *
+ * @param flag true if should evaluate, false otherwise
+ */
+ public void setEvaluateClientCertificate(boolean flag) {
+ evaluateClientCertificate = flag;
+ }
/**
* Get an instance of {@link ClientTLSValidationParameters}.
Modified: trunk/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java?rev=4083&r1=4082&r2=4083&view=diff
==============================================================================
--- trunk/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java (original)
+++ trunk/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java Fri Sep 26 17:21:36 2014
@@ -150,6 +150,10 @@
protected boolean doPreInvoke(MessageContext<MessageType> messageContext) throws MessageHandlerException {
ClientTLSSecurityParametersContext secContext =
messageContext.getSubcontext(ClientTLSSecurityParametersContext.class);
+ if (secContext != null && !secContext.isEvaluateClientCertificate()) {
+ log.debug("ClientTLSSecurityParametersContext signals to not perform client TLS cert evaluation");
+ return false;
+ }
if (secContext == null || secContext.getValidationParameters() == null
|| secContext.getValidationParameters().getCertificateNameOptions() == null) {
throw new MessageHandlerException("CertificateNameOptions was not available from the MessageContext");
More information about the commits
mailing list