[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