[java-plugin-shibd] branch main updated: JSHIBD-25 - Develop necessary CredentialResolvers for SP service

Codeberg noreply at shibboleth.net
Tue Sep 8 22:30:52 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-plugin-shibd.

View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd/commit/55a1d2b9a3abdf8c3145e6623fd2d3ab162e8b54

The following commit(s) were added to refs/heads/main by this push:
     new 55a1d2b  JSHIBD-25 - Develop necessary CredentialResolvers for SP service
55a1d2b is described below

commit 55a1d2b9a3abdf8c3145e6623fd2d3ab162e8b54
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Tue Sep 8 18:30:38 2026 -0400

    JSHIBD-25 - Develop necessary CredentialResolvers for SP service
    
    https://shibboleth.atlassian.net/browse/JSHIBD-25
    
    Adjustments and parent beans for new resolvers.
---
 .../net/shibboleth/sp/conf/credentials-system.xml       | 17 ++++++++++++++++-
 .../AbstractStorageServiceCredentialResolver.java       |  7 +++++--
 .../impl/X509CredentialStorageServiceResolver.java      |  7 +++----
 .../impl/X509KeyStoreStorageServiceResolver.java        |  6 +++---
 4 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/sp-conf-impl/src/main/resources/net/shibboleth/sp/conf/credentials-system.xml b/sp-conf-impl/src/main/resources/net/shibboleth/sp/conf/credentials-system.xml
index 1bc83c4..64ab981 100644
--- a/sp-conf-impl/src/main/resources/net/shibboleth/sp/conf/credentials-system.xml
+++ b/sp-conf-impl/src/main/resources/net/shibboleth/sp/conf/credentials-system.xml
@@ -30,11 +30,26 @@
     <bean id="shibboleth.sp.CredentialStorage.ReadWrite"
         parent="shibboleth.FilesystemStorageService.ReadWrite" lazy-init="true"
         p:storageBase="%{sp.service.credential.storageBase:%{idp.home}/credentials/sp}" />
+
+    <bean id="shibboleth.sp.CredentialStorage.ReadOnly.Binary"
+        parent="shibboleth.FilesystemStorageService.ReadOnly.Binary" lazy-init="true"
+        p:storageBase="%{sp.service.credential.storageBase:%{idp.home}/credentials/sp}" />
+        
+    <bean id="shibboleth.sp.CredentialStorage.ReadWrite.Binary"
+        parent="shibboleth.FilesystemStorageService.ReadWrite.Binary" lazy-init="true"
+        p:storageBase="%{sp.service.credential.storageBase:%{idp.home}/credentials/sp}" />
     
     <bean id="shibboleth.sp.CredentialResolver.StorageBased.X509"
         class="net.shibboleth.sp.credential.impl.X509CredentialStorageServiceResolver" abstract="true"
         p:storageService-ref="shibboleth.sp.CredentialStorage.ReadOnly"
-        p:velocityEngine-ref="shibboleth.VelocityEngine" />
+        p:velocityEngine-ref="shibboleth.VelocityEngine"
+        p:contextTemplate="${protocol}" />
+
+    <bean id="shibboleth.sp.CredentialResolver.StorageBased.X509KeyStore"
+        class="net.shibboleth.sp.credential.impl.X509KeyStoreStorageServiceResolver" abstract="true"
+        p:storageService-ref="shibboleth.sp.CredentialStorage.ReadOnly.Binary"
+        p:velocityEngine-ref="shibboleth.VelocityEngine"
+        p:contextTemplate="${protocol}" />
 
     <!-- Wildcard import hook for plugins. -->
     <import resource="classpath*:/META-INF/net/shibboleth/sp/service/credentials/postconfig.xml" />
diff --git a/sp-server-api/src/main/java/net/shibboleth/sp/credential/AbstractStorageServiceCredentialResolver.java b/sp-server-api/src/main/java/net/shibboleth/sp/credential/AbstractStorageServiceCredentialResolver.java
index 073c97d..1faacdf 100644
--- a/sp-server-api/src/main/java/net/shibboleth/sp/credential/AbstractStorageServiceCredentialResolver.java
+++ b/sp-server-api/src/main/java/net/shibboleth/sp/credential/AbstractStorageServiceCredentialResolver.java
@@ -179,8 +179,11 @@ public abstract class AbstractStorageServiceCredentialResolver<T extends Credent
      */
     public AbstractStorageServiceCredentialResolver(@Nonnull @ParameterName(name="type") final Class<T> type) {
         credentialType = Constraint.isNotNull(type, "Credential type cannot be null");
-        usageMap = Map.of(UsageType.SIGNING, "-signing", UsageType.ENCRYPTION, "-encryption",
-                UsageType.UNSPECIFIED, "-signing");
+        usageMap = Map.of(
+                UsageType.SIGNING, UsageType.SIGNING.getValue(),
+                UsageType.ENCRYPTION, UsageType.ENCRYPTION.getValue(),
+                UsageType.UNSPECIFIED, UsageType.SIGNING.getValue()
+                );
         protocolMap = CollectionSupport.emptyMap();
         
         maximumCachedElements = 500;
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509CredentialStorageServiceResolver.java b/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509CredentialStorageServiceResolver.java
index 7f53b07..24ceb0f 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509CredentialStorageServiceResolver.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509CredentialStorageServiceResolver.java
@@ -86,8 +86,8 @@ public class X509CredentialStorageServiceResolver extends AbstractStorageService
     public X509CredentialStorageServiceResolver() {
         super(X509Credential.class);
         
-        privateKeyTemplateString = "sp${usage}.key";
-        certificateTemplateString = "sp${usage}.crt";
+        privateKeyTemplateString = "sp-${usage}.key";
+        certificateTemplateString = "sp-${usage}.crt";
     }
 
     /**
@@ -157,8 +157,7 @@ public class X509CredentialStorageServiceResolver extends AbstractStorageService
         }
     }
     
-    /** {@inheritDoc} 
-     * @throws ResolverException */
+    /** {@inheritDoc} */
     @Override
     @Nonnull @NotLive @Unmodifiable protected Iterable<Credential> doResolve(@Nonnull VelocityContext velocityContext,
             @Nullable final CriteriaSet criteria, @Nonnull final String storageContext) throws ResolverException {
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509KeyStoreStorageServiceResolver.java b/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509KeyStoreStorageServiceResolver.java
index 71712d7..7a93fcd 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509KeyStoreStorageServiceResolver.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/credential/impl/X509KeyStoreStorageServiceResolver.java
@@ -58,6 +58,7 @@ public class X509KeyStoreStorageServiceResolver extends AbstractStorageServiceCr
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(X509KeyStoreStorageServiceResolver.class);
     
+    /** Keystore type. */
     @Nonnull private String keyStoreType;
     
     /** Template used to construct the storage key for the keystore. */
@@ -84,7 +85,7 @@ public class X509KeyStoreStorageServiceResolver extends AbstractStorageServiceCr
         keyStoreType = "PKCS12";
         
         keyStoreTemplateString = "sp-keystore.p12";
-        aliasTemplateString = "${agentID}${usage}";
+        aliasTemplateString = "${agentID}-${usage}";
     }
     
     /**
@@ -152,8 +153,7 @@ public class X509KeyStoreStorageServiceResolver extends AbstractStorageServiceCr
                 StandardCharsets.UTF_8);
     }
     
-    /** {@inheritDoc} 
-     * @throws ResolverException */
+    /** {@inheritDoc} */
     @Override
     @Nonnull @NotLive @Unmodifiable protected Iterable<Credential> doResolve(@Nonnull VelocityContext velocityContext,
             @Nullable final CriteriaSet criteria, @Nonnull final String storageContext) throws ResolverException {

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


More information about the commits mailing list