[java-opensaml] branch main updated: JSSH-9 - Rework IdentifierGenerationStrategy usage
Scott Cantor
cantor.2 at osu.edu
Thu Oct 13 16:10:27 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=6ae2d16beedb1f1c05400e50b2856d5d01505985
The following commit(s) were added to refs/heads/main by this push:
new 6ae2d16be JSSH-9 - Rework IdentifierGenerationStrategy usage
6ae2d16be is described below
commit 6ae2d16beedb1f1c05400e50b2856d5d01505985
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Oct 13 12:10:05 2022 -0400
JSSH-9 - Rework IdentifierGenerationStrategy usage
https://shibboleth.atlassian.net/browse/JSSH-9
---
.../java/org/opensaml/saml/saml2/encryption/Encrypter.java | 10 ++++++----
.../org/opensaml/saml/saml1/profile/impl/AddResponseShell.java | 4 ++--
.../saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java | 9 +++++----
.../saml/saml2/profile/impl/AbstractResponseShellAction.java | 4 ++--
.../opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java | 8 ++------
.../saml/saml2/profile/impl/AddStatusResponseShell.java | 4 ++--
.../opensaml/saml/saml2/core/tests/SignedAssertionTest.java | 7 ++++---
7 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/encryption/Encrypter.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/encryption/Encrypter.java
index 4b69935ae..e638ed4a7 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/encryption/Encrypter.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/encryption/Encrypter.java
@@ -21,10 +21,12 @@ import java.security.Key;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.RandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.xml.SerializeSupport;
import org.opensaml.core.xml.XMLObject;
@@ -222,7 +224,7 @@ public class Encrypter extends org.opensaml.xmlsec.encryption.support.Encrypter
(XMLEncryptionBuilder<CarriedKeyName>) builderFactory.<CarriedKeyName>getBuilderOrThrow(
CarriedKeyName.DEFAULT_ELEMENT_NAME);
- idGenerator = new RandomIdentifierGenerationStrategy();
+ idGenerator = IdentifierGenerationStrategy.getInstance(ProviderType.RANDOM);
keyPlacement = KeyPlacement.PEER;
}
@@ -232,8 +234,8 @@ public class Encrypter extends org.opensaml.xmlsec.encryption.support.Encrypter
*
* @param newIDGenerator the new IdentifierGenerator to use
*/
- public void setIDGenerator(final IdentifierGenerationStrategy newIDGenerator) {
- this.idGenerator = newIDGenerator;
+ public void setIDGenerator(@Nonnull final IdentifierGenerationStrategy newIDGenerator) {
+ idGenerator = Constraint.isNotNull(newIDGenerator, "IdentifierGenerationStrategy cannot be null");
}
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
index 27b41315b..aabde6b7e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* Action that creates an empty {@link Response}, and sets it as the
@@ -72,7 +72,7 @@ public class AddResponseShell extends AbstractProfileAction {
/** Constructor. */
public AddResponseShell() {
// Default strategy is a 16-byte secure random source.
- idGeneratorLookupStrategy = prc -> new SecureRandomIdentifierGenerationStrategy();
+ idGeneratorLookupStrategy = prc ->IdentifierGenerationStrategy.getInstance(ProviderType.SECURE);
}
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
index 5562b0e76..edc867da8 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
@@ -69,12 +69,13 @@ import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Resolver;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* SAML 2 Artifact Binding decoder, support both HTTP GET and POST.
@@ -135,7 +136,7 @@ public class HTTPArtifactDecoder extends BaseHttpServletRequestXMLMessageDecoder
}
if (idStrategy == null) {
- idStrategy = new SecureRandomIdentifierGenerationStrategy();
+ idStrategy = IdentifierGenerationStrategy.getInstance(ProviderType.SECURE);
}
if (artifactBuilderFactory == null) {
@@ -178,9 +179,9 @@ public class HTTPArtifactDecoder extends BaseHttpServletRequestXMLMessageDecoder
*
* @param strategy the identifier generation strategy
*/
- public void setIdentifierGenerationStrategy(@Nullable final IdentifierGenerationStrategy strategy) {
+ public void setIdentifierGenerationStrategy(@Nonnull final IdentifierGenerationStrategy strategy) {
checkSetterPreconditions();
- idStrategy = strategy;
+ idStrategy = Constraint.isNotNull(strategy, "IdentifierGenerationStrategy cannot be null");
}
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
index 7d4ef47c9..6f1e6a7b5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* Abstract action that creates an empty object derived from {@link StatusResponseType},
@@ -84,7 +84,7 @@ public abstract class AbstractResponseShellAction<MessageType extends StatusResp
/** Constructor. */
public AbstractResponseShellAction() {
// Default strategy is a 16-byte secure random source.
- idGeneratorLookupStrategy = prc -> new SecureRandomIdentifierGenerationStrategy();
+ idGeneratorLookupStrategy = prc ->IdentifierGenerationStrategy.getInstance(ProviderType.SECURE);
}
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
index 16371bb39..f0ecded0f 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
@@ -58,7 +58,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* Action that builds a {@link NameID} and adds it to the {@link Subject} of all the assertions
@@ -152,11 +152,7 @@ public class AddNameIDToSubjects extends AbstractProfileAction {
assertionsLookupStrategy = new AssertionStrategy();
// Default strategy is a 16-byte secure random source.
- idGeneratorLookupStrategy = new Function<>() {
- public IdentifierGenerationStrategy apply(final ProfileRequestContext input) {
- return new SecureRandomIdentifierGenerationStrategy();
- }
- };
+ idGeneratorLookupStrategy = prc ->IdentifierGenerationStrategy.getInstance(ProviderType.SECURE);
// Default predicate pulls SPNameQualifier from NameIDPolicy and does a direct match
// against issuer. Handles simple cases, overridden for complex ones.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
index 4e9a4ebbe..a4b3f8741 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
@@ -45,7 +45,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* Action that creates an empty object derived from {@link StatusResponseType},
@@ -87,7 +87,7 @@ public class AddStatusResponseShell extends AbstractProfileAction {
/** Constructor. */
public AddStatusResponseShell() {
// Default strategy is a 16-byte secure random source.
- idGeneratorLookupStrategy = prc -> new SecureRandomIdentifierGenerationStrategy();
+ idGeneratorLookupStrategy = prc ->IdentifierGenerationStrategy.getInstance(ProviderType.SECURE);
}
/**
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/core/tests/SignedAssertionTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/core/tests/SignedAssertionTest.java
index 7e25d33c2..08f3fc43d 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/core/tests/SignedAssertionTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/core/tests/SignedAssertionTest.java
@@ -24,7 +24,8 @@ import java.security.KeyPair;
import java.time.Instant;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.shared.security.impl.RandomIdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.xml.SerializeSupport;
import org.opensaml.core.criterion.EntityIdCriterion;
@@ -74,7 +75,7 @@ public class SignedAssertionTest extends XMLObjectBaseTestCase {
private XMLObjectBuilder<Signature> signatureBuilder;
/** Generator of element IDs. */
- private RandomIdentifierGenerationStrategy idGenerator;
+ private IdentifierGenerationStrategy idGenerator;
@BeforeMethod
protected void setUp() throws Exception {
@@ -90,7 +91,7 @@ public class SignedAssertionTest extends XMLObjectBaseTestCase {
AuthnStatement.DEFAULT_ELEMENT_NAME);
signatureBuilder = builderFactory.getBuilderOrThrow(Signature.DEFAULT_ELEMENT_NAME);
- idGenerator = new RandomIdentifierGenerationStrategy();
+ idGenerator = IdentifierGenerationStrategy.getInstance(ProviderType.RANDOM);
}
/**
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list