You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2021/06/17 10:34:32 UTC

[sling-org-apache-sling-commons-crypto] branch master updated (3aaa5b9 -> c0eb401)

This is an automated email from the ASF dual-hosted git repository.

olli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git.


    from 3aaa5b9  do not deconstruct component, keep it in an usable state
     new 1715c09  remove obsolete exceptions
     new 06b7f55  SLING-10499 Provide a salt provider using a secure random number generator
     new 539f555  SLING-10500 Provide a secret key provider for password-based encryption
     new f6eddf3  SLING-10407 Provide a password provider for environment variables
     new 33dbd6a  suppress warnings for rule java:S1989
     new b8b005b  suppress warnings for rule java:S100
     new c0eb401  suppress warnings for rule java:S6212

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../EnvironmentVariablePasswordProvider.java       |  9 +--
 .../crypto/internal/FilePasswordProvider.java      |  1 +
 .../PBESecretKeyProviderConfiguration.java         | 17 ++++++
 .../crypto/internal/SecureRandomSaltProvider.java  |  6 +-
 .../SecureRandomSaltProviderConfiguration.java     |  3 +
 .../internal/JasyptRandomIvGeneratorRegistrar.java |  1 +
 .../JasyptRandomSaltGeneratorRegistrar.java        |  1 +
 .../JasyptStandardPBEStringCryptoService.java      |  1 +
 .../internal/EncryptWebConsolePlugin.java          |  1 +
 .../EnvironmentVariablePasswordProviderTest.java   | 67 ++++++++++++++++++++++
 .../EnvironmentVariablePasswordProviderIT.java     |  2 +-
 11 files changed, 101 insertions(+), 8 deletions(-)
 create mode 100644 src/test/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProviderTest.java

[sling-org-apache-sling-commons-crypto] 01/07: remove obsolete exceptions

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit 1715c09e21401d7c1723d843e01c4bf4ae6633ba
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 11:31:50 2021 +0200

    remove obsolete exceptions
---
 .../sling/commons/crypto/internal/SecureRandomSaltProvider.java      | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
index e2695fe..c643840 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
@@ -18,7 +18,6 @@
  */
 package org.apache.sling.commons.crypto.internal;
 
-import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
 import java.util.Objects;
@@ -56,7 +55,7 @@ public class SecureRandomSaltProvider implements SaltProvider {
     }
 
     @Activate
-    protected void activate(final SecureRandomSaltProviderConfiguration configuration) throws IOException, NoSuchAlgorithmException {
+    protected void activate(final SecureRandomSaltProviderConfiguration configuration) throws NoSuchAlgorithmException {
         logger.debug("activating");
         this.configuration = configuration;
         secureRandom = SecureRandom.getInstance(configuration.algorithm());
@@ -64,7 +63,7 @@ public class SecureRandomSaltProvider implements SaltProvider {
     }
 
     @Modified
-    protected void modified(final SecureRandomSaltProviderConfiguration configuration) throws IOException, NoSuchAlgorithmException {
+    protected void modified(final SecureRandomSaltProviderConfiguration configuration) throws NoSuchAlgorithmException {
         logger.debug("modifying");
         this.configuration = configuration;
         secureRandom = SecureRandom.getInstance(configuration.algorithm());

[sling-org-apache-sling-commons-crypto] 05/07: suppress warnings for rule java:S1989

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit 33dbd6ad5a4f715315302ccba5f9d15a37e51bf5
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 12:20:54 2021 +0200

    suppress warnings for rule java:S1989
---
 .../commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java      | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java b/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
index 9ef8560..0d925f0 100644
--- a/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
+++ b/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
@@ -50,6 +50,7 @@ import org.osgi.util.tracker.ServiceTracker;
         "felix.webconsole.category=Crypto"
     }
 )
+@SuppressWarnings("java:S1989")
 public class EncryptWebConsolePlugin extends HttpServlet {
 
     private BundleContext bundleContext;

[sling-org-apache-sling-commons-crypto] 07/07: suppress warnings for rule java:S6212

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit c0eb4015d3663c9b2f3607faacf772d988e71863
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 12:33:39 2021 +0200

    suppress warnings for rule java:S6212
---
 .../commons/crypto/internal/EnvironmentVariablePasswordProvider.java    | 1 +
 .../org/apache/sling/commons/crypto/internal/FilePasswordProvider.java  | 1 +
 .../apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java  | 1 +
 .../crypto/jasypt/internal/JasyptRandomIvGeneratorRegistrar.java        | 1 +
 .../crypto/jasypt/internal/JasyptRandomSaltGeneratorRegistrar.java      | 1 +
 .../crypto/jasypt/internal/JasyptStandardPBEStringCryptoService.java    | 1 +
 .../commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java     | 2 +-
 7 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java b/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
index bbaeeed..d80c29b 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
@@ -41,6 +41,7 @@ import org.slf4j.LoggerFactory;
     ocd = EnvironmentVariablePasswordProviderConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class EnvironmentVariablePasswordProvider implements PasswordProvider {
 
     private EnvironmentVariablePasswordProviderConfiguration configuration;
diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/FilePasswordProvider.java b/src/main/java/org/apache/sling/commons/crypto/internal/FilePasswordProvider.java
index f34b4ac..e894344 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/FilePasswordProvider.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/FilePasswordProvider.java
@@ -47,6 +47,7 @@ import org.slf4j.LoggerFactory;
     ocd = FilePasswordProviderConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class FilePasswordProvider implements PasswordProvider {
 
     private FilePasswordProviderConfiguration configuration;
diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
index c643840..173858a 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProvider.java
@@ -43,6 +43,7 @@ import org.slf4j.LoggerFactory;
     ocd = SecureRandomSaltProviderConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class SecureRandomSaltProvider implements SaltProvider {
 
     private SecureRandom secureRandom;
diff --git a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomIvGeneratorRegistrar.java b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomIvGeneratorRegistrar.java
index c761191..104d71e 100644
--- a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomIvGeneratorRegistrar.java
+++ b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomIvGeneratorRegistrar.java
@@ -44,6 +44,7 @@ import org.slf4j.LoggerFactory;
     ocd = JasyptRandomIvGeneratorRegistrarConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class JasyptRandomIvGeneratorRegistrar {
 
     private ServiceRegistration<IvGenerator> serviceRegistration;
diff --git a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomSaltGeneratorRegistrar.java b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomSaltGeneratorRegistrar.java
index be04ee0..79b5704 100644
--- a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomSaltGeneratorRegistrar.java
+++ b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptRandomSaltGeneratorRegistrar.java
@@ -44,6 +44,7 @@ import org.slf4j.LoggerFactory;
     ocd = JasyptRandomSaltGeneratorRegistrarConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class JasyptRandomSaltGeneratorRegistrar {
 
     private ServiceRegistration<SaltGenerator> serviceRegistration;
diff --git a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptStandardPBEStringCryptoService.java b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptStandardPBEStringCryptoService.java
index b1ce19d..9c50b71 100644
--- a/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptStandardPBEStringCryptoService.java
+++ b/src/main/java/org/apache/sling/commons/crypto/jasypt/internal/JasyptStandardPBEStringCryptoService.java
@@ -51,6 +51,7 @@ import org.slf4j.LoggerFactory;
     ocd = JasyptStandardPBEStringCryptoServiceConfiguration.class,
     factory = true
 )
+@SuppressWarnings("java:S6212")
 public class JasyptStandardPBEStringCryptoService implements CryptoService {
 
     @Reference
diff --git a/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java b/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
index 0d925f0..3683420 100644
--- a/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
+++ b/src/main/java/org/apache/sling/commons/crypto/webconsole/internal/EncryptWebConsolePlugin.java
@@ -50,7 +50,7 @@ import org.osgi.util.tracker.ServiceTracker;
         "felix.webconsole.category=Crypto"
     }
 )
-@SuppressWarnings("java:S1989")
+@SuppressWarnings({"java:S1989", "java:S6212"})
 public class EncryptWebConsolePlugin extends HttpServlet {
 
     private BundleContext bundleContext;

[sling-org-apache-sling-commons-crypto] 06/07: suppress warnings for rule java:S100

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit b8b005b9bbb1ac328a191edbcb8e82e0314b1746
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 12:22:47 2021 +0200

    suppress warnings for rule java:S100
---
 .../sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java | 1 +
 .../commons/crypto/internal/SecureRandomSaltProviderConfiguration.java   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java b/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
index 2a90b65..5562b6c 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
@@ -25,6 +25,7 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition;
     name = "Apache Sling Commons Crypto “PBE SecretKey Provider”",
     description = "Provides secret keys for password-based encryption (PBE)"
 )
+@SuppressWarnings("java:S100")
 @interface PBESecretKeyProviderConfiguration {
 
     @AttributeDefinition(
diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
index 7b8e02d..3346127 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
@@ -25,6 +25,7 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition;
     name = "Apache Sling Commons Crypto “SecureRandom Salt Provider”",
     description = "Provides salts created from random bytes"
 )
+@SuppressWarnings("java:S100")
 @interface SecureRandomSaltProviderConfiguration {
 
     @AttributeDefinition(

[sling-org-apache-sling-commons-crypto] 04/07: SLING-10407 Provide a password provider for environment variables

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit f6eddf352dd0c4effc160355f286569dedf6b34e
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 12:20:04 2021 +0200

    SLING-10407 Provide a password provider for environment variables
    
    * Do not deconstruct component, keep it in an usable state
    * Test component lifecycle
---
 .../EnvironmentVariablePasswordProvider.java       |  8 +--
 .../EnvironmentVariablePasswordProviderTest.java   | 67 ++++++++++++++++++++++
 .../EnvironmentVariablePasswordProviderIT.java     |  2 +-
 3 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java b/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
index 66ffcf2..bbaeeed 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProvider.java
@@ -51,25 +51,25 @@ public class EnvironmentVariablePasswordProvider implements PasswordProvider {
     }
 
     @Activate
-    private void activate(final EnvironmentVariablePasswordProviderConfiguration configuration) {
+    protected void activate(final EnvironmentVariablePasswordProviderConfiguration configuration) {
         logger.debug("activating");
         this.configuration = configuration;
     }
 
     @Modified
-    private void modified(final EnvironmentVariablePasswordProviderConfiguration configuration) {
+    protected void modified(final EnvironmentVariablePasswordProviderConfiguration configuration) {
         logger.debug("modifying");
         this.configuration = configuration;
     }
 
     @Deactivate
-    private void deactivate() {
+    protected void deactivate() {
         logger.debug("deactivating");
-        this.configuration = null;
     }
 
     @Override
     public char @NotNull [] getPassword() {
+        Objects.requireNonNull(configuration, "Configuration must not be null");
         final String name = configuration.name();
         if (Objects.isNull(System.getenv(name))) {
             final String message = String.format("environment variable '%s' not set", name);
diff --git a/src/test/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProviderTest.java b/src/test/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProviderTest.java
new file mode 100644
index 0000000..fd00acf
--- /dev/null
+++ b/src/test/java/org/apache/sling/commons/crypto/internal/EnvironmentVariablePasswordProviderTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.commons.crypto.internal;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import static com.github.stefanbirkner.systemlambda.SystemLambda.withEnvironmentVariable;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class EnvironmentVariablePasswordProviderTest {
+
+    @Rule
+    public ExpectedException exception = ExpectedException.none();
+
+    @Test
+    public void testMissingConfiguration() {
+        final EnvironmentVariablePasswordProvider provider = new EnvironmentVariablePasswordProvider();
+        exception.expect(NullPointerException.class);
+        exception.expectMessage("Configuration must not be null");
+        provider.getPassword();
+    }
+
+    @Test
+    public void testComponentLifecycle() throws Exception {
+        final EnvironmentVariablePasswordProvider provider = new EnvironmentVariablePasswordProvider();
+        { // activate
+            final EnvironmentVariablePasswordProviderConfiguration configuration = mock(EnvironmentVariablePasswordProviderConfiguration.class);
+            when(configuration.name()).thenReturn("password_ascii85");
+            provider.activate(configuration);
+            final char[] password = withEnvironmentVariable("password_ascii85", "+AQ?aDes!'DBMkrCi:FE6q\\sOn=Pbmn=PK8n=PK?").execute(provider::getPassword);
+            assertThat(password).isEqualTo("+AQ?aDes!'DBMkrCi:FE6q\\sOn=Pbmn=PK8n=PK?".toCharArray());
+        }
+        { // modified
+            final EnvironmentVariablePasswordProviderConfiguration configuration = mock(EnvironmentVariablePasswordProviderConfiguration.class);
+            when(configuration.name()).thenReturn("password_utf8");
+            provider.modified(configuration);
+            final char[] password = withEnvironmentVariable("password_utf8", " Napøleøn Sølø (DK) 🏁🇩🇰").execute(provider::getPassword);
+            assertThat(password).isEqualTo(" Napøleøn Sølø (DK) 🏁🇩🇰".toCharArray());
+        }
+        { // deactivate
+            provider.deactivate();
+            final char[] password = withEnvironmentVariable("password_utf8", " Napøleøn Sølø (DK) 🏁🇩🇰").execute(provider::getPassword);
+            assertThat(password).isEqualTo(" Napøleøn Sølø (DK) 🏁🇩🇰".toCharArray());
+        }
+    }
+
+}
diff --git a/src/test/java/org/apache/sling/commons/crypto/it/tests/EnvironmentVariablePasswordProviderIT.java b/src/test/java/org/apache/sling/commons/crypto/it/tests/EnvironmentVariablePasswordProviderIT.java
index 8ebd7de..51cd86e 100644
--- a/src/test/java/org/apache/sling/commons/crypto/it/tests/EnvironmentVariablePasswordProviderIT.java
+++ b/src/test/java/org/apache/sling/commons/crypto/it/tests/EnvironmentVariablePasswordProviderIT.java
@@ -76,7 +76,7 @@ public class EnvironmentVariablePasswordProviderIT extends CryptoTestSupport {
     }
 
     @Test(expected = RuntimeException.class)
-    public void testEnvironmentVariableNotSet() throws Exception {
+    public void testEnvironmentVariableNotSet() {
         passwordProvider.getPassword();
     }
 

[sling-org-apache-sling-commons-crypto] 02/07: SLING-10499 Provide a salt provider using a secure random number generator

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit 06b7f55db746b4022f10e68f34ab602f1afa39b6
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 11:37:56 2021 +0200

    SLING-10499 Provide a salt provider using a secure random number generator
    
    add name hint for Web Console
---
 .../commons/crypto/internal/SecureRandomSaltProviderConfiguration.java  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
index 71306e4..7b8e02d 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/SecureRandomSaltProviderConfiguration.java
@@ -46,4 +46,6 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition;
     )
     int keyLength() default 8;
 
+    String webconsole_configurationFactory_nameHint() default "{names} {algorithm}";
+
 }

[sling-org-apache-sling-commons-crypto] 03/07: SLING-10500 Provide a secret key provider for password-based encryption

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-crypto.git

commit 539f555d2778b668e33a3026de4d11247fc7880d
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Thu Jun 17 11:38:48 2021 +0200

    SLING-10500 Provide a secret key provider for password-based encryption
    
    add target configuration for password and salt providers and name hint for Web Console
---
 .../internal/PBESecretKeyProviderConfiguration.java      | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java b/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
index dae176a..2a90b65 100644
--- a/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
+++ b/src/main/java/org/apache/sling/commons/crypto/internal/PBESecretKeyProviderConfiguration.java
@@ -52,4 +52,20 @@ import org.osgi.service.metatype.annotations.ObjectClassDefinition;
     )
     int keyLength() default 256;
 
+    @AttributeDefinition(
+        name = "Password Provider Target",
+        description = "filter expression to target a Password Provider",
+        required = false
+    )
+    String passwordProvider_target();
+
+    @AttributeDefinition(
+        name = "Salt Provider Target",
+        description = "filter expression to target a Salt Provider",
+        required = false
+    )
+    String saltProvider_target();
+
+    String webconsole_configurationFactory_nameHint() default "{names} {algorithm}";
+
 }