[java-idp-oidc] branch main updated: Add parent bean for JWK creds and rename setter.

Scott Cantor cantor.2 at osu.edu
Fri Nov 13 18:12:50 UTC 2020


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

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

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=3190d4d7b926e5e75139f1e22fd222d6114849f4

The following commit(s) were added to refs/heads/main by this push:
       new  3190d4d7  Add parent bean for JWK creds and rename setter.
3190d4d7 is described below

commit 3190d4d7b926e5e75139f1e22fd222d6114849f4
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Nov 13 13:12:46 2020 -0500

    Add parent bean for JWK creds and rename setter.
---
 .../src/main/resources/conf/credentials-oidc.xml   | 47 ++++++++++++----------
 .../org.eclipse.ltk.core.refactoring.prefs         |  2 +
 .../factory/BasicJWKCredentialFactoryBean.java     |  2 +-
 .../META-INF/net.shibboleth.idp/postconfig.xml     |  3 ++
 .../impl/CredentialMetadataValueResolverTest.java  |  2 +-
 .../profile/impl/BaseOIDCResponseActionTest.java   | 10 ++---
 .../FormOutboundKeySetResponseMessageTest.java     |  6 +--
 ...nformationEncryptionParametersResolverTest.java |  2 +-
 ...tionSignatureSigningParametersResolverTest.java |  8 ++--
 .../src/test/resources/conf/credentials-oidc.xml   | 16 +++-----
 10 files changed, 52 insertions(+), 46 deletions(-)

diff --git a/idp-oidc-extension-distribution/src/main/resources/conf/credentials-oidc.xml b/idp-oidc-extension-distribution/src/main/resources/conf/credentials-oidc.xml
index 3e50beee..9fb566ad 100644
--- a/idp-oidc-extension-distribution/src/main/resources/conf/credentials-oidc.xml
+++ b/idp-oidc-extension-distribution/src/main/resources/conf/credentials-oidc.xml
@@ -11,48 +11,53 @@
 
     <!-- This file contains default oidc signing credentials. This file should be imported to credentials.xml -->
 
-    <bean id="shibboleth.oidc.DefaultRSSigningCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.rs.key}" />
+    <bean id="shibboleth.oidc.DefaultRSSigningCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.rs.key}" />
 
-    <bean id="shibboleth.oidc.DefaultESSigningCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.es.key}" />
+    <bean id="shibboleth.oidc.DefaultESSigningCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.es.key}" />
 
-    <bean id="shibboleth.oidc.DefaultRSAEncryptionCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.rsa.enc.key}" />
+    <bean id="shibboleth.oidc.DefaultRSAEncryptionCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.rsa.enc.key}" />
 
-
-    <!-- The list of ALL of your OP's ID Token / UserInfo response signing credentials for the default security configuration. 
-        If you define additional signing credentials, for example for new supported signing algorithms, make sure to include them 
-        within this list. -->
+    <!--
+    Lists ALL of your OP's response signing credentials for the default security configuration. 
+    If you define additional signing credentials make sure to include them within this list.
+    -->
     <util:list id="shibboleth.oidc.SigningCredentials">
         <ref bean="shibboleth.oidc.DefaultRSSigningCredential" />
         <ref bean="shibboleth.oidc.DefaultESSigningCredential" />
     </util:list>
 
-    <!-- The list of ALL of your OP's Request Object decryption credentials for the default security configuration. If you 
-        define additional decryption credentials, for example to support new algorithm, make sure to include them within 
-        this list. -->
+    <!--
+    Lists ALL of your OP's request decryption credentials for the default security configuration.
+    If you  define additional decryption credentials make sure to include them within this list.
+    -->
     <util:list id="shibboleth.oidc.EncryptionCredentials">
         <ref bean="shibboleth.oidc.DefaultRSAEncryptionCredential" />
     </util:list>
 
-    <!-- If you need to publish key set different from shibboleth.oidc.EncryptionCredentials, define a list named as shibboleth.oidc.EncryptionCredentialsToPublish -->
+    <!--
+    If you need to publish a key set different from shibboleth.oidc.EncryptionCredentials, define
+    a list bean named "shibboleth.oidc.EncryptionCredentialsToPublish" in place of this alias.
+    -->
     <alias name="shibboleth.oidc.EncryptionCredentials" alias="shibboleth.oidc.EncryptionCredentialsToPublish" />
+
+    <!-- Example of two active encryption credentials, but only publishing the second before removing from use. -->
     <!--
-    Example of case having two active encryption credentials but then stop publishing the second before removing it from active configuration.
     <util:list id="shibboleth.oidc.EncryptionCredentialsToPublish">
         <ref bean="shibboleth.oidc.OnlyNewDefaultRSAEncryptionCredential" />
     </util:list>
     -->
 
-    <!-- If you need to publish key set different from shibboleth.oidc.SigningCredentials, define a list named as shibboleth.oidc.SigningCredentialsToPublish -->
-    <alias name="shibboleth.oidc.SigningCredentials" alias="shibboleth.oidc.SigningCredentialsToPublish" />
     <!--
-    Example of case publishing signing credential before taking it to active configuration: 
+    If you need to publish a key set different from shibboleth.oidc.SigningCredentials, define
+    a list bean named "shibboleth.oidc.SigningCredentialsToPublish" in place of this alias.
+    -->
+    <alias name="shibboleth.oidc.SigningCredentials" alias="shibboleth.oidc.SigningCredentialsToPublish" />
     
+    <!-- Example of publishing two signing credentials, before active use. -->
+    <!--
     <util:list id="shibboleth.oidc.SigningCredentialsToPublish">
         <ref bean="shibboleth.oidc.DefaultRSSigningCredential" />
         <ref bean="shibboleth.oidc.DefaultESSigningCredential" />
diff --git a/idp-oidc-extension-impl/.settings/org.eclipse.ltk.core.refactoring.prefs b/idp-oidc-extension-impl/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 00000000..b196c64a
--- /dev/null
+++ b/idp-oidc-extension-impl/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/idp-oidc-extension-impl/src/main/java/org/geant/idpextension/oidc/profile/spring/factory/BasicJWKCredentialFactoryBean.java b/idp-oidc-extension-impl/src/main/java/org/geant/idpextension/oidc/profile/spring/factory/BasicJWKCredentialFactoryBean.java
index e09987e3..637f3738 100644
--- a/idp-oidc-extension-impl/src/main/java/org/geant/idpextension/oidc/profile/spring/factory/BasicJWKCredentialFactoryBean.java
+++ b/idp-oidc-extension-impl/src/main/java/org/geant/idpextension/oidc/profile/spring/factory/BasicJWKCredentialFactoryBean.java
@@ -50,7 +50,7 @@ public class BasicJWKCredentialFactoryBean extends AbstractCredentialFactoryBean
      * 
      * @param res private key resource, never <code>null</code>
      */
-    public void setJWKResource(@Nonnull final Resource res) {
+    public void setResource(@Nonnull final Resource res) {
         jwkResource = res;
     }
 
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
index 95cebb36..37fefb99 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
@@ -11,6 +11,9 @@
 
     <!-- System beans needed for extension to function, loaded after global.xml -->
 
+    <bean id="shibboleth.JWKCredential" abstract="true"
+        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean" />
+
     <!-- OIDC authentication context class reference parent declaration -->
     <bean id="shibboleth.OIDCAuthnContextClassReference" abstract="true"
         class="org.geant.idpextension.oidc.authn.principal.AuthenticationContextClassReferencePrincipal" />
diff --git a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/metadata/impl/CredentialMetadataValueResolverTest.java b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/metadata/impl/CredentialMetadataValueResolverTest.java
index a0ff57d2..54bcb600 100644
--- a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/metadata/impl/CredentialMetadataValueResolverTest.java
+++ b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/metadata/impl/CredentialMetadataValueResolverTest.java
@@ -56,7 +56,7 @@ public class CredentialMetadataValueResolverTest {
     
     protected CredentialMetadataValueResolver initResolver(final String fileName) throws Exception {
         final BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new FileSystemResource(new File(fileName)));
+        factory.setResource(new FileSystemResource(new File(fileName)));
         factory.afterPropertiesSet();
         final Credential credential = factory.getObject();
         final CredentialMetadataValueResolver resolver = new CredentialMetadataValueResolver();
diff --git a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/BaseOIDCResponseActionTest.java b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/BaseOIDCResponseActionTest.java
index 19f5c987..a6080dc4 100644
--- a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/BaseOIDCResponseActionTest.java
+++ b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/BaseOIDCResponseActionTest.java
@@ -100,27 +100,27 @@ public abstract class BaseOIDCResponseActionTest {
     public BaseOIDCResponseActionTest() {
         try {
             BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
-            factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
+            factory.setResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
             factory.afterPropertiesSet();
             credentialEC256 = factory.getObject();
 
             factory = new BasicJWKCredentialFactoryBean();
-            factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es384.jwk"));
+            factory.setResource(new ClassPathResource("credentials/idp-signing-es384.jwk"));
             factory.afterPropertiesSet();
             credentialEC384 = factory.getObject();
 
             factory = new BasicJWKCredentialFactoryBean();
-            factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es521.jwk"));
+            factory.setResource(new ClassPathResource("credentials/idp-signing-es521.jwk"));
             factory.afterPropertiesSet();
             credentialEC521 = factory.getObject();
 
             factory = new BasicJWKCredentialFactoryBean();
-            factory.setJWKResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
+            factory.setResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
             factory.afterPropertiesSet();
             credentialRSA = factory.getObject();
 
             factory = new BasicJWKCredentialFactoryBean();
-            factory.setJWKResource(new ClassPathResource("credentials/idp-signing-dir.jwk"));
+            factory.setResource(new ClassPathResource("credentials/idp-signing-dir.jwk"));
             factory.afterPropertiesSet();
             credentialHMAC = factory.getObject();
         } catch (final Exception e) {
diff --git a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
index 1a07a06c..03133804 100644
--- a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
+++ b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
@@ -72,17 +72,17 @@ public class FormOutboundKeySetResponseMessageTest {
 
         final List<Credential> signCreds = new ArrayList<Credential>();
         BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
 
         factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
 
         factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-encryption-rsa.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-encryption-rsa.jwk"));
         factory.afterPropertiesSet();
         final List<Credential> encCreds = new ArrayList<>();
         encCreds.add(factory.getObject());
diff --git a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationEncryptionParametersResolverTest.java b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationEncryptionParametersResolverTest.java
index e8b5ec16..a8df8b3e 100644
--- a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationEncryptionParametersResolverTest.java
+++ b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationEncryptionParametersResolverTest.java
@@ -69,7 +69,7 @@ public class OIDCClientInformationEncryptionParametersResolverTest {
                 Arrays.asList("ECDH-ES", "RSA1_5", "RSA-OAEP", "RSA-OAEP-256", "A128GCMKW", "A192GCMKW", "A256GCMKW"));
         List<Credential> encCreds = new ArrayList<Credential>();
         BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-encryption-rsa.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-encryption-rsa.jwk"));
         factory.afterPropertiesSet();
         encCreds.add(factory.getObject());
         Mockito.when(encConfig.getKeyTransportEncryptionCredentials()).thenReturn(encCreds);
diff --git a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationSignatureSigningParametersResolverTest.java b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationSignatureSigningParametersResolverTest.java
index 9734ba4e..65f785a5 100644
--- a/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationSignatureSigningParametersResolverTest.java
+++ b/idp-oidc-extension-impl/src/test/java/org/geant/idpextension/oidc/security/impl/OIDCClientInformationSignatureSigningParametersResolverTest.java
@@ -69,19 +69,19 @@ public class OIDCClientInformationSignatureSigningParametersResolverTest {
                 .thenReturn(Arrays.asList("RS256", "HS256", "HS384", "HS512", "ES256", "ES384", "ES512"));
         List<Credential> signCreds = new ArrayList<Credential>();
         BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
         factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es384.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-es384.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
         factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-es521.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-es521.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
         factory = new BasicJWKCredentialFactoryBean();
-        factory.setJWKResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
+        factory.setResource(new ClassPathResource("credentials/idp-signing-rs.jwk"));
         factory.afterPropertiesSet();
         signCreds.add(factory.getObject());
         Mockito.when(signConfig.getSigningCredentials()).thenReturn(signCreds);
diff --git a/idp-oidc-extension-impl/src/test/resources/conf/credentials-oidc.xml b/idp-oidc-extension-impl/src/test/resources/conf/credentials-oidc.xml
index 315e1bea..427ea318 100644
--- a/idp-oidc-extension-impl/src/test/resources/conf/credentials-oidc.xml
+++ b/idp-oidc-extension-impl/src/test/resources/conf/credentials-oidc.xml
@@ -11,18 +11,14 @@
 
     <!-- This file contains default oidc signing credentials. This file should be imported to credentials.xml -->
 
-    <bean id="shibboleth.oidc.DefaultRSSigningCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.rs.key}" />
+    <bean id="shibboleth.oidc.DefaultRSSigningCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.rs.key}" />
 
-    <bean id="shibboleth.oidc.DefaultESSigningCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.es.key}" />
-
-    <bean id="shibboleth.oidc.DefaultRSAEncryptionCredential"
-        class="org.geant.idpextension.oidc.profile.spring.factory.BasicJWKCredentialFactoryBean"
-        p:jWKResource="%{idp.signing.oidc.rsa.enc.key}" />
+    <bean id="shibboleth.oidc.DefaultESSigningCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.es.key}" />
 
+    <bean id="shibboleth.oidc.DefaultRSAEncryptionCredential" parent="shibboleth.JWKCredential"
+        p:resource="%{idp.signing.oidc.rsa.enc.key}" />
 
     <!-- The list of ALL of your OP's ID Token / UserInfo response signing credentials for the default security configuration. 
         If you define additional signing credentials, for example for new supported signing algorithms, make sure to include them 

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


More information about the commits mailing list