[java-opensaml] branch main updated: IDP-2069 - Null Handling Task

Scott Cantor cantor.2 at osu.edu
Mon Mar 13 15:11:19 UTC 2023


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=5121c251a4d633b48f42ef0536be145506a91d44

The following commit(s) were added to refs/heads/main by this push:
     new 5121c251a IDP-2069 - Null Handling Task
5121c251a is described below

commit 5121c251a4d633b48f42ef0536be145506a91d44
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Mar 13 11:11:17 2023 -0400

    IDP-2069 - Null Handling Task
    
    https://shibboleth.atlassian.net/browse/IDP-2069
    
    Clean opensaml-security-api.
---
 .../security/credential/AbstractCredential.java    | 14 ++++----
 .../security/credential/BasicCredential.java       | 17 +++++----
 .../opensaml/security/credential/Credential.java   | 16 ++++-----
 .../security/credential/MutableCredential.java     | 12 ++++---
 .../opensaml/security/credential/UsageType.java    |  6 ++--
 .../crypto/ec/curves/AbstractNamedCurve.java       |  6 ++--
 .../security/crypto/ec/curves/BasicNamedCurve.java |  9 +++--
 .../security/crypto/ec/curves/BrainpoolP256r1.java |  6 ++--
 .../security/crypto/ec/curves/BrainpoolP320r1.java |  6 ++--
 .../security/crypto/ec/curves/BrainpoolP384r1.java |  6 ++--
 .../security/crypto/ec/curves/BrainpoolP512r1.java |  6 ++--
 .../security/crypto/ec/curves/Secp112r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp112r2.java       |  6 ++--
 .../security/crypto/ec/curves/Secp128r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp128r2.java       |  6 ++--
 .../security/crypto/ec/curves/Secp160k1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp160r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp160r2.java       |  6 ++--
 .../security/crypto/ec/curves/Secp192k1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp192r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp224k1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp224r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp256k1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp256r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp384r1.java       |  6 ++--
 .../security/crypto/ec/curves/Secp521r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect113r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect113r2.java       |  6 ++--
 .../security/crypto/ec/curves/Sect131r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect131r2.java       |  6 ++--
 .../security/crypto/ec/curves/Sect163k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect163r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect163r2.java       |  6 ++--
 .../security/crypto/ec/curves/Sect193r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect193r2.java       |  6 ++--
 .../security/crypto/ec/curves/Sect233k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect233r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect239k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect283k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect283r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect409k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect409r1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect571k1.java       |  6 ++--
 .../security/crypto/ec/curves/Sect571r1.java       |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb191v1.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb191v2.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb191v3.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb239v1.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb239v2.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb239v3.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb359v1.java  |  6 ++--
 .../security/crypto/ec/curves/X962c2tnb431r1.java  |  6 ++--
 .../security/crypto/ec/curves/X962prime192v2.java  |  6 ++--
 .../security/crypto/ec/curves/X962prime192v3.java  |  6 ++--
 .../security/crypto/ec/curves/X962prime239v1.java  |  6 ++--
 .../security/crypto/ec/curves/X962prime239v2.java  |  6 ++--
 .../security/crypto/ec/curves/X962prime239v3.java  |  6 ++--
 .../ServletRequestX509CredentialAdapter.java       | 23 ++++++++-----
 .../security/x509/BasicX509Credential.java         | 38 ++++++++++----------
 .../security/x509/TrustedNamesCriterion.java       | 25 ++++++++------
 .../org/opensaml/security/x509/X509Credential.java |  6 ++--
 .../security/x509/X509DigestCriterion.java         | 20 +++++------
 .../org/opensaml/security/x509/X509Support.java    |  2 +-
 .../opensaml/security/crypto/KeySupportTest.java   | 15 --------
 .../opensaml/security/crypto/SigningUtilTest.java  |  3 +-
 .../httpclient/HttpClientSecuritySupportTest.java  | 40 ++++++----------------
 .../opensaml/security/x509/X509SupportTest.java    | 32 ++++++++++-------
 67 files changed, 334 insertions(+), 250 deletions(-)

diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
index 004f631d5..865447bcf 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
@@ -35,25 +35,25 @@ import net.shibboleth.shared.primitive.StringSupport;
 public abstract class AbstractCredential implements Credential {
 
     /** ID of the entity owning this credential. */
-    private String entityId;
+    @Nullable private String entityId;
     
     /** Usage type of this credential. */
-    private UsageType usageType;
+    @Nullable private UsageType usageType;
     
     /** Key names for this credential. */
-    private Collection<String> keyNames;
+    @Nonnull private Collection<String> keyNames;
     
     /** Public key of this credential. */
-    private PublicKey publicKey;
+    @Nullable private PublicKey publicKey;
     
     /** Secret key for this credential. */
-    private SecretKey secretKey;
+    @Nullable private SecretKey secretKey;
     
     /** Private key of this credential. */
-    private PrivateKey privateKey;
+    @Nullable private PrivateKey privateKey;
     
     /** Credential context of this credential. */
-    private final CredentialContextSet credentialContextSet;
+    @Nonnull private final CredentialContextSet credentialContextSet;
     
     /**
      * Constructor.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/BasicCredential.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/BasicCredential.java
index 168fdb8c8..67e4ecd43 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/BasicCredential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/BasicCredential.java
@@ -29,13 +29,19 @@ import javax.crypto.SecretKey;
  */
 public class BasicCredential extends AbstractCredential implements MutableCredential {
 
+
+    /**
+     * Default constructor.
+     */
+    public BasicCredential() {
+    }
+
     /**
      * Constructor.
      *
      * @param publicKey the credential public key
      */
     public BasicCredential(@Nonnull final PublicKey publicKey) {
-        super();
         setPublicKey(publicKey);
     }
     
@@ -46,7 +52,6 @@ public class BasicCredential extends AbstractCredential implements MutableCreden
      * @param privateKey the credential private key
      */
     public BasicCredential(@Nonnull final PublicKey publicKey, @Nullable final PrivateKey privateKey) {
-        super();
         setPublicKey(publicKey);
         if (privateKey != null) {
             setPrivateKey(privateKey);
@@ -59,17 +64,11 @@ public class BasicCredential extends AbstractCredential implements MutableCreden
      * @param secretKey the credential secret key
      */
     public BasicCredential(@Nonnull final SecretKey secretKey) {
-        super();
         setSecretKey(secretKey);
     }
     
-    /** Constructor. */
-    protected BasicCredential() {
-        super();
-    }
-    
     /** {@inheritDoc} */
-    public Class<? extends Credential> getCredentialType() {
+    @Nonnull public Class<? extends Credential> getCredentialType() {
         return Credential.class;
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/Credential.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/Credential.java
index a16044fb6..8c5a712c2 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/Credential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/Credential.java
@@ -38,14 +38,14 @@ public interface Credential {
      * 
      * @return unique ID of the entity this credential is for
      */
-    @Nullable public String getEntityId();
+    @Nullable String getEntityId();
     
     /**
      * Gets usage type of this credential.
      * 
      * @return usage type of this credential
      */
-    @Nullable public UsageType getUsageType();
+    @Nullable UsageType getUsageType();
     
     /**
      * Gets key names for this credential. These names may be used to reference a key(s) exchanged 
@@ -55,28 +55,28 @@ public interface Credential {
      * 
      * @return key names for this credential
      */
-    @Nonnull public Collection<String> getKeyNames();
+    @Nonnull Collection<String> getKeyNames();
 
     /**
      * Gets the public key for the entity.
      * 
      * @return public key for the entity
      */
-    @Nullable public PublicKey getPublicKey();
+    @Nullable PublicKey getPublicKey();
 
     /**
      * Gets the private key for the entity if there is one.
      * 
      * @return the private key for the entity
      */
-    @Nullable public PrivateKey getPrivateKey();
+    @Nullable PrivateKey getPrivateKey();
     
     /**
      * Gets the secret key for this entity.
      * 
      * @return secret key for this entity
      */
-    @Nullable public SecretKey getSecretKey();
+    @Nullable SecretKey getSecretKey();
     
     /**
      * Get the set of credential context information, which provides additional information
@@ -84,7 +84,7 @@ public interface Credential {
      * 
      * @return set of resolution contexts of the credential
      */
-    @Nullable public CredentialContextSet getCredentialContextSet();
+    @Nullable CredentialContextSet getCredentialContextSet();
     
     /**
      * Get the primary type of the credential instance. This will usually be the primary sub-interface
@@ -92,5 +92,5 @@ public interface Credential {
      * 
      * @return the credential type
      */
-    @Nonnull public Class<? extends Credential> getCredentialType();
+    @Nonnull Class<? extends Credential> getCredentialType();
 }
\ No newline at end of file
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/MutableCredential.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/MutableCredential.java
index 72932102a..e93e032d6 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/MutableCredential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/MutableCredential.java
@@ -20,6 +20,8 @@ package org.opensaml.security.credential;
 import java.security.PrivateKey;
 import java.security.PublicKey;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.crypto.SecretKey;
 
 /**
@@ -32,34 +34,34 @@ public interface MutableCredential extends Credential {
      * 
      * @param newEntityID ID of the entity this credential is for
      */
-    public void setEntityId(String newEntityID);
+    void setEntityId(@Nullable final String newEntityID);
 
     /**
      * Sets the usage type for this credential.
      * 
      * @param newUsageType usage type for this credential
      */
-    public void setUsageType(UsageType newUsageType);
+    void setUsageType(@Nonnull final UsageType newUsageType);
 
     /**
      * Sets the public key for this credential.
      * 
      * @param newPublicKey public key for this credential
      */
-    public void setPublicKey(PublicKey newPublicKey);
+    void setPublicKey(@Nonnull final PublicKey newPublicKey);
     
     /**
      * Sets the private key for this credential.
      * 
      * @param newPrivateKey private key for this credential
      */
-    public void setPrivateKey(PrivateKey newPrivateKey);
+    void setPrivateKey(@Nonnull final PrivateKey newPrivateKey);
 
     /**
      * Sets the secret key for this credential.
      * 
      * @param newSecretKey secret key for this credential
      */ 
-    public void setSecretKey(SecretKey newSecretKey);
+    void setSecretKey(@Nonnull final SecretKey newSecretKey);
 
 }
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/UsageType.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/UsageType.java
index 66ac3d397..424b3b622 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/UsageType.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/UsageType.java
@@ -19,6 +19,8 @@ package org.opensaml.security.credential;
 
 import javax.annotation.Nonnull;
 
+import net.shibboleth.shared.logic.Constraint;
+
 /** Credential usage types. */
 public enum UsageType {
     
@@ -32,7 +34,7 @@ public enum UsageType {
     UNSPECIFIED("unspecified");
     
     /** Enum string value. */
-    private String value;
+    @Nonnull private String value;
     
     /**
      * Constructor.
@@ -40,7 +42,7 @@ public enum UsageType {
      * @param v the enum string value
      */
     private UsageType(@Nonnull final String v) {
-        value = v;
+        value = Constraint.isNotNull(v, "UsageType string cannot be null");
     }
     
     /**
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/AbstractNamedCurve.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/AbstractNamedCurve.java
index ea5e4f98d..96aefca76 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/AbstractNamedCurve.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/AbstractNamedCurve.java
@@ -21,6 +21,7 @@ import java.security.interfaces.ECPublicKey;
 import java.security.spec.ECGenParameterSpec;
 import java.security.spec.ECParameterSpec;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.bouncycastle.jce.ECNamedCurveTable;
@@ -49,7 +50,7 @@ public abstract class AbstractNamedCurve extends AbstractInitializableComponent
     @NonnullAfterInit private ECParameterSpec paramSpec;
     
     /** {@inheritDoc} */
-    @NonnullAfterInit public ECParameterSpec getParameterSpec() {
+    @Nonnull public ECParameterSpec getParameterSpec() {
         checkComponentActive();
         return paramSpec;
     }
@@ -115,5 +116,4 @@ public abstract class AbstractNamedCurve extends AbstractInitializableComponent
                 .toString();
     }
     
-}
-
+}
\ No newline at end of file
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
index aae09d5d7..4278b58de 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
@@ -58,17 +58,17 @@ public class BasicNamedCurve implements NamedCurve {
     }
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return oid;
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return name;
     }
 
     /** {@inheritDoc} */
-    public ECParameterSpec getParameterSpec() {
+    @Nonnull public ECParameterSpec getParameterSpec() {
         return params;
     }
     
@@ -80,5 +80,4 @@ public class BasicNamedCurve implements NamedCurve {
                 .toString();
     }
     
-}
-
+}
\ No newline at end of file
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java
index e201ff4d5..332746ddc 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP256r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'brainpoolP256r1', OID: 1.3.36.3.3.2.8.1.1.7.
  */
 public class BrainpoolP256r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.36.3.3.2.8.1.1.7";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "brainpoolP256r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java
index 188e8f5a3..7398397e8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP320r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'brainpoolP320r1', OID: 1.3.36.3.3.2.8.1.1.9.
  */
 public class BrainpoolP320r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.36.3.3.2.8.1.1.9";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "brainpoolP320r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java
index cbd23293c..ce8822d7b 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP384r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'brainpoolP384r1', OID: 1.3.36.3.3.2.8.1.1.11.
  */
 public class BrainpoolP384r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.36.3.3.2.8.1.1.11";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "brainpoolP384r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java
index 47ccb6c53..4c14ba9c0 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BrainpoolP512r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'brainpoolP512r1', OID: 1.3.36.3.3.2.8.1.1.13.
  */
 public class BrainpoolP512r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.36.3.3.2.8.1.1.13";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "brainpoolP512r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java
index 754da92e8..f53c4e761 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp112r1', OID: 1.3.132.0.6.
  */
 public class Secp112r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.6";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp112r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java
index 9e717b694..2b03a912e 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp112r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp112r2', OID: 1.3.132.0.7.
  */
 public class Secp112r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.7";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp112r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java
index 88dda4465..d15254e4c 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp128r1', OID: 1.3.132.0.28.
  */
 public class Secp128r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.28";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp128r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java
index d047a2edd..09ef832b7 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp128r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp128r2', OID: 1.3.132.0.29.
  */
 public class Secp128r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.29";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp128r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java
index 543cb825c..96a02bb90 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp160k1', OID: 1.3.132.0.9.
  */
 public class Secp160k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.9";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp160k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java
index d8707f041..554030417 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp160r1', OID: 1.3.132.0.8.
  */
 public class Secp160r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.8";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp160r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java
index 973610b19..f20f27da9 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp160r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp160r2', OID: 1.3.132.0.30.
  */
 public class Secp160r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.30";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp160r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java
index 5bc357784..f90a6d279 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp192k1', OID: 1.3.132.0.31.
  */
 public class Secp192k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.31";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp192k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java
index 008cd1a6c..a70ca8e07 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp192r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp192r1', OID: 1.2.840.10045.3.1.1.
  */
 public class Secp192r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.1";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp192r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java
index 7f71d766d..ab16ec7bb 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp224k1', OID: 1.3.132.0.32.
  */
 public class Secp224k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.32";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp224k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java
index ba895d119..851ae278d 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp224r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp224r1', OID: 1.3.132.0.33.
  */
 public class Secp224r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.33";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp224r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java
index 522d72ab6..42f01b46b 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp256k1', OID: 1.3.132.0.10.
  */
 public class Secp256k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.10";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp256k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256r1.java
index 56baf1555..1c5f51646 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp256r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp256r1', OID: 1.2.840.10045.3.1.7.
  */
 public class Secp256r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.7";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp256r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp384r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp384r1.java
index fc5ce3af4..37bfb6c2c 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp384r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp384r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp384r1', OID: 1.3.132.0.34.
  */
 public class Secp384r1 extends AbstractNamedCurve {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.34";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp384r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp521r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp521r1.java
index 8139e8da4..c787689f8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp521r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Secp521r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'secp521r1', OID: 1.3.132.0.35.
  */
 public class Secp521r1 extends AbstractNamedCurve {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.35";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "secp521r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java
index 78124128c..76c5acd48 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect113r1', OID: 1.3.132.0.4.
  */
 public class Sect113r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.4";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect113r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java
index c67b30568..f9379ec5d 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect113r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect113r2', OID: 1.3.132.0.5.
  */
 public class Sect113r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.5";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect113r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java
index 05bee5ddb..512c718d1 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect131r1', OID: 1.3.132.0.22.
  */
 public class Sect131r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.22";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect131r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java
index a3d05ff2c..5dee49a54 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect131r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect131r2', OID: 1.3.132.0.23.
  */
 public class Sect131r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.23";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect131r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java
index fb194aeeb..8a943028c 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect163k1', OID: 1.3.132.0.1.
  */
 public class Sect163k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.1";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect163k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java
index 8443ab822..22b24ca7b 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect163r1', OID: 1.3.132.0.2.
  */
 public class Sect163r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.2";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect163r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java
index e2c40c32c..213bdb908 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect163r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect163r2', OID: 1.3.132.0.15.
  */
 public class Sect163r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.15";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect163r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java
index f917401db..17e357c21 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect193r1', OID: 1.3.132.0.24.
  */
 public class Sect193r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.24";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect193r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java
index 493d2b882..a10f47b28 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect193r2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect193r2', OID: 1.3.132.0.25.
  */
 public class Sect193r2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.25";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect193r2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java
index 8ae2c0bb8..4eb355d5b 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect233k1', OID: 1.3.132.0.26.
  */
 public class Sect233k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.26";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect233k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java
index 6be6e92e2..ba4d271ba 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect233r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect233r1', OID: 1.3.132.0.27.
  */
 public class Sect233r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.27";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect233r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java
index d88cda61d..fbd7e4618 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect239k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect239k1', OID: 1.3.132.0.3.
  */
 public class Sect239k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.3";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect239k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java
index 51f28298c..5d3a84230 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect283k1', OID: 1.3.132.0.16.
  */
 public class Sect283k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.16";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect283k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java
index bbd8dc992..434bbd9a0 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect283r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect283r1', OID: 1.3.132.0.17.
  */
 public class Sect283r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.17";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect283r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java
index 80bd951b1..6f844efb0 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect409k1', OID: 1.3.132.0.36.
  */
 public class Sect409k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.36";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect409k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java
index 659bb3292..726dce9b0 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect409r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect409r1', OID: 1.3.132.0.37.
  */
 public class Sect409r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.37";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect409r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java
index ff6613714..3bf0c0af7 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571k1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect571k1', OID: 1.3.132.0.38.
  */
 public class Sect571k1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.38";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect571k1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java
index f0c9d4bff..3c210a688 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/Sect571r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'sect571r1', OID: 1.3.132.0.39.
  */
 public class Sect571r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.3.132.0.39";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "sect571r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java
index f484104b3..cdef88c71 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb191v1', OID: 1.2.840.10045.3.0.5.
  */
 public class X962c2tnb191v1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.5";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb191v1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java
index 40996cc97..bae04c291 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb191v2', OID: 1.2.840.10045.3.0.6.
  */
 public class X962c2tnb191v2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.6";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb191v2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java
index e4ce943fa..6a5f3bf82 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb191v3.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb191v3', OID: 1.2.840.10045.3.0.7.
  */
 public class X962c2tnb191v3 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.7";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb191v3";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java
index 7e23a70c7..900d0e670 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb239v1', OID: 1.2.840.10045.3.0.11.
  */
 public class X962c2tnb239v1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.11";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb239v1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java
index 2a570496f..730c6a286 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb239v2', OID: 1.2.840.10045.3.0.12.
  */
 public class X962c2tnb239v2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.12";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb239v2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java
index 65f9049a6..efff6990f 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb239v3.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb239v3', OID: 1.2.840.10045.3.0.13.
  */
 public class X962c2tnb239v3 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.13";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb239v3";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java
index bfafea7e6..f9a1b18db 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb359v1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb359v1', OID: 1.2.840.10045.3.0.18.
  */
 public class X962c2tnb359v1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.18";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb359v1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java
index ffd834e8a..d2775a4b9 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962c2tnb431r1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 c2tnb431r1', OID: 1.2.840.10045.3.0.20.
  */
 public class X962c2tnb431r1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.0.20";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 c2tnb431r1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java
index a3602e163..99d2d9add 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 prime192v2', OID: 1.2.840.10045.3.1.2.
  */
 public class X962prime192v2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.2";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 prime192v2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java
index 29658a4b0..e6dc3023f 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime192v3.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 prime192v3', OID: 1.2.840.10045.3.1.3.
  */
 public class X962prime192v3 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.3";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 prime192v3";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java
index f0b26b48a..842391161 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v1.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 prime239v1', OID: 1.2.840.10045.3.1.4.
  */
 public class X962prime239v1 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.4";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 prime239v1";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java
index 452fdd607..cdd7c8c79 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v2.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 prime239v2', OID: 1.2.840.10045.3.1.5.
  */
 public class X962prime239v2 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.5";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 prime239v2";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java
index 4c61976a8..78c0c755c 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/X962prime239v3.java
@@ -17,18 +17,20 @@
 
 package org.opensaml.security.crypto.ec.curves;
 
+import javax.annotation.Nonnull;
+
 /**
  * Descriptor for named curve 'X9.62 prime239v3', OID: 1.2.840.10045.3.1.6.
  */
 public class X962prime239v3 extends AbstractNamedCurve  {
 
     /** {@inheritDoc} */
-    public String getObjectIdentifier() {
+    @Nonnull public String getObjectIdentifier() {
         return "1.2.840.10045.3.1.6";
     }
 
     /** {@inheritDoc} */
-    public String getName() {
+    @Nonnull public String getName() {
         return "X9.62 prime239v3";
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ServletRequestX509CredentialAdapter.java b/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ServletRequestX509CredentialAdapter.java
index 27741839d..3bff1980a 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ServletRequestX509CredentialAdapter.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/messaging/ServletRequestX509CredentialAdapter.java
@@ -24,6 +24,9 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 import org.opensaml.security.SecurityException;
 import org.opensaml.security.credential.AbstractCredential;
 import org.opensaml.security.credential.Credential;
@@ -31,6 +34,10 @@ import org.opensaml.security.credential.UsageType;
 import org.opensaml.security.x509.X509Credential;
 
 import jakarta.servlet.ServletRequest;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 /**
  * An adapter that exposes the X.509 certificates contained in the servlet request attribute.
@@ -44,10 +51,10 @@ public class ServletRequestX509CredentialAdapter extends AbstractCredential impl
     public static final String JAKARTA_X509_CERT_REQUEST_ATTRIBUTE = "jakarta.servlet.request.X509Certificate";
     
     /** The entity certificate. */
-    private X509Certificate cert;
+    @Nonnull private X509Certificate cert;
     
     /** The certificate chain. */
-    private List<X509Certificate> certChain;
+    @Nonnull @NonnullElements private List<X509Certificate> certChain;
 
     /**
      * Constructor.
@@ -69,32 +76,32 @@ public class ServletRequestX509CredentialAdapter extends AbstractCredential impl
         }
 
         cert = chain[0];
-        certChain = Arrays.asList(chain);
+        certChain = CollectionSupport.copyToList(Arrays.asList(chain));
         setUsageType(UsageType.SIGNING);
     }
 
     /** {@inheritDoc} */
-    public Class<? extends Credential> getCredentialType() {
+    @Nonnull public Class<? extends Credential> getCredentialType() {
         return X509Credential.class;
     }
 
     /** {@inheritDoc} */
-    public X509Certificate getEntityCertificate() {
+    @Nonnull public X509Certificate getEntityCertificate() {
         return cert;
     }
 
     /** {@inheritDoc} */
-    public Collection<X509Certificate> getEntityCertificateChain() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<X509Certificate> getEntityCertificateChain() {
         return certChain;
     }
 
     /** {@inheritDoc} */
-    public Collection<X509CRL> getCRLs() {
+    @Nullable @NonnullElements @Unmodifiable @NotLive public Collection<X509CRL> getCRLs() {
         return null;
     }
 
     /** {@inheritDoc} */
-    public PublicKey getPublicKey() {
+    @Nullable public PublicKey getPublicKey() {
         return getEntityCertificate().getPublicKey();
     }
     
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
index e4da661ff..df119f4df 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
@@ -21,7 +21,6 @@ import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.cert.X509CRL;
 import java.security.cert.X509Certificate;
-import java.util.ArrayList;
 import java.util.Collection;
 
 import javax.annotation.Nonnull;
@@ -34,7 +33,9 @@ import org.opensaml.security.credential.Credential;
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.logic.Constraint;
 
 /**
@@ -58,7 +59,7 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
      */
     public BasicX509Credential(
             @Nonnull @ParameterName(name="entityCertificate") final X509Certificate entityCertificate) {
-        setEntityCertificate(entityCertificate);
+        entityCert = Constraint.isNotNull(entityCertificate, "Credential certificate cannot be null");
     }
     
     /**
@@ -70,7 +71,7 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
     public BasicX509Credential(
             @Nonnull @ParameterName(name="entityCertificate") final X509Certificate entityCertificate,
             @ParameterName(name="privateKey") @Nonnull final PrivateKey privateKey) {
-        setEntityCertificate(entityCertificate);
+        entityCert = Constraint.isNotNull(entityCertificate, "Credential certificate cannot be null");
         setPrivateKey(privateKey);
     }
 
@@ -81,8 +82,7 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
     }
 
     /** {@inheritDoc} */
-    @Override
-    @Nullable @NonnullElements public Collection<X509CRL> getCRLs() {
+    @Nullable @NonnullElements @Unmodifiable @NotLive public Collection<X509CRL> getCRLs() {
         return crls;
     }
 
@@ -92,11 +92,14 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
      * @param newCRLs CRLs for this credential
      */
     public void setCRLs(@Nullable @NonnullElements final Collection<X509CRL> newCRLs) {
-        crls = newCRLs;
+        if (newCRLs != null) {
+            crls = CollectionSupport.copyToList(newCRLs);
+        } else {
+            crls = CollectionSupport.emptyList();
+        }
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public X509Certificate getEntityCertificate() {
         return entityCert;
     }
@@ -113,7 +116,7 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
     
     /** {@inheritDoc} */
     @Override
-    @Nonnull public PublicKey getPublicKey() {
+    @Nullable public PublicKey getPublicKey() {
         return getEntityCertificate().getPublicKey();
     }
     
@@ -124,19 +127,17 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
      * @param newPublicKey not supported
      */
     @Override
-    public void setPublicKey(final PublicKey newPublicKey) {
+    public void setPublicKey(@Nullable final PublicKey newPublicKey) {
         throw new UnsupportedOperationException("Public key may not be set explicitly on an X509 credential");
     }
 
     /** {@inheritDoc} */
-    @Override
-    @Nonnull @NonnullElements public Collection<X509Certificate> getEntityCertificateChain() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<X509Certificate> getEntityCertificateChain() {
         synchronized(this) {
             if (entityCertChain == null) {
-                final LazySet<X509Certificate> constructedChain = new LazySet<>();
-                constructedChain.add(entityCert);
-                return constructedChain;
+                return CollectionSupport.singletonList(entityCert);
             }
+            assert entityCertChain != null;
             return entityCertChain;
         }
     }
@@ -147,12 +148,13 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
      * 
      * @param newCertificateChain entity certificate chain for this credential
      */
-    public void setEntityCertificateChain(@Nonnull @NotEmpty @NonnullElements final Collection<X509Certificate> newCertificateChain) {
+    public void setEntityCertificateChain(
+            @Nonnull @NotEmpty @NonnullElements final Collection<X509Certificate> newCertificateChain) {
         Constraint.isNotNull(newCertificateChain, "Certificate chain collection cannot be null");
         Constraint.isNotEmpty(newCertificateChain, "Certificate chain collection cannot be empty");
         
         synchronized(this) {
-            entityCertChain = new ArrayList<>(newCertificateChain);
+            entityCertChain = CollectionSupport.copyToList(newCertificateChain);
         }
     }
     
@@ -172,7 +174,7 @@ public class BasicX509Credential extends BasicCredential implements X509Credenti
      *  @param newSecretKey unsupported
      */
     @Override
-    public void setSecretKey(final SecretKey newSecretKey) {
+    public void setSecretKey(@Nullable final SecretKey newSecretKey) {
         throw new UnsupportedOperationException("An X509Credential may not contain a secret key");
     }
 
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/TrustedNamesCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/TrustedNamesCriterion.java
index 4471abb18..6f1536658 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/TrustedNamesCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/TrustedNamesCriterion.java
@@ -17,7 +17,6 @@
 
 package org.opensaml.security.x509;
 
-import java.util.Collections;
 import java.util.Set;
 
 import javax.annotation.Nonnull;
@@ -26,6 +25,7 @@ import javax.annotation.Nullable;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.primitive.StringSupport;
 import net.shibboleth.shared.resolver.Criterion;
 
@@ -37,15 +37,19 @@ import net.shibboleth.shared.resolver.Criterion;
 public class TrustedNamesCriterion implements Criterion {
     
     /** The set of trusted names. */
-    private Set<String> trustedNames;
+    @Nonnull @NonnullElements private Set<String> trustedNames;
     
     /**
      * Constructor.
      *
      * @param names the set of trusted names
      */
-    public TrustedNamesCriterion(@Nonnull final Set<String> names)  {
-        setTrustedNames(names);
+    public TrustedNamesCriterion(@Nullable @NonnullElements final Set<String> names)  {
+        if (names != null) {
+            trustedNames = CollectionSupport.copyToSet(StringSupport.normalizeStringCollection(names));
+        } else {
+            trustedNames = CollectionSupport.emptySet();
+        }
     }
     
     /**
@@ -62,13 +66,12 @@ public class TrustedNamesCriterion implements Criterion {
      * 
      * @param names the new trusted names
      */
-    public void setTrustedNames(@Nullable final Set<String> names) {
-        if (names == null) {
-            trustedNames = Collections.emptySet();
-            return;
+    public void setTrustedNames(@Nullable @NonnullElements final Set<String> names) {
+        if (names != null) {
+            trustedNames = CollectionSupport.copyToSet(StringSupport.normalizeStringCollection(names));
+        } else {
+            trustedNames = CollectionSupport.emptySet();
         }
-        
-        trustedNames = Set.copyOf(StringSupport.normalizeStringCollection(names));
     }
     
     /** {@inheritDoc} */
@@ -105,4 +108,4 @@ public class TrustedNamesCriterion implements Criterion {
         return false;
     }
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Credential.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Credential.java
index 2045868c5..ee179e6e8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Credential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Credential.java
@@ -27,6 +27,8 @@ import javax.annotation.Nullable;
 import org.opensaml.security.credential.Credential;
 
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * An entity credential based on key material and other information (e.g. certificates and certificate
@@ -51,12 +53,12 @@ public interface X509Credential extends Credential {
      * 
      * @return entities certificate chain
      */
-    @Nonnull @NonnullElements public Collection<X509Certificate> getEntityCertificateChain();
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<X509Certificate> getEntityCertificateChain();
 
     /**
      * Gets a collection of CRLs associated with the credential.
      * 
      * @return CRLs associated with the credential
      */
-    @Nullable @NonnullElements public Collection<X509CRL> getCRLs();
+    @Nullable @NonnullElements @Unmodifiable @NotLive public Collection<X509CRL> getCRLs();
 }
\ No newline at end of file
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
index 24ce22975..f67fe7301 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
@@ -34,10 +34,10 @@ import org.apache.commons.codec.binary.Hex;
 public final class X509DigestCriterion implements Criterion {
     
     /** Digest algorithm. */
-    private String algorithm;
+    @Nonnull private String algorithm;
     
     /** X.509 certificate digest. */
-    private byte[] x509digest;
+    @Nonnull private byte[] x509digest;
     
     /**
      * Constructor.
@@ -46,8 +46,9 @@ public final class X509DigestCriterion implements Criterion {
      * @param digest certificate digest
      */
     public X509DigestCriterion(@Nonnull final String alg, @Nonnull final byte[] digest) {
-        setAlgorithm(alg);
-        setDigest(digest);
+        algorithm = Constraint.isNotNull(
+                StringSupport.trimOrNull(alg), "Certificate digest algorithm cannot be null or empty");
+        x509digest = Constraint.isNotEmpty(digest, "Certificate digest criteria value cannot be null or empty");
     }
 
     /**
@@ -65,10 +66,8 @@ public final class X509DigestCriterion implements Criterion {
      * @param alg the digest algorithm to set
      */
     public void setAlgorithm(@Nonnull final String alg) {
-        final String trimmed = StringSupport.trimOrNull(alg);
-        Constraint.isNotNull(trimmed, "Certificate digest algorithm cannot be null or empty");
-
-        algorithm = trimmed;
+        algorithm = Constraint.isNotNull(
+                StringSupport.trimOrNull(alg), "Certificate digest algorithm cannot be null or empty");
     }
     
     /**
@@ -86,10 +85,7 @@ public final class X509DigestCriterion implements Criterion {
      * @param digest the certificate digest to set
      */
     public void setDigest(@Nonnull final byte[] digest) {
-        if (digest == null || digest.length == 0) {
-            throw new IllegalArgumentException("Certificate digest criteria value cannot be null or empty");
-        }
-        x509digest = digest;
+        x509digest = Constraint.isNotEmpty(digest, "Certificate digest criteria value cannot be null or empty");
     }
     
     /** {@inheritDoc} */
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
index 800224c4c..a48479037 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
@@ -48,6 +48,7 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.codec.DecodingException;
 import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.primitive.StringSupport;
 
 import org.bouncycastle.asn1.ASN1Primitive;
@@ -65,7 +66,6 @@ import org.cryptacular.x509.dn.StandardAttributeType;
 import org.opensaml.security.SecurityException;
 import org.opensaml.security.crypto.KeySupport;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Strings;
 import com.google.common.io.ByteStreams;
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java
index e0f9a78cf..5ce1ad85c 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java
@@ -201,21 +201,6 @@ public class KeySupportTest {
         } catch (final SecurityException e) {
            // expected 
         }
-        
-        try {
-            // null key, should be an error
-            Assert.assertFalse(KeySupport.matchKeyPair(kp1rsa.getPublic(), null));
-            Assert.fail("Null key should have caused failure");
-        } catch (final SecurityException e) {
-           // expected 
-        }
-        try {
-            // null key, should be an error
-            Assert.assertFalse(KeySupport.matchKeyPair(null, kp1rsa.getPrivate()));
-            Assert.fail("Key algorithm mismatch should have caused evaluation failure");
-        } catch (final SecurityException e) {
-            // expected
-        }
     }
     
     @Test
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/SigningUtilTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/SigningUtilTest.java
index fcb6addad..13cf02629 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/crypto/SigningUtilTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/crypto/SigningUtilTest.java
@@ -35,12 +35,11 @@ import javax.crypto.SecretKey;
 import org.opensaml.security.SecurityException;
 import org.opensaml.security.credential.Credential;
 import org.opensaml.security.credential.CredentialSupport;
-import org.opensaml.security.crypto.KeySupport;
-import org.opensaml.security.crypto.SigningUtil;
 
 /**
  * Test the SigningUtil operations for generating and verifying simple, raw signatures and MAC's.
  */
+ at SuppressWarnings("javadoc")
 public class SigningUtilTest {
     
     private SecretKey secretKeyAES128;
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
index 463a6b082..b6bd14952 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
@@ -35,10 +35,11 @@ import java.security.cert.X509Certificate;
 import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLPeerUnverifiedException;
 
-import net.shibboleth.shared.logic.ConstraintViolationException;
 import net.shibboleth.shared.resolver.CriteriaSet;
 
 import org.apache.hc.client5.http.auth.CredentialsProvider;
@@ -60,8 +61,9 @@ import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
 /**
- *
+ * Unit test for {@link HttpClientSecuritySupport}.
  */
+ at SuppressWarnings("javadoc")
 public class HttpClientSecuritySupportTest {
     
     private X509Certificate cert;
@@ -74,12 +76,6 @@ public class HttpClientSecuritySupportTest {
         cert = X509Support.decodeCertificate(new File(HttpClientSecuritySupportTest.class.getResource(certDERPath).toURI()));
     }
     
-    @Test(expectedExceptions=ConstraintViolationException.class)
-    public void testMarshalSecurityParametersNullContext() {
-        HttpClientSecurityParameters params = new HttpClientSecurityParameters();
-        HttpClientSecuritySupport.marshalSecurityParameters(null, params, false);
-    }
-    
     @Test
     public void testMarshalNullSecurityParameters() {
         HttpClientContext context = HttpClientContext.create();
@@ -233,23 +229,6 @@ public class HttpClientSecuritySupportTest {
         context.setAttribute(attribName, "bar");
         HttpClientSecuritySupport.setContextValue(context, attribName, null, true);
         Assert.assertEquals(context.getAttribute(attribName), "bar");
-        
-        
-        try {
-            HttpClientSecuritySupport.setContextValue(null, attribName, "foo", false);
-            Assert.fail("Null context value");
-        } catch (ConstraintViolationException e) {
-            // Expected
-        }
-        
-        try {
-            context = HttpClientContext.create();
-            HttpClientSecuritySupport.setContextValue(context, null, "foo", false);
-            Assert.fail("Null attribute name");
-        } catch (ConstraintViolationException e) {
-            // Expected
-        }
-        
     }
     
     @DataProvider
@@ -308,12 +287,12 @@ public class HttpClientSecuritySupportTest {
         CriteriaSet criteria = (CriteriaSet) context.getAttribute(CONTEXT_KEY_CRITERIA_SET);
         Assert.assertNotNull(criteria);
         
-        UsageCriterion usage = criteria.get(UsageCriterion.class);
-        Assert.assertNotNull(usage);
+        final UsageCriterion usage = criteria.get(UsageCriterion.class);
+        assert usage != null;
         Assert.assertEquals(usage.getUsage(), UsageType.SIGNING);
         
-        TrustedNamesCriterion trustedNames = criteria.get(TrustedNamesCriterion.class);
-        Assert.assertNotNull(trustedNames);
+        final TrustedNamesCriterion trustedNames = criteria.get(TrustedNamesCriterion.class);
+        assert trustedNames != null;
         Assert.assertEquals(trustedNames.getTrustedNames().size(), 1);
         Assert.assertTrue(trustedNames.getTrustedNames().contains("www.example.com"));
         
@@ -335,7 +314,8 @@ public class HttpClientSecuritySupportTest {
     // Helpers
     
     public static class MockTrustEngine implements TrustEngine<X509Credential>  {
-        public boolean validate(X509Credential token, CriteriaSet trustBasisCriteria) throws SecurityException {
+        public boolean validate(@Nonnull final X509Credential token, @Nullable final CriteriaSet trustBasisCriteria)
+                throws SecurityException {
             return false;
         }
     }
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/x509/X509SupportTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/x509/X509SupportTest.java
index 72bb2e576..66c50418f 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/x509/X509SupportTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/x509/X509SupportTest.java
@@ -279,26 +279,26 @@ public class X509SupportTest {
         
         // 1 component
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 1);
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         
         // 2 components, 1 cn
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org, o=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 1);
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         
         // 2 components each with cn
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org, cn=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 2);
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         Assert.assertEquals(commonNames.get(1), "MyOrg");
         
         // 4 components, 3 cn
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org, cn=WebServers, cn=Hosts, o=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 3);
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         Assert.assertEquals(commonNames.get(1), "WebServers");
@@ -306,7 +306,7 @@ public class X509SupportTest {
         
         // 4 components, 2 cn, a cn is not first nor last
         commonNames = X509Support.getCommonNames(new X500Principal("uid=foo, cn=Admins, cn=People, o=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 2);
         Assert.assertEquals(commonNames.get(0), "Admins");
         Assert.assertEquals(commonNames.get(1), "People");
@@ -314,7 +314,7 @@ public class X509SupportTest {
         // 2 components, one of them with multiple cn AVAs
         // Note: The set of AVAs in a DN component is unordered, so can't test returned ordering.
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org+cn=bar.example.org+cn=baz.example.org, o=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 3);
         Assert.assertTrue(commonNames.contains("foo.example.org"));
         Assert.assertTrue(commonNames.contains("bar.example.org"));
@@ -323,7 +323,7 @@ public class X509SupportTest {
         // 2 components, both with multiple cn AVAs
         // Note: The set of AVAs in a DN component is unordered, so can't test returned ordering.
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org+cn=bar.example.org+cn=baz.example.org, cn=Org1+cn=Org2"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 5);
         Assert.assertTrue(commonNames.contains("foo.example.org"));
         Assert.assertTrue(commonNames.contains("bar.example.org"));
@@ -333,24 +333,24 @@ public class X509SupportTest {
         
         // No cn at all
         commonNames = X509Support.getCommonNames(new X500Principal("uid=foo, o=MyOrg"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 0);
         
         // Test input of raw OID
         commonNames = X509Support.getCommonNames(new X500Principal("2.5.4.3=foo.example.org"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 1);
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         
         // Test attack DNs per CVE-2014-3577
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org, o=foo \\,cn=www.apache.org"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 1);
         Assert.assertFalse(commonNames.contains("www.apache.org"));
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
         
         commonNames = X509Support.getCommonNames(new X500Principal("cn=foo.example.org, o=cn=www.apache.org\\, foo"));
-        Assert.assertNotNull(commonNames);
+        assert commonNames != null;
         Assert.assertEquals(commonNames.size(), 1);
         Assert.assertFalse(commonNames.contains("www.apache.org"));
         Assert.assertEquals(commonNames.get(0), "foo.example.org");
@@ -382,7 +382,9 @@ public class X509SupportTest {
         certs.add(entityCert1AltNameDNS);
         certs.add(entityCert);
 
-        Assert.assertTrue(X509Support.determineEntityCertificate(certs, entityPrivateKey).equals(entityCert));
+        final X509Certificate cert = X509Support.determineEntityCertificate(certs, entityPrivateKey);
+        assert cert != null;
+        Assert.assertTrue(cert.equals(entityCert));
     }
 
     /**
@@ -548,6 +550,12 @@ public class X509SupportTest {
         Assert.assertEquals(certs.size(), 2);
     }
     
+    /**
+     * Test decoding invalid cert encoding.
+     * 
+     * @throws CertificateException
+     * @throws CRLException
+     */
     @Test(expectedExceptions = CRLException.class)
     public void testDecodeCRLWithInvalidBase64() throws CertificateException, CRLException {
         X509Support.decodeCRL(INVALID_BASE64_TRAILING);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list