attr = requireNonNull(stripAttributes(bare));
if (isLegacyEncryptedString(str)) {
diff --git a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java
index c520b4e..8e27148 100644
--- a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java
+++ b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java
@@ -32,6 +32,8 @@
import org.codehaus.plexus.components.secdispatcher.model.SettingsSecurity;
import org.codehaus.plexus.components.secdispatcher.model.io.stax.SecurityConfigurationStaxWriter;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -172,4 +174,23 @@ protected DefaultSecDispatcher construct() {
new LegacyDispatcher()),
CONFIG_PATH);
}
+
+ /**
+ * Test values created with Maven 3.9.9.
+ *
+ * master password: "masterpassword"
+ * password: "password"
+ */
+ @ParameterizedTest
+ @ValueSource(
+ strings = {
+ "src/test/legacy/legacy-settings-security-1.xml",
+ "src/test/legacy/legacy-settings-security-2.xml"
+ })
+ void legacy(String xml) throws Exception {
+ System.setProperty("settings.security", xml);
+ SecDispatcher secDispatcher = construct();
+ String cleartext = secDispatcher.decrypt("{L6L/HbmrY+cH+sNkphnq3fguYepTpM04WlIXb8nB1pk=}");
+ assertEquals("password", cleartext);
+ }
}