[java-oidc-common] branch main updated: More null cleanup, added some TODOs where changes were unclear.

Scott Cantor cantor.2 at osu.edu
Thu Nov 2 12:41:13 UTC 2023


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=8ae44d7a230a5b203d8407d6567a4e226298727d

The following commit(s) were added to refs/heads/main by this push:
     new 8ae44d7  More null cleanup, added some TODOs where changes were unclear.
8ae44d7 is described below

commit 8ae44d7a230a5b203d8407d6567a4e226298727d
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Nov 2 08:41:09 2023 -0400

    More null cleanup, added some TODOs where changes were unclear.
---
 .../BasicClientSecretCredentialFactoryBean.java    |  1 -
 .../credential/BasicExpiringJWKCredential.java     | 12 ++++-----
 ...piringJWTSharedSecretCredentialFactoryBean.java |  4 +--
 .../credential/BasicJWKCredentialFactoryBean.java  | 29 ++++++++++++----------
 .../credential/BasicJWKReferenceCredential.java    | 10 ++++----
 .../credential/BasicNimbusSecretCredential.java    | 10 ++++----
 .../credential/DefaultClientSecretCredential.java  |  4 ---
 .../security/credential/JWACredentialSupport.java  |  4 +--
 .../credential/JWKReferenceCredential.java         |  5 ++--
 .../credential/NimbusSecretCredential.java         |  3 +--
 10 files changed, 39 insertions(+), 43 deletions(-)

diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
index 6aa2bf4..703a6c6 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicClientSecretCredentialFactoryBean.java
@@ -54,7 +54,6 @@ public class BasicClientSecretCredentialFactoryBean
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public Class<?> getObjectType() {
         return DefaultClientSecretCredential.class;
     }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWKCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWKCredential.java
index c3ba2f9..60da40e 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWKCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWKCredential.java
@@ -35,18 +35,18 @@ public class BasicExpiringJWKCredential extends BasicJWKCredential implements Ex
      */
     @Nullable private Duration credentialExpiresAt;
 
-    @Override
-    public Duration getCredentialExpiresAt() {
+    /** {@inheritDoc} */
+    @Nullable public Duration getCredentialExpiresAt() {
         return credentialExpiresAt;
     }
     
     /**
-     * Set the expiry in seconds since 1970-01-01T0:0:0Z.
+     * Set the expiry.
      * 
-     * @param expiresAt the expiry.
+     * @param expiresAt the expiry
      */
     public void setCredentialExpiresAt(@Nonnull final Duration expiresAt) {
-        credentialExpiresAt = Constraint.isNotNull(expiresAt, "Credential expiry can not be null");
+        credentialExpiresAt = Constraint.isNotNull(expiresAt, "Credentialexpiry can not be null");
     }
 
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
index 743214e..f21851a 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicExpiringJWTSharedSecretCredentialFactoryBean.java
@@ -131,8 +131,8 @@ public class BasicExpiringJWTSharedSecretCredentialFactoryBean
         return jwkCredential;
     }
 
-    @Override
-    public Class<?> getObjectType() {
+    /** {@inheritDoc} */
+    @Nonnull public Class<?> getObjectType() {
         return BasicJWKCredential.class;
     }
 
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKCredentialFactoryBean.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKCredentialFactoryBean.java
index 42b26fa..b343c5b 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKCredentialFactoryBean.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKCredentialFactoryBean.java
@@ -24,7 +24,6 @@ import javax.annotation.Nullable;
 
 import org.opensaml.spring.credential.AbstractCredentialFactoryBean;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.core.io.Resource;
 
@@ -37,6 +36,7 @@ import com.nimbusds.jose.jwk.OctetSequenceKey;
 import net.shibboleth.oidc.security.CredentialConversionUtil;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
 
 /** 
  * Factory bean for Basic JSON Web Keys (JWK).
@@ -46,7 +46,7 @@ import net.shibboleth.shared.logic.Constraint;
 public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean<BasicJWKCredential> {
 
     /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(BasicJWKCredentialFactoryBean.class);
+    @Nonnull private final Logger log = LoggerFactory.getLogger(BasicJWKCredentialFactoryBean.class);
 
     /** Where the private key is to be found. */
     @Nullable private Resource jwkResource;
@@ -58,7 +58,7 @@ public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean
      * The JCA algorithm name to use if the key to be converted is a symmetric key.
      * Default is AES.
      */
-    private String symmetricKeyAlgorithm;
+    @Nonnull private String symmetricKeyAlgorithm;
     
     /** Constructor.*/
     public BasicJWKCredentialFactoryBean() {
@@ -73,7 +73,7 @@ public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean
      */
     public void setSymmetricKeyAlgorithm(@Nonnull @NotEmpty final String algorithm) {
         symmetricKeyAlgorithm =
-                Constraint.isNotEmpty(algorithm, "SymmetricKeyAlgorithm can not be null");
+                Constraint.isNotEmpty(algorithm, "SymmetricKeyAlgorithm cannot be null");
     }
     
     /**
@@ -98,15 +98,18 @@ public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean
     @Override
     protected BasicJWKCredential doCreateInstance() throws Exception {
 
-        if (jwkResource == null && failIfResourceIsNull) {
-            log.error("{}: No JWK credential provided", getConfigDescription());
-            throw new BeanCreationException("No JWK credential provided");
-        } else if (jwkResource == null) {
-            return null;
+        final Resource localResource = jwkResource;
+        if (localResource == null) {
+            if (failIfResourceIsNull) {
+                log.error("{}: No JWK credential provided", getConfigDescription());
+                throw new BeanCreationException("No JWK credential provided");
+            } else {
+                return null;
+            }
         }
         JWK jwk = null;
         BasicJWKCredential jwkCredential = null;
-        try (InputStream is = jwkResource.getInputStream()) {
+        try (final InputStream is = localResource.getInputStream()) {
             jwk = JWK.parse(new String(ByteStreams.toByteArray(is)));
             jwkCredential = new BasicJWKCredential();
             if (jwk.getKeyType() == KeyType.EC || jwk.getKeyType() == KeyType.RSA) {
@@ -117,12 +120,12 @@ public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean
             } else if (jwk.getKeyType() == KeyType.OCT) {
                 jwkCredential.setSecretKey(((OctetSequenceKey) jwk).toSecretKey(symmetricKeyAlgorithm));
             } else {
-                throw new BeanCreationException("Unsupported KeyFile at " + jwkResource.getDescription());
+                throw new BeanCreationException("Unsupported KeyFile at " + localResource.getDescription());
             }
         } catch (final IOException | ParseException e) {
-            log.error("{}: Could not decode KeyFile at {}: {}", getConfigDescription(), jwkResource.getDescription(),
+            log.error("{}: Could not decode KeyFile at {}: {}", getConfigDescription(), localResource.getDescription(),
                     e);
-            throw new BeanCreationException("Could not decode provided KeyFile " + jwkResource.getDescription(), e);
+            throw new BeanCreationException("Could not decode provided KeyFile " + localResource.getDescription(), e);
         }
         jwkCredential.setUsageType(CredentialConversionUtil.getUsageType(jwk));
         jwkCredential.setEntityId(getEntityID());
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKReferenceCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKReferenceCredential.java
index f2ed71a..9b35a39 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKReferenceCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicJWKReferenceCredential.java
@@ -17,6 +17,7 @@ package net.shibboleth.oidc.security.credential;
 import java.net.URI;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.opensaml.security.credential.AbstractCredential;
 import org.opensaml.security.credential.Credential;
@@ -27,7 +28,7 @@ import org.opensaml.security.credential.Credential;
 public class BasicJWKReferenceCredential extends AbstractCredential implements JWKReferenceCredential {
 
     /** A reference to a JWK. */
-    private URI referenceUri;
+    @Nullable private URI referenceUri;
     
     /**
      * Constructor.
@@ -41,7 +42,7 @@ public class BasicJWKReferenceCredential extends AbstractCredential implements J
      * 
      * @param uri A reference to a JWK.
      */
-    public BasicJWKReferenceCredential(final URI uri) {
+    public BasicJWKReferenceCredential(@Nullable final URI uri) {
         referenceUri = uri;
     }
     
@@ -50,18 +51,17 @@ public class BasicJWKReferenceCredential extends AbstractCredential implements J
      * 
      * @param uri What to set.
      */
-    public void setReferenceURI(final URI uri) {
+    public void setReferenceURI(@Nullable final URI uri) {
         referenceUri = uri;
     }
     
     /** {@inheritDoc} */
-    @Override
     @Nonnull public URI getReferenceURI() {
+        // TODO: this is nullable, so needs a guard, not sure what to do if null.
         return referenceUri;
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public Class<? extends Credential> getCredentialType() {
         return JWKReferenceCredential.class;
     }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicNimbusSecretCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicNimbusSecretCredential.java
index 013662a..ff6f259 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicNimbusSecretCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/BasicNimbusSecretCredential.java
@@ -15,6 +15,7 @@
 package net.shibboleth.oidc.security.credential;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.opensaml.security.credential.AbstractCredential;
 import org.opensaml.security.credential.Credential;
@@ -30,7 +31,7 @@ import com.nimbusds.oauth2.sdk.auth.Secret;
 public class BasicNimbusSecretCredential extends AbstractCredential implements NimbusSecretCredential {
 
     /** The client secret. */
-    private Secret clientSecret;
+    @Nullable private Secret clientSecret;
     
     /**
      * Constructor.
@@ -44,7 +45,7 @@ public class BasicNimbusSecretCredential extends AbstractCredential implements N
      * 
      * @param secret The client secret.
      */
-    public BasicNimbusSecretCredential(final Secret secret) {
+    public BasicNimbusSecretCredential(@Nullable final Secret secret) {
         clientSecret = secret;
     }
     
@@ -53,18 +54,17 @@ public class BasicNimbusSecretCredential extends AbstractCredential implements N
      * 
      * @param secret What to set.
      */
-    public void setSecret(final Secret secret) {
+    public void setSecret(@Nullable final Secret secret) {
         clientSecret = secret;
     }
     
     /** {@inheritDoc} */
-    @Override
     @Nonnull public Secret getSecret() {
+        // TODO: this is nullable, so needs a guard, not sure what to do if null.
         return clientSecret;
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public Class<? extends Credential> getCredentialType() {
         return NimbusSecretCredential.class;
     }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/DefaultClientSecretCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/DefaultClientSecretCredential.java
index 9986fc3..2474c82 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/DefaultClientSecretCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/DefaultClientSecretCredential.java
@@ -75,19 +75,16 @@ public class DefaultClientSecretCredential implements ClientSecretCredential {
     }
     
     /** {@inheritDoc} */
-    @Override
     @Nonnull public String getSecret() {
         return new String(clientSecret, StandardCharsets.UTF_8);
     }
     
     /** {@inheritDoc} */
-    @Override
     @NotLive @Nonnull public byte[] getSecretAsBytes(){
         return clientSecret.clone();
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public JWKCredential toSigningCredential() {
         final BasicExpiringJWKCredential jwkCredential = new BasicExpiringJWKCredential();  
         jwkCredential.getKeyNames().add(secretKeyName);
@@ -98,7 +95,6 @@ public class DefaultClientSecretCredential implements ClientSecretCredential {
     }
 
     /** {@inheritDoc} */
-    @Override
     @Nonnull public JWKCredential toEncryptionCredential(@Nonnull final JWEAlgorithm alg,
             @Nonnull final EncryptionMethod enc) throws JOSEException {
         // Derive key using the algorithm and enc method
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWACredentialSupport.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWACredentialSupport.java
index 3fda306..dabb718 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWACredentialSupport.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWACredentialSupport.java
@@ -21,7 +21,6 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.nimbusds.jose.JOSEException;
 import com.nimbusds.jose.JWSAlgorithm;
@@ -29,12 +28,13 @@ import com.nimbusds.jose.crypto.impl.ECDSA;
 import com.nimbusds.jose.jwk.Curve;
 
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.LoggerFactory;
 
 /** Support class for JSON Web Algorithm credentials.*/
 public final class JWACredentialSupport {
     
     /** Logger. */
-    private static final Logger LOG = LoggerFactory.getLogger(JWACredentialSupport.class);
+    @Nonnull private static final Logger LOG = LoggerFactory.getLogger(JWACredentialSupport.class);
     
     /** Constructor. */
     private JWACredentialSupport() { }
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWKReferenceCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWKReferenceCredential.java
index d064b8d..9448ad4 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWKReferenceCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/JWKReferenceCredential.java
@@ -28,7 +28,6 @@ public interface JWKReferenceCredential extends Credential {
      * 
      * @return The reference URI to the remote JWK.
      */
-    @Nonnull
-    public URI getReferenceURI();
+    @Nonnull URI getReferenceURI();
 
-}
+}
\ No newline at end of file
diff --git a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/NimbusSecretCredential.java b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/NimbusSecretCredential.java
index b0a9781..9674387 100644
--- a/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/NimbusSecretCredential.java
+++ b/oidc-common-crypto-api/src/main/java/net/shibboleth/oidc/security/credential/NimbusSecretCredential.java
@@ -33,7 +33,6 @@ public interface NimbusSecretCredential extends Credential {
      * 
      * @return The client secret.
      */
-    @Nonnull
-    public Secret getSecret();
+    @Nonnull Secret getSecret();
 
 }
\ No newline at end of file

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


More information about the commits mailing list