You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/12 16:53:31 UTC

svn commit: r803545 - in /maven/core-integration-testing/trunk/core-it-suite/src/test: java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java resources/mng-0553/test-3/ resources/mng-0553/test-3/settings-security.xml

Author: bentmann
Date: Wed Aug 12 14:53:31 2009
New Revision: 803545

URL: http://svn.apache.org/viewvc?rev=803545&view=rev
Log:
[MNG-553] Secure Storage of Server Passwords

o Extended IT to check new CLI commands to encrypt passwords

Added:
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml   (with props)
Modified:
    maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java

Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java?rev=803545&r1=803544&r2=803545&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0553SettingsAuthzEncryptionTest.java Wed Aug 12 14:53:31 2009
@@ -24,6 +24,8 @@
 
 import java.io.File;
 import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Properties;
 
 import org.mortbay.jetty.Server;
@@ -163,4 +165,52 @@
         verifier.assertArtifactPresent( "org.apache.maven.its.mng0553", "a", "0.1-SNAPSHOT", "jar" );
     }
 
+    /**
+     * Test that the CLI supports generation of encrypted (master) passwords.
+     */
+    public void testitEncryption()
+        throws Exception
+    {
+        Verifier verifier = new Verifier( new File( testDir, "test-3" ).getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.getSystemProperties().setProperty( "settings.security", "settings~security.xml" );
+        verifier.getCliOptions().add( "--encrypt-master-password" );
+        verifier.getCliOptions().add( "test" );
+        verifier.setLogFileName( "log-emp.txt" );
+        verifier.executeGoal( "-e" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        List log = verifier.loadLines( verifier.getLogFileName(), null );
+        assertNotNull( findPassword( log ) );
+
+        verifier = new Verifier( new File( testDir, "test-3" ).getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.getSystemProperties().setProperty( "settings.security", "settings-security.xml" );
+        verifier.getCliOptions().add( "--encrypt-password" );
+        verifier.getCliOptions().add( "testpass" );
+        verifier.setLogFileName( "log-ep.txt" );
+        verifier.executeGoal( "-e" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        log = verifier.loadLines( verifier.getLogFileName(), null );
+        assertNotNull( findPassword( log ) );
+    }
+
+    private String findPassword( List log )
+    {
+        for ( Iterator it = log.iterator(); it.hasNext(); )
+        {
+            String line = (String) it.next();
+
+            if ( line.matches( ".*\\{[A-Za-z0-9+/=]+\\}.*" ) )
+            {
+                return line;
+            }
+        }
+        
+        return null;
+    }
+
 }

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml?rev=803545&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml Wed Aug 12 14:53:31 2009
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<settingsSecurity>
+  <master>{1wQaa6S/o8MH7FnaTNL53XmhT5O0SEGXQi3gC49o6OY=}</master>
+</settingsSecurity>

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-0553/test-3/settings-security.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision