[java-opensaml COMMIT] in /trunk/opensaml-xmlsec-impl/src: main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningPa...
noreply at shibboleth.net
noreply at shibboleth.net
Thu May 15 18:29:21 EDT 2014
Author: putmanb
Date: Thu May 15 18:29:20 2014
New Revision: 3876
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3876&view=rev
Log:
Change BasicSignatureSigningParametersResolver validation behavior.
Add debug logging of resolved params.
Modified:
trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java
trunk/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
Modified: trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java?rev=3876&r1=3875&r2=3876&view=diff
==============================================================================
--- trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java (original)
+++ trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java Thu May 15 18:29:20 2014
@@ -34,6 +34,7 @@
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialSupport;
import org.opensaml.security.crypto.KeySupport;
+import org.opensaml.xmlsec.EncryptionParameters;
import org.opensaml.xmlsec.SignatureSigningConfiguration;
import org.opensaml.xmlsec.SignatureSigningParameters;
import org.opensaml.xmlsec.SignatureSigningParametersResolver;
@@ -133,30 +134,63 @@
params.setDSAParams(resolveDSAParams(criteria, params.getSigningCredential()));
}
- validate(params);
-
- return params;
+ if (validate(params)) {
+ logResult(params);
+ return params;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Log the resolved parameters.
+ *
+ * @param params the resolved param
+ */
+ protected void logResult(SignatureSigningParameters params) {
+ if (log.isDebugEnabled()) {
+ log.debug("Resolved SignatureSigningParameters:");
+
+ Key signingKey = CredentialSupport.extractSigningKey(params.getSigningCredential());
+ if (signingKey != null) {
+ log.debug("\tSigning credential with key algorithm: {}", signingKey.getAlgorithm());
+ } else {
+ log.debug("\tSigning credential: null");
+ }
+
+ log.debug("\tSignature algorithm URI: {}", params.getSignatureAlgorithmURI());
+
+ log.debug("\tSignature KeyInfoGenerator: {}", params.getKeyInfoGenerator() != null ? "present" : "null");
+
+ log.debug("\tReference digest method algorithm URI: {}", params.getSignatureReferenceDigestMethod());
+ log.debug("\tCanonicalization algorithm URI: {}", params.getSignatureCanonicalizationAlgorithm());
+ log.debug("\tHMAC output length: {}", params.getSignatureHMACOutputLength());
+ }
}
/**
* Validate that the {@link SignatureSigningParameters} instance has all the required properties populated.
*
* @param params the parameters instance to evaluate
- * @throws ResolverException if params instance is not populated with all required data
- */
- protected void validate(@Nonnull final SignatureSigningParameters params) throws ResolverException {
+ */
+ protected boolean validate(@Nonnull final SignatureSigningParameters params) {
if (params.getSigningCredential() == null) {
- throw new ResolverException("Unable to resolve signing credential");
+ log.warn("Validation failure: Unable to resolve signing credential");
+ return false;
}
if (params.getSignatureAlgorithmURI() == null) {
- throw new ResolverException("Unable to resolve signing algorithm URI");
+ log.warn("Validation failure: Unable to resolve signing algorithm URI");
+ return false;
}
if (params.getSignatureCanonicalizationAlgorithm() == null) {
- throw new ResolverException("Unable to resolve signing canonicalization algorithm URI");
+ log.warn("Validation failure: Unable to resolve signing canonicalization algorithm URI");
+ return false;
}
if (params.getSignatureReferenceDigestMethod() == null) {
- throw new ResolverException("Unable to resolve reference digest algorithm URI");
- }
+ log.warn("Validation failure: Unable to resolve reference digest algorithm URI");
+ return false;
+ }
+ return true;
}
/**
Modified: trunk/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
[... 61 lines stripped ...]
More information about the commits
mailing list