[java-oidc-common] branch main updated: JCOMOIDC-60 - JWT class naming convention
Phil Smart
philip.smart at jisc.ac.uk
Wed Jan 11 14:59:05 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart 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=6ecbe4a62e30e15426876dd50dd6b4f6eb761bde
The following commit(s) were added to refs/heads/main by this push:
new 6ecbe4a JCOMOIDC-60 - JWT class naming convention
6ecbe4a is described below
commit 6ecbe4a62e30e15426876dd50dd6b4f6eb761bde
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Wed Jan 11 14:59:03 2023 +0000
JCOMOIDC-60 - JWT class naming convention
- Rename JWTDecrypter to OIDCTokenDecrypter as the decrypter is
specific to OIDC decryption i.e. the use of derived symmetric keys from
client_secret.
https://shibboleth.atlassian.net/browse/JCOMOIDC-60
---
.../impl/LocalJOSEObjectCredentialResolver.java | 4 +--
.../{JWTDecrypter.java => OIDCTokenDecrypter.java} | 12 ++++----
...rypterTest.java => OIDCTokenDecrypterTest.java} | 34 +++++++++++-----------
3 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/LocalJOSEObjectCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/LocalJOSEObjectCredentialResolver.java
index e9690c2..5446ac0 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/LocalJOSEObjectCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/LocalJOSEObjectCredentialResolver.java
@@ -37,7 +37,7 @@ import com.nimbusds.jose.JWEHeader;
import com.nimbusds.jose.JWSHeader;
import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
-import net.shibboleth.oidc.security.impl.JWTDecrypter;
+import net.shibboleth.oidc.security.impl.OIDCTokenDecrypter;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -58,7 +58,7 @@ import net.shibboleth.utilities.java.support.resolver.ResolverException;
*
* <p>
* A typical use case for this class would be as a resolver of decryption keys,
- * such as is needed by {@link JWTDecrypter}}.
+ * such as is needed by {@link OIDCTokenDecrypter}}.
* </p>
*
* <p>
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypter.java
similarity index 98%
rename from oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java
rename to oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypter.java
index 02702f7..2f7d51d 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/JWTDecrypter.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypter.java
@@ -77,19 +77,19 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
/**
- * Supports decryption of encrypted JSON Web Tokens using the JSON Web Encryption standard.
+ * Supports decryption of OpendID connect encrypted JSON Web Tokens using the JSON Web Encryption standard.
* The {@link EncryptedJWT} will be decrypted in-place, with its {@link State} changing to {@link State#DECRYPTED}
* on successful decryption. Any error that occurs decrypting the JWT will throw an {@link DecryptionException}.
*
- * <p>Note, as per OIDC specification, symmetric decryption keys are derived from resolved symmetric keys
- * (e.g. a client_secret).</p>
+ * <p>As this decrypter is specific to OIDC then, as per OIDC specification, symmetric decryption keys are derived from
+ * resolved symmetric keys (e.g. a client_secret).</p>
*
* <p>A decrypter should be created for each new decryption operation.</p>
*/
-public class JWTDecrypter {
+public class OIDCTokenDecrypter {
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(JWTDecrypter.class);
+ private final Logger log = LoggerFactory.getLogger(OIDCTokenDecrypter.class);
/** The JWT decryption parameters. */
private final DecryptionParameters params;
@@ -100,7 +100,7 @@ public class JWTDecrypter {
*
* @param decryptionParams the parameters to use during decryption
*/
- public JWTDecrypter(@Nonnull final DecryptionParameters decryptionParams) {
+ public OIDCTokenDecrypter(@Nonnull final DecryptionParameters decryptionParams) {
params = Constraint.isNotNull(decryptionParams, "Decryption params can not be null");
}
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypterTest.java
similarity index 97%
rename from oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java
rename to oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypterTest.java
index 68747f4..bf5552b 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/JWTDecrypterTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/OIDCTokenDecrypterTest.java
@@ -57,10 +57,10 @@ import net.shibboleth.oidc.security.jose.DecryptionParameters;
import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
-/** Tests for the JWTDecrypter.*/
-public class JWTDecrypterTest {
+/** Tests for the {@link OIDCTokenDecrypter}.*/
+public class OIDCTokenDecrypterTest {
- private JWTDecrypter decrypter;
+ private OIDCTokenDecrypter decrypter;
private static final String CLIENT_SECRET = "Xp2s5v8y/B?E(H+MbQeThWmYq3t6w9z$";
@@ -110,7 +110,7 @@ public class JWTDecrypterTest {
jweObject.encrypt(new PasswordBasedEncrypter(CLIENT_SECRET.getBytes(StandardCharsets.UTF_8),8,1000));
final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
- decrypter = new JWTDecrypter(new DecryptionParameters());
+ decrypter = new OIDCTokenDecrypter(new DecryptionParameters());
decrypter.decrypt(jwe);
}
@@ -152,7 +152,7 @@ public class JWTDecrypterTest {
return List.of(resolveSingle(criteria));
}
});
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -176,7 +176,7 @@ public class JWTDecrypterTest {
final var params = new DecryptionParameters();
params.setKEKCredentialResolver(new MockKeyWrapCriteriaFilteringCredentialResolver());
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -223,7 +223,7 @@ public class JWTDecrypterTest {
return List.of(resolveSingle(criteria));
}
});
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -248,7 +248,7 @@ public class JWTDecrypterTest {
final var params = new DecryptionParameters();
params.setContentEncryptionKeyCredentialResolver(new MockDirCriteriaFilteringCredentialResolver());
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -294,7 +294,7 @@ public class JWTDecrypterTest {
// Include the 'enc' algorithm but not the 'alg' algorithm. So decrypt should fail.
params.setIncludedAlgorithms(List.of("A256GCM"));
try {
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
decrypter.decrypt(jwe);
} catch (final DecryptionException e) {
// Do nothing, JWE should not be decrypted.
@@ -339,7 +339,7 @@ public class JWTDecrypterTest {
}
});
try {
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
decrypter.decrypt(jwe);
} catch (final DecryptionException e) {
// Do nothing, JWE should not be decrypted.
@@ -382,7 +382,7 @@ public class JWTDecrypterTest {
return List.of(resolveSingle(criteria));
}
});
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
try {
decrypter.decrypt(jwe);
} catch (final DecryptionException e) {
@@ -431,7 +431,7 @@ public class JWTDecrypterTest {
return List.of(resolveSingle(criteria));
}
});
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -457,7 +457,7 @@ public class JWTDecrypterTest {
final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
final var params = new DecryptionParameters();
params.setKEKCredentialResolver(new MockRSACriteriaFilteringCredentialResolver(key));
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -493,7 +493,7 @@ public class JWTDecrypterTest {
final var params = new DecryptionParameters();
params.setKEKCredentialResolver(new MockRSAKeysCriteriaFilteringCredentialResolver(List.of(key, keyTwo)));
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -526,7 +526,7 @@ public class JWTDecrypterTest {
final var params = new DecryptionParameters();
params.setKEKCredentialResolver(new MockRSAKeysCriteriaFilteringCredentialResolver(List.of(key, keyTwo)));
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -573,7 +573,7 @@ public class JWTDecrypterTest {
return List.of(resolveSingle(criteria));
}
});
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
@@ -599,7 +599,7 @@ public class JWTDecrypterTest {
final EncryptedJWT jwe = EncryptedJWT.parse(jweObject.serialize());
final var params = new DecryptionParameters();
params.setKEKCredentialResolver(new MockKeyAgreementCriteriaFilteringCredentialResolver(key));
- decrypter = new JWTDecrypter(params);
+ decrypter = new OIDCTokenDecrypter(params);
final JWT decryptedJWE = decrypter.decrypt(jwe);
assertTrue(jwe.getState() == State.DECRYPTED);
assertTrue(decryptedJWE instanceof SignedJWT);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list