[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