[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