You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2014/11/20 15:17:11 UTC

[1/3] git commit: updated refs/heads/4.3 to 5cd0d25

Repository: cloudstack
Updated Branches:
  refs/heads/4.3 09a3eefba -> 5cd0d2581


CLOUDSTACK-7822: Fixed SSL Cert Tests and relaxed chain validation

(cherry picked from commit 92d4a41a69da34b0b6f435f95fd959e2110b662c)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

Conflicts:
	server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
	server/test/resources/certs/root_chain.crt
	server/test/resources/certs/root_chain.key
	server/test/resources/certs/rsa_ca_signed2.crt

(cherry picked from commit 9c0c4f713f95e5fa228a8b22c51a0f59e5f8a9d1)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

Conflicts:
	server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
	server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
	server/test/resources/certs/rsa_ca_signed.crt
	server/test/resources/certs/rsa_ca_signed.key
	server/test/resources/certs/rsa_self_signed.crt
	server/test/resources/certs/rsa_self_signed.key
	server/test/resources/certs/rsa_self_signed_with_pwd.crt
	server/test/resources/certs/rsa_self_signed_with_pwd.key


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9258b835
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9258b835
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9258b835

Branch: refs/heads/4.3
Commit: 9258b8350e934c5e23ebdfaa9899f13d28cdf997
Parents: 09a3eef
Author: Will Stevens <ws...@cloudops.com>
Authored: Thu Nov 13 09:55:49 2014 -0500
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Thu Nov 20 19:33:16 2014 +0530

----------------------------------------------------------------------
 .../cloudstack/network/lb/CertServiceImpl.java  | 20 +----
 .../cloudstack/network/lb/CertServiceTest.java  | 81 +++-----------------
 server/test/resources/certs/dsa_self_signed.crt | 26 -------
 server/test/resources/certs/non_root.crt        | 13 ++++
 server/test/resources/certs/non_root.csr        | 11 +++
 server/test/resources/certs/non_root.key        | 15 ++++
 server/test/resources/certs/root_chain.crt      | 31 +++-----
 server/test/resources/certs/root_chain.csr      | 11 +++
 server/test/resources/certs/root_chain.key      | 15 ++++
 server/test/resources/certs/rsa_ca_signed.crt   | 32 +++-----
 server/test/resources/certs/rsa_ca_signed.csr   | 11 +++
 server/test/resources/certs/rsa_ca_signed.key   | 45 ++++-------
 server/test/resources/certs/rsa_ca_signed2.crt  | 23 ------
 server/test/resources/certs/rsa_ca_signed2.key  | 30 --------
 server/test/resources/certs/rsa_random_pkey.key | 28 -------
 server/test/resources/certs/rsa_self_signed.crt | 28 +++----
 server/test/resources/certs/rsa_self_signed.csr | 11 +++
 server/test/resources/certs/rsa_self_signed.key | 38 ++++-----
 .../certs/rsa_self_signed_with_pwd.crt          | 28 +++----
 .../certs/rsa_self_signed_with_pwd.csr          | 11 +++
 .../certs/rsa_self_signed_with_pwd.key          | 40 ++++------
 21 files changed, 194 insertions(+), 354 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java b/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
index b699fc5..2beff68 100644
--- a/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
+++ b/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
@@ -307,15 +307,6 @@ public class CertServiceImpl implements  CertService {
         } catch (Exception e) {
             throw new IllegalArgumentException("Certificate expired or not valid", e);
         }
-
-        if( !chain_present ) {
-            PublicKey pubKey = cert.getPublicKey();
-            try {
-                cert.verify(pubKey);
-            } catch (Exception e) {
-                throw new IllegalArgumentException("No chain given and certificate not self signed", e);
-            }
-        }
     }
 
     private void validateKeys(PublicKey pubKey, PrivateKey privKey) {
@@ -357,8 +348,6 @@ public class CertServiceImpl implements  CertService {
     private void validateChain(List<Certificate> chain, Certificate cert) {
 
         List<Certificate> certs = new ArrayList<Certificate>();
-        List<Certificate> root = new ArrayList<Certificate>();
-
         Set<TrustAnchor> anchors = new HashSet<TrustAnchor>();
 
 
@@ -374,16 +363,9 @@ public class CertServiceImpl implements  CertService {
             Principal subject = xCert.getSubjectDN();
             Principal issuer = xCert.getIssuerDN();
 
-            if( issuer != null &&  subject.equals(issuer) ) {
-                root.add(c);
-                anchors.add(new TrustAnchor(xCert,null));
-            }
+           anchors.add(new TrustAnchor(xCert, null));
         }
 
-        if ( root.size() == 0 )
-            throw new IllegalArgumentException("No root certificates found for certificate chain",null);
-
-
         X509CertSelector target = new X509CertSelector();
         target.setCertificate((X509Certificate)cert);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
----------------------------------------------------------------------
diff --git a/server/test/org/apache/cloudstack/network/lb/CertServiceTest.java b/server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
index a37e626..b2b9139 100644
--- a/server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
+++ b/server/test/org/apache/cloudstack/network/lb/CertServiceTest.java
@@ -98,7 +98,6 @@ public class CertServiceTest {
         String certFile  = getClass().getResource("/certs/rsa_ca_signed.crt").getFile();
         String keyFile   = getClass().getResource("/certs/rsa_ca_signed.key").getFile();
         String chainFile = getClass().getResource("/certs/root_chain.crt").getFile();
-        String password = "user";
 
 
         String cert = URLEncoder.encode(readFileToString(new File(certFile)), "UTF-8");
@@ -133,10 +132,6 @@ public class CertServiceTest {
         keyField.setAccessible(true);
         keyField.set(uploadCmd, key);
 
-        Field passField = _class.getDeclaredField("password");
-        passField.setAccessible(true);
-        passField.set(uploadCmd, password);
-
         Field chainField = _class.getDeclaredField("chain");
         chainField.setAccessible(true);
         chainField.set(uploadCmd, chain);
@@ -146,7 +141,7 @@ public class CertServiceTest {
 
     @Test
     /**
-     * Given a Self-signed Certificate with non-encrypted key, upload should succeed
+     * Given a Self-signed Certificate with encrypted key, upload should succeed
      */
     public void runUploadSslCertSelfSignedWithPassword() throws Exception {
 
@@ -197,7 +192,7 @@ public class CertServiceTest {
 
     @Test
     /**
-     * Given a Self-signed Certificate with encrypted key, upload should succeed
+     * Given a Self-signed Certificate with non-encrypted key, upload should succeed
      */
     public void runUploadSslCertSelfSignedNoPassword() throws Exception {
 
@@ -249,7 +244,6 @@ public class CertServiceTest {
         String certFile  = getClass().getResource("/certs/rsa_ca_signed.crt").getFile();
         String keyFile   = getClass().getResource("/certs/rsa_ca_signed.key").getFile();
         String chainFile = getClass().getResource("/certs/rsa_self_signed.crt").getFile();
-        String password = "user";
 
 
         String cert = URLEncoder.encode(readFileToString(new File(certFile)), "UTF-8");
@@ -279,10 +273,6 @@ public class CertServiceTest {
         keyField.setAccessible(true);
         keyField.set(uploadCmd, key);
 
-        Field passField = _class.getDeclaredField("password");
-        passField.setAccessible(true);
-        passField.set(uploadCmd, password);
-
         Field chainField = _class.getDeclaredField("chain");
         chainField.setAccessible(true);
         chainField.set(uploadCmd, chain);
@@ -295,15 +285,15 @@ public class CertServiceTest {
         }
     }
 
+
     @Test
     public void runUploadSslCertNoRootCert()  throws IOException, IllegalAccessException, NoSuchFieldException {
 
         Assume.assumeTrue(isOpenJdk() || isJCEInstalled());
 
-        String certFile  = getClass().getResource("/certs/rsa_ca_signed.crt").getFile();
-        String keyFile   = getClass().getResource("/certs/rsa_ca_signed.key").getFile();
-        String chainFile = getClass().getResource("/certs/rsa_ca_signed2.crt").getFile();
-        String password = "user";
+        String certFile = getClass().getResource("/certs/rsa_ca_signed.crt").getFile();
+        String keyFile = getClass().getResource("/certs/rsa_ca_signed.key").getFile();
+        String chainFile = getClass().getResource("/certs/non_root.crt").getFile();
 
 
         String cert = URLEncoder.encode(readFileToString(new File(certFile)), "UTF-8");
@@ -333,68 +323,15 @@ public class CertServiceTest {
         keyField.setAccessible(true);
         keyField.set(uploadCmd, key);
 
-        Field passField = _class.getDeclaredField("password");
-        passField.setAccessible(true);
-        passField.set(uploadCmd, password);
-
         Field chainField = _class.getDeclaredField("chain");
         chainField.setAccessible(true);
         chainField.set(uploadCmd, chain);
 
         try {
             certService.uploadSslCert(uploadCmd);
-            fail("Chain is given but does not have root certificate");
-        } catch (Exception e) {
-            assertTrue(e.getMessage().contains("No root certificates found"));
-        }
-
-    }
-
-    @Test
-    public void runUploadSslCertNoChain() throws IOException, IllegalAccessException, NoSuchFieldException {
-
-        Assume.assumeTrue(isOpenJdk() || isJCEInstalled());
-        
-        String certFile = getClass().getResource("/certs/rsa_ca_signed.crt").getFile();
-        String keyFile  = getClass().getResource("/certs/rsa_ca_signed.key").getFile();
-        String password = "user";
-
-
-        String cert = URLEncoder.encode(readFileToString(new File(certFile)), "UTF-8");
-        String key = URLEncoder.encode(readFileToString(new File(keyFile)), "UTF-8");
-
-        CertServiceImpl certService =  new CertServiceImpl();
-
-        //setting mock objects
-        certService._accountMgr = Mockito.mock(AccountManager.class);
-        Account account = new AccountVO("testaccount", 1,
-                "networkdomain", (short) 0, UUID.randomUUID().toString());
-        when(certService._accountMgr.getAccount(anyLong())).thenReturn(account);
-
-        certService._sslCertDao = Mockito.mock(SslCertDao.class);
-        when(certService._sslCertDao.persist(any(SslCertVO.class))).thenReturn(new SslCertVO());
-
-        //creating the command
-        UploadSslCertCmd uploadCmd = new UploadSslCertCmdExtn();
-        Class<?> _class = uploadCmd.getClass().getSuperclass();
-
-        Field certField = _class.getDeclaredField("cert");
-        certField.setAccessible(true);
-        certField.set(uploadCmd, cert);
-
-        Field keyField = _class.getDeclaredField("key");
-        keyField.setAccessible(true);
-        keyField.set(uploadCmd, key);
-
-        Field passField = _class.getDeclaredField("password");
-        passField.setAccessible(true);
-        passField.set(uploadCmd, password);
-
-        try {
-            certService.uploadSslCert(uploadCmd);
-            fail("If no chain is given, the certificate should be self signed. Else, uploadShould Fail");
+            fail("Chain is given but does not link to the certificate");
         } catch (Exception e) {
-            assertTrue(e.getMessage().contains("No chain given and certificate not self signed"));
+            assertTrue(e.getMessage().contains("Invalid certificate chain"));
         }
 
     }
@@ -451,7 +388,7 @@ public class CertServiceTest {
     public void runUploadSslCertBadkeyPair() throws IOException, IllegalAccessException, NoSuchFieldException {
         // Reading appropritate files
         String certFile = getClass().getResource("/certs/rsa_self_signed.crt").getFile();
-        String keyFile  = getClass().getResource("/certs/rsa_random_pkey.key").getFile();
+        String keyFile = getClass().getResource("/certs/non_root.key").getFile();
 
         String cert = URLEncoder.encode(readFileToString(new File(certFile)), "UTF-8");
         String key = URLEncoder.encode(readFileToString(new File(keyFile)), "UTF-8");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/dsa_self_signed.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/dsa_self_signed.crt b/server/test/resources/certs/dsa_self_signed.crt
deleted file mode 100644
index 9ee3dc8..0000000
--- a/server/test/resources/certs/dsa_self_signed.crt
+++ /dev/null
@@ -1,26 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEaDCCBBACCQDB6QTHSA74AzAJBgcqhkjOOAQDMEUxCzAJBgNVBAYTAkFVMRMw
-EQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0
-eSBMdGQwHhcNMTMxMDIxMTUxMzE1WhcNMTQxMDIxMTUxMzE1WjBFMQswCQYDVQQG
-EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lk
-Z2l0cyBQdHkgTHRkMIIDSDCCAjoGByqGSM44BAEwggItAoIBAQD1cLkWeTvzloom
-uaHmB0ANyrmHTum6bVVMyN2V/it8BAErugqQBIaNtF2EOmJ3baxsxIROOqJ5uVx0
-pymYVr4BcS3R6H2G7lSWHa5iA/UMfVp9yHroK+WYdN5ZVKGYcUTvKZXtyr2OX3Rc
-KJJ2yp4qbcQTB2GlV6eZdpX3l38G/03n/Wi5yjU2/p56R80FAaLtCr4wJoS2aXxU
-Iytps+msEn0LRZuFHpW1sLIKPLRCnjFXWeWKdJu6bggUVB0GjfsZR67XzFY5nRvX
-7/vW2XS5Vo4X6gSOym0O/8/vzUp1gQSwHiMQQRAoRYoZPxWo8ACMsqdj0MTbN32y
-b11//OlXAiEAoR8xDStCDTaQ2Ale9swNzLB8vWFzmSLQXXOM1PY10fMCggEBAO1p
-RV1kluxjYCKec12MKdTBqO2QZnOOVFsY2vpIavgqpxyGaHRwY8Cm7BGosV2chMZw
-G6xMz5CRnR55KasaX1Vz2xAz7PwczXWDQA59Il5tQbQdewitm1S3NRb1n9u+cNkQ
-E6ZekjdW9tRykvaNQHH8EBzgQ9KXCYzJ8nFLk2DMt2Mor/paXfobNzO/vi2UgL+B
-5/E8BXoMtBFPhiz72CsCiXp/usROe/UAejow/CTHYC2mfcPhKt2jIVelXx7Baf0n
-K1SWKBpNI4ucBj+/4L3Be0ldqDGmeTRUNTNpJIzmAyplUvnpOiqCbzKst57+l4ZE
-xdVgv2LiIrTaqTn1L4sDggEGAAKCAQEAv0hyFYj8IMEaOCk9+6wb32NGEGoEz4re
-YW1O02Kij2/0YJk0CPyg0ozIpJq9FiHvOzE+2/Eg5jLVTLlAJbjnGjSnzZJ6pJHw
-zhwnJ9wT4to51jLvG1v82iL2FfFKOZFjABxC+kND9cAUXu3URIGfdYJl1rBxvOD1
-WZ03Gk90GMCLUIMqqUYBQg7XRNVf0k1AgiRgDWpdLkKOGiDntAj/unXdFrbse2xD
-IbqBGhCNtPVx34CZ3bUWrvYBoj+BUinfItRK4rkZTEGJinoxbKDvdqoewgk2nSty
-7CH40wFS4ni4DCvYTEwUoUuciQaU4XUOOSYFS9IjNWOR8uGBtORteTAJBgcqhkjO
-OAQDA0cAMEQCIHqfrNbyMadxZ3uCPr8QPj+17XZZod8B7F8VgZW3R5vSAiAV/WMF
-vQ1Dwpr4wJOjNELDe5AEH9WGvevfuc54vmdAdg==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/non_root.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/non_root.crt b/server/test/resources/certs/non_root.crt
new file mode 100644
index 0000000..288ab3d
--- /dev/null
+++ b/server/test/resources/certs/non_root.crt
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
+BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
+Fw0xNDExMTIyMTU1MzBaGA8yMTEwMDkxMDIxNTUzMFowQjELMAkGA1UEBhMCWFgx
+FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
+IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsnzKPLJXUaCXTXrmGplZ
+jULuk2YgyOPII0pRbumO8DaT8hhu1yv0bYp5FPMY8oYzj/K+J8ixLNJeXmxKEs1k
+2XuHe6FOoRZQYuOlRHQ18D6r4U6pdvND98elnj47WIhquRqUrzZS9hGJsaEk+Q2X
+R0YuieZ4JxzCto2UJ+/No0kCAwEAATANBgkqhkiG9w0BAQUFAAOBgQActcWz/1y4
+wRpNhisks7bjPW8oKqS4dpXtUr016+m0xcn0HCl3GzcltG9PmOd6DUOeulsO89lg
+d3u/+TwzVCzQNi7KcPiAc1ELjgKX/qJVZbY5SMjDAaB9hvE8UY6bTI3gjoHW2oGr
+heIiCaASvVucpcYUwyfWDFa77WDckE6yHg==
+-----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/non_root.csr
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/non_root.csr b/server/test/resources/certs/non_root.csr
new file mode 100644
index 0000000..9b7c826
--- /dev/null
+++ b/server/test/resources/certs/non_root.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
+MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCyfMo8sldRoJdNeuYamVmNQu6TZiDI48gjSlFu6Y7wNpPyGG7X
+K/RtinkU8xjyhjOP8r4nyLEs0l5ebEoSzWTZe4d7oU6hFlBi46VEdDXwPqvhTql2
+80P3x6WePjtYiGq5GpSvNlL2EYmxoST5DZdHRi6J5ngnHMK2jZQn782jSQIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEApgfoXJUv6kBU1OCKvIjefxMUEd4nwIuM62S9
+WSjOVQqwpuyD2GT/cpJWTwOZ5SmkoEyWLPrcZFXv2YhusqDh8jefI51Y6B5QZLFC
+RaZGTovkpyvNPg1Us0NNw1BeGnMkybKIuXspsinXd7aqtjHtSNkyNXofLsBMA7jd
+xp6ExwU=
+-----END CERTIFICATE REQUEST-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/non_root.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/non_root.key b/server/test/resources/certs/non_root.key
new file mode 100644
index 0000000..ef29614
--- /dev/null
+++ b/server/test/resources/certs/non_root.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQCyfMo8sldRoJdNeuYamVmNQu6TZiDI48gjSlFu6Y7wNpPyGG7X
+K/RtinkU8xjyhjOP8r4nyLEs0l5ebEoSzWTZe4d7oU6hFlBi46VEdDXwPqvhTql2
+80P3x6WePjtYiGq5GpSvNlL2EYmxoST5DZdHRi6J5ngnHMK2jZQn782jSQIDAQAB
+AoGAF3I/GsQOpmFjHsFzMrFMSzssnd4/lkQdyUz874Xsye9Rde7xuIBEppMXHsJk
+V497fIBVrGI3q/yieuLcxCWJBrRxYJMvneygmrXSQpfTzKHNMu2RMq1NE+wAFs5i
+za9JTVyD/DNX6BoMdsDg2n4PNRnIoz/5GyPoCUJY/6r6WYECQQDgxAm3fRQGz0ip
+4CJe4o2Tm97LuzuA2gLYdSyH7pV3IbXKIQJn2sGC7sRJ0NQ/RweiZk/xc753+x4V
+x6hqQRT5AkEAy0pq6Jf6bGoizoqwXnclAcdXn66POqLGuMV9BwuqxTC6laru/WPp
+ccYcMgVzT/kG9m1Z583AAjS5E8mz1Byk0QJBAMNVO0iOV+gvHmwbkGM7qmRcsrwF
+hInPbWemNUQQ8S4uSqlWFJwi/ceHL2kjJkGzvgvBtLoWp7Hnt9afxFpLIykCQQC1
+hkXgW5TpqfxaoczLDWimJfJATAbpPOBlrTLvT6O1YMW7T18INGcHiPc0U1mcV6m3
+8f0N19NUJO/+k2VYShuBAkBqaMYUI76HJwna+484aojb0RF4y4I/V8S7XvnVBvDa
+8VqsePQ1mr7SlY16/0yCLKL0+uS/+BygJFJMfUMwTzLT
+-----END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/root_chain.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/root_chain.crt b/server/test/resources/certs/root_chain.crt
index 2ed8085..4ce5013 100644
--- a/server/test/resources/certs/root_chain.crt
+++ b/server/test/resources/certs/root_chain.crt
@@ -1,22 +1,13 @@
 -----BEGIN CERTIFICATE-----
-MIIDnTCCAoWgAwIBAgIJALXV1B5/vewgMA0GCSqGSIb3DQEBBQUAMGUxCzAJBgNV
-BAYTAkFVMQ0wCwYDVQQIDARTb21lMQwwCgYDVQQKDANPcmcxDDAKBgNVBAsMA0Rl
-djENMAsGA1UEAwwETmFtZTEcMBoGCSqGSIb3DQEJARYNdGVzdEBtYWlsLmNvbTAe
-Fw0xMzEwMjExNjAxMDdaFw0xNjEwMjAxNjAxMDdaMGUxCzAJBgNVBAYTAkFVMQ0w
-CwYDVQQIDARTb21lMQwwCgYDVQQKDANPcmcxDDAKBgNVBAsMA0RldjENMAsGA1UE
-AwwETmFtZTEcMBoGCSqGSIb3DQEJARYNdGVzdEBtYWlsLmNvbTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBALQZLQa2R64GRCuoh59VFvKoXnAM+4H4sW9E
-jiURT/CeH6rbD0IbEMZZ3o84VfQw1zDsVXN/GXq3IEMp8uBBpWJuZRBF1UeDMYlB
-bouMqUGL05Ov51zK2aQK/83S8MoQI7KV1FGJNti4iwUzemG1fClrBqjCFJQKmv8y
-0z1UaeniAR7ygedIB4I2Y4a/DxtI0e2EsS0TcViwKHGrLArO0GfvNbH+tXqTaotF
-X5eyinUFqQxT3JvnlIIernk0ly8c07mqOFbFqHrhFXxddD4pZrUetHXM2MKLdCMu
-fvXsmMXSAgQ5F97GWmiDEJ9zMDxGoSmhTIN96FwPCRDr7e22lEsCAwEAAaNQME4w
-HQYDVR0OBBYEFIxSziB7ssNqFvhV2MSf1GYvGHQYMB8GA1UdIwQYMBaAFIxSziB7
-ssNqFvhV2MSf1GYvGHQYMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
-AB1rcxZL6xGuk8PSoBQ0imREcVf9BcEvGIC6uubPSXuoJ/gr584vo3pRJpTpHQyK
-xUUwG6gCaDgAMYX177GBamGCt056ThSLKFROIPVrigZ5yY1NWznNq3zjWS4jIHkV
-vGd+Gx8t3qYBhsn+v6Y6gRTjMOVQum+rvxvixG7n97DaxBnrwNWXbzZQ9spHrQsT
-dsSF/kf9NKkWM0zKh+f/FSNmveJKKvZ+WQZC/MKUfc5VHjyLldXhrffcxzek/dOc
-8YADSICSizvXCP/QjyVVl8dpKr/3c00r16Ei3QQaFhHES0bv/sKLnTwQwKDfJthu
-bQj7M/XGWi33JQgoMHktYhI=
+MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
+BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
+Fw0xNDExMTIyMTI0MzdaGA8yMTEwMDkxMDIxMjQzN1owQjELMAkGA1UEBhMCWFgx
+FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
+IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxYJtGogvfKTQMgNumCKz
+H/IbEqxwVbbp29fT8Gh67dSs+Rnu9w0DY9XtMSPTUw+uCacKfI4AbP5UsGMO8LST
+6g0LkanJOk8aGvg8lclxsrsTPSomn2EHexauHMiZ/a0kc2civGn4me9H0bkBokvK
+0KpAg3rNORCRIBioCaj+KVsCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBvT6ilNAVt
+2HUzjSf+d+3OvjAnIutO8O0W9BFol2Z54atV18A2W6aXgzdJ9LDNLqWtVqKyU6/T
+iOJ7mdxFOlXc19Bg3YXMCxnyKDXt5IBJmtv9XgSjOCWhPd9Tln0w4NB9QHUPjUxc
+M+DtHmSuXBwvaszJO4gvhJq+9jFdcS2BZg==
 -----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/root_chain.csr
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/root_chain.csr b/server/test/resources/certs/root_chain.csr
new file mode 100644
index 0000000..bfea399
--- /dev/null
+++ b/server/test/resources/certs/root_chain.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
+MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDFgm0aiC98pNAyA26YIrMf8hsSrHBVtunb19PwaHrt1Kz5Ge73
+DQNj1e0xI9NTD64Jpwp8jgBs/lSwYw7wtJPqDQuRqck6Txoa+DyVyXGyuxM9Kiaf
+YQd7Fq4cyJn9rSRzZyK8afiZ70fRuQGiS8rQqkCDes05EJEgGKgJqP4pWwIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEAxHTAyMT460uTyddqlJ4X+YYGES6G6hR4mauT
+s7WhYZNvpeU6Vi/ds5EKTXr8kD2I4zIqoqSiII880r2nPKNwiTHEl6qy3vxB+XSH
+4pets9ZWqhTrsBlClWdoYRLtPzbO5ePSxFcHso3pNI0q25w+CJQdaApXKoBMmfoh
+vr/g0qs=
+-----END CERTIFICATE REQUEST-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/root_chain.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/root_chain.key b/server/test/resources/certs/root_chain.key
new file mode 100644
index 0000000..0168003
--- /dev/null
+++ b/server/test/resources/certs/root_chain.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDFgm0aiC98pNAyA26YIrMf8hsSrHBVtunb19PwaHrt1Kz5Ge73
+DQNj1e0xI9NTD64Jpwp8jgBs/lSwYw7wtJPqDQuRqck6Txoa+DyVyXGyuxM9Kiaf
+YQd7Fq4cyJn9rSRzZyK8afiZ70fRuQGiS8rQqkCDes05EJEgGKgJqP4pWwIDAQAB
+AoGAEErH8S5WrHNz8QwzbT0/hV0VOp8azRc/hzDwfJ5BtaibdBjdi2d5ZhzZafpI
+jkt20bkDtm6IPnVkSwCA1P4wTTMM+A421I37FdMlz3MT9vpULxpKBbDRgg7+9HzY
+bNg1nAy4REl8cnd6axiji362KFI332qOelLACaDJiJpTS8ECQQDsrFdcgQII7uWn
+WJrwlD+v9cP75eJzIMhj1hYZCHSxlWc61bvqwxMYvcMZhLs6SyPrX3gmhk0NfGRk
+Ypz5dpfRAkEA1aNdww8S002Y2D9w6GzWSQALrIrNRjVcNHQJiVt4eR9HKVmM9oIm
+JKH9zzDwbrWcP5SJRcqfDLlqT0F5wyOlawJBAIqx/IhDOfQOPBszu6jc1+3AMtf9
+whUB0y1empiU8f3XtiUud+993kUTf7AGrsncmvImgnzhG2qZySNi/ubabuECQQDA
+z6xzu0r2QfZMVRWF75SGVfAzTSJu1wHcpU1mFpPoXP5Qp229nUDnlvwG3thgUrAu
+AdTSlEhvp3f3B9To9Wb5AkEAlE/e/iI7rquAsUgVa/UH9pZAYAHSEkWBPhtr8zC5
+MiaDkt0PZbpLPZK8cbVCXv7uauiPY6Oz9Ki9DQeM5wQT2Q==
+-----END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_ca_signed.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_ca_signed.crt b/server/test/resources/certs/rsa_ca_signed.crt
index fb74f17..913f2b3 100644
--- a/server/test/resources/certs/rsa_ca_signed.crt
+++ b/server/test/resources/certs/rsa_ca_signed.crt
@@ -1,23 +1,13 @@
 -----BEGIN CERTIFICATE-----
-MIID1TCCAr2gAwIBAgIJALXV1B5/vewhMA0GCSqGSIb3DQEBBQUAMGUxCzAJBgNV
-BAYTAkFVMQ0wCwYDVQQIDARTb21lMQwwCgYDVQQKDANPcmcxDDAKBgNVBAsMA0Rl
-djENMAsGA1UEAwwETmFtZTEcMBoGCSqGSIb3DQEJARYNdGVzdEBtYWlsLmNvbTAe
-Fw0xMzEwMjExNjE4MjJaFw0xNDEwMjExNjE4MjJaMHIxCzAJBgNVBAYTAkFVMRMw
-EQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0
-eSBMdGQxDTALBgNVBAMMBFN5ZWQxHDAaBgkqhkiG9w0BCQEWDXN5ZWRAdGVzdC5j
-b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpkHkV6ZHhkYc3Y92i
-YllHGbSnXIzwnbaYcfIB5NRldbxyts2Hp8HttxG0rH5DgEMdqfOowqYITe2/hAop
-ZqLuAuwEj0tlPJ/hoVnZeHlCuBps+/nWkanA0DgkwiVksm7UoWM736dkmhLf03FI
-A0/pOsUYranCJAGO26BmNQnocjuoWHZRZINKFNVwgNLrCGkhIu4Dk4o6Rnto0oew
-kwUUVogpUJ6hPFU+8eIV0BAxertuiv6bQC/dG4MhVLl9nRB+XSnf+UAMgH3ay1em
-t8CL4pAlBmctt08LcaLeJBVWH0tsdx/QUuo/5iL61I/eQi4thLureM+bhzDq3/JN
-DYzfAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wg
-R2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBR2LIRfVveDgQB3dC7TOYhX
-BEv71DAfBgNVHSMEGDAWgBSMUs4ge7LDahb4VdjEn9RmLxh0GDANBgkqhkiG9w0B
-AQUFAAOCAQEAPjN/sdLcPfMh5ep29vp/7JTh6dUYnBNATYaXxx8j2XdnMCKeRfgP
-WOJur8HDPSayWWKKlztiQbJV5jDS5vyuMWI1a5/KIAQlOJep+anpR1QnQaX4/M4Z
-YUJo1fPs6tg47dXRpZZaJ+Hqwh0ZftCQoUq/sBxawXf6sbxsjoUmzxQLBqzYo1LJ
-jwxBs6C9aM8LDHFz4TVlyclSFQXiLMosj1jLBQ+TqzCxS6qOfJeMM9STXI9W3F2k
-duXeceqOwEkh8aeSUIztYFpX34d4SA4DDX5GUEaOeOR/abnXjH52vE6tM/m7NOve
-5+I/BrlT3heRqiD6Z2ofSsFhG86YeF9Q3w==
+MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
+BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
+Fw0xNDExMTIyMTMxMDRaGA8yMTEwMDkxMDIxMzEwNFowQjELMAkGA1UEBhMCWFgx
+FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
+IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyZ3yVWZsHSRFr9LnMRpa
+bdkBurAn4jISqC69GUo3FL0TekOuihMcwPho/aZGgDE621+7g1vy1+hUE7fOv0V4
+x6uVjNpIe8GWpb9ZL0v3f/xgREHxGGX4XVY2OXsrYu2/qpZHNe+fYQTkFPqIvNVz
+bbdDpSGRk15G0YBwOtrMyfECAwEAATANBgkqhkiG9w0BAQUFAAOBgQA4V+MBF1Nb
+Wt2mFg8gw6TOBBUH0m/6EMkRZQ8/dneBn+kOkPG6YF3kj+/WmUbuc4nxj3GtaHrn
+mSNEbE6+JDXBzQNaPY/smoaL7BHfn/dd4UqwCf0aJC4/GwmbCfcuvGirnioVM2ns
+wvRpD6fmS4rq8FVLlhzsNEmwDf94ZSVGCQ==
 -----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_ca_signed.csr
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_ca_signed.csr b/server/test/resources/certs/rsa_ca_signed.csr
new file mode 100644
index 0000000..10ee195
--- /dev/null
+++ b/server/test/resources/certs/rsa_ca_signed.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
+MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDJnfJVZmwdJEWv0ucxGlpt2QG6sCfiMhKoLr0ZSjcUvRN6Q66K
+ExzA+Gj9pkaAMTrbX7uDW/LX6FQTt86/RXjHq5WM2kh7wZalv1kvS/d//GBEQfEY
+ZfhdVjY5eyti7b+qlkc1759hBOQU+oi81XNtt0OlIZGTXkbRgHA62szJ8QIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEAe7h4MlCx2UJEiAVsY8PuEB+GbwLy2rBxLjhi
+XxF06esSjdJnyItGokTI2nv9MJgR9CUA8EQS/0FTdJYHNDldYP/iXi7VhNtPpcIV
+rZv7FELzWct5LwiEoV/v88tv3tlx3AJtyh1eGrZPw1yejfQbEGVoNSM6ICr7hyh0
+6wz4tGk=
+-----END CERTIFICATE REQUEST-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_ca_signed.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_ca_signed.key b/server/test/resources/certs/rsa_ca_signed.key
index d30dd8e..89aebc1 100644
--- a/server/test/resources/certs/rsa_ca_signed.key
+++ b/server/test/resources/certs/rsa_ca_signed.key
@@ -1,30 +1,15 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIN4x8YHLIb60CAggA
-MBQGCCqGSIb3DQMHBAiuWe+C2SitUgSCBMhVxMKivNaQh9SQedh2GQ8vlhI2/mKf
-r6zVUgODOdmFRj/PAlQu6B+VH8u2Ef5tr74O9UyZUQpC6oI0npvQOGqnhIxECR8D
-zepFlC0s+6kNRqfzXiMhGTsfbs3xUE1TZK1z5556OS4GlihIB0E5F7GdlulHELeA
-dnEItqDffWPQczTmSmFqtH7G/ksGQhSA2reBIDNgxWreBh9x9h2TftEvhhogdkr2
-XQpzxcby2v2z6Hut1lfVkLQNdvdHYdDG751NQltOmGvncXkTNJ+tSByXuY9ITtYz
-XqwY/vAEX+YYjCrWcvMmhU1t6B9cZ3viFzIIIltqtvDo3rybicpM3xvmnYnTF35j
-sGebcynzZedrLUHwD6/o0jBzFJN26QBxDGrlmn9E8HBhmjMCeSyZTXtSkwN0dAhu
-EHT2NgdC/4G4+JHsb3Oetl6AbUyYs2eWTRgr6bgBezbiDqKMj1QtGECkPQE9tFFP
-Jtma6lGJ1/u8zLFYNjigKZgXaNbtlMpslk+KDTGaTSbbVEaaxWSc0YlHz329ovQC
-1btrTE71FoNjRsTRaDRXC7BfrrMtnLhG2SmROKzyBtoxFymfEmASpdGERO+c2712
-Z0NLpHJL5ocsRr/onVi0auFC/nuaq6QqYF5OPtZhYh3+IDd193LP3xo8hnFjTq90
-9zV1QI2uHfTfijI4OABYSSZLxrl2IFF7Z/e4XkWSXrneR2Ne5GoYX7w6wshiuubQ
-bDPUHODsy7uQJ3ZEmmmd5xWvA3h3F5Yyls3WEuz8+jYR4iPKdjt8DJuz9j+7IP3C
-LoRa3KhxIPAzziQw+tMFVCozLLfS1kN8mg5SwU9Dp4HUPY/n3KnjVSjUJ347KAgW
-+ykPlz4S1H0A2GyGWhdyX3J839UOdXfCsfKQQ1FLOBvhQgBNGzoRIgDrsZdrxgWa
-XtF+Ct2/2/O+503I6X90maXzhshmGw/NKsiNx7YOdUiu6w3N4LajIWE689UUU7Dr
-EtM8HcfmBnE/cZTbeWbQBfl1GqigMp+YOAY2sw0rZdF4ocmnqoCWLVN2j8O/re5g
-20y5eHkztPOZ+NNczo5PP96ng1XEMVzs/h6xDHzsak6osZb5b+Hs9kcYuqBEqr16
-3DVwaZ45dGwNN90Q9YmrgEdCqtCAU12w/YYVB/aB701Ijg0NhVsh7PgWaJIOJD56
-YTaiWIzQaZ/uM0KlgLz2eI9VXcuv24gUMAUMaI84mInnIrax1zFMrlCjEcR8Zxvk
-jCCY6Uq9WH30cUo7cMHWLWMzsl7PC7xpYSHPClqzCUluUgQwqoOs5Ux4nYl+JI7C
-ZfJ8BUMCD2RJtjvJhkE6LEkcrCjwnvappRaXbN54IVXpuMl2XYtp44T117QulEj1
-I/jk1mrpkXRKi9ZsKsjDH9VMy1hcKHn4CgTxmtRYN6LPA4tamxzVLxIi6YDU0142
-l1u763cT7cH14lvzUvEQMFbk/s0AUl8zeZAwjDayNlD/ljz7nZnJ3NToMlxeoK0a
-F6c/RgQBwxR8NMdo19Irv8stxo9WGB2/0Q8WCxW7ENHlBpvX5zXKRJMswFKp0ft6
-dT7hOBPgJlD7C1eX5jVcSz6kDRM6gQ7K/c5QcJa6qNAC2Jw6yBBYltqiRalFWX46
-VcM=
------END ENCRYPTED PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDJnfJVZmwdJEWv0ucxGlpt2QG6sCfiMhKoLr0ZSjcUvRN6Q66K
+ExzA+Gj9pkaAMTrbX7uDW/LX6FQTt86/RXjHq5WM2kh7wZalv1kvS/d//GBEQfEY
+ZfhdVjY5eyti7b+qlkc1759hBOQU+oi81XNtt0OlIZGTXkbRgHA62szJ8QIDAQAB
+AoGBAL41sfuZzmPL5abUPWMY7rl1oukC6g2/mdRri+GBH+gD3Y1arx76mwT/FuY+
+aYLlbxaqAZkTNU82k6OqpHXVT/S5XRbuhERFBIIl4FKVi1iiZ3m5Pz5XbDzFU24y
+etwRdUGM/ZeLHBtknOgEKXakiLoNdIf+mqov5YAvxyH+BCcxAkEA+9GZs6nLI2Aw
+So8/TmkMMzLNSjVxdqIg/OZtcuZiyQ2OKUL7t2DRrCmabWSMw7E+kZxhHW+QeDrC
+fh4wdPVcjQJBAMz29G6QRQTX0NBNo6H+qoPvtZfbWmRKMLuJ+OpIvcMmRXkn3cCR
++K5MQ/vpu9JyApp1DoRNTPThJpmnFRI/0/UCQQCchwf0Xqmvfp3l6q7eLXvw4zYq
+V5gEtvisWwtTbZOgB7YDPei7bwpF6sJcFzFMfwM2fa78Hhn+MgAtZtSWDuINAkBy
+vybk5xvctD4RAAZF4N7xcjfFxmX6k5Zox7t03jhuknR+eZUqBA6m9cdxts8R6AYR
+FsuDwgr9ZTdI+kNPrjApAkEA8KlHUML5lyn8YIbg81uaQPL79opAD4ZGArje9Z9k
+J20fc50gmpEXd+wtfYeq95jgLWilrhS6oM2cFbEAUpzrbQ==
+-----END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_ca_signed2.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_ca_signed2.crt b/server/test/resources/certs/rsa_ca_signed2.crt
deleted file mode 100644
index fb74f17..0000000
--- a/server/test/resources/certs/rsa_ca_signed2.crt
+++ /dev/null
@@ -1,23 +0,0 @@
------BEGIN CERTIFICATE-----
-MIID1TCCAr2gAwIBAgIJALXV1B5/vewhMA0GCSqGSIb3DQEBBQUAMGUxCzAJBgNV
-BAYTAkFVMQ0wCwYDVQQIDARTb21lMQwwCgYDVQQKDANPcmcxDDAKBgNVBAsMA0Rl
-djENMAsGA1UEAwwETmFtZTEcMBoGCSqGSIb3DQEJARYNdGVzdEBtYWlsLmNvbTAe
-Fw0xMzEwMjExNjE4MjJaFw0xNDEwMjExNjE4MjJaMHIxCzAJBgNVBAYTAkFVMRMw
-EQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0
-eSBMdGQxDTALBgNVBAMMBFN5ZWQxHDAaBgkqhkiG9w0BCQEWDXN5ZWRAdGVzdC5j
-b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpkHkV6ZHhkYc3Y92i
-YllHGbSnXIzwnbaYcfIB5NRldbxyts2Hp8HttxG0rH5DgEMdqfOowqYITe2/hAop
-ZqLuAuwEj0tlPJ/hoVnZeHlCuBps+/nWkanA0DgkwiVksm7UoWM736dkmhLf03FI
-A0/pOsUYranCJAGO26BmNQnocjuoWHZRZINKFNVwgNLrCGkhIu4Dk4o6Rnto0oew
-kwUUVogpUJ6hPFU+8eIV0BAxertuiv6bQC/dG4MhVLl9nRB+XSnf+UAMgH3ay1em
-t8CL4pAlBmctt08LcaLeJBVWH0tsdx/QUuo/5iL61I/eQi4thLureM+bhzDq3/JN
-DYzfAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wg
-R2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBR2LIRfVveDgQB3dC7TOYhX
-BEv71DAfBgNVHSMEGDAWgBSMUs4ge7LDahb4VdjEn9RmLxh0GDANBgkqhkiG9w0B
-AQUFAAOCAQEAPjN/sdLcPfMh5ep29vp/7JTh6dUYnBNATYaXxx8j2XdnMCKeRfgP
-WOJur8HDPSayWWKKlztiQbJV5jDS5vyuMWI1a5/KIAQlOJep+anpR1QnQaX4/M4Z
-YUJo1fPs6tg47dXRpZZaJ+Hqwh0ZftCQoUq/sBxawXf6sbxsjoUmzxQLBqzYo1LJ
-jwxBs6C9aM8LDHFz4TVlyclSFQXiLMosj1jLBQ+TqzCxS6qOfJeMM9STXI9W3F2k
-duXeceqOwEkh8aeSUIztYFpX34d4SA4DDX5GUEaOeOR/abnXjH52vE6tM/m7NOve
-5+I/BrlT3heRqiD6Z2ofSsFhG86YeF9Q3w==
------END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_ca_signed2.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_ca_signed2.key b/server/test/resources/certs/rsa_ca_signed2.key
deleted file mode 100644
index d30dd8e..0000000
--- a/server/test/resources/certs/rsa_ca_signed2.key
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIN4x8YHLIb60CAggA
-MBQGCCqGSIb3DQMHBAiuWe+C2SitUgSCBMhVxMKivNaQh9SQedh2GQ8vlhI2/mKf
-r6zVUgODOdmFRj/PAlQu6B+VH8u2Ef5tr74O9UyZUQpC6oI0npvQOGqnhIxECR8D
-zepFlC0s+6kNRqfzXiMhGTsfbs3xUE1TZK1z5556OS4GlihIB0E5F7GdlulHELeA
-dnEItqDffWPQczTmSmFqtH7G/ksGQhSA2reBIDNgxWreBh9x9h2TftEvhhogdkr2
-XQpzxcby2v2z6Hut1lfVkLQNdvdHYdDG751NQltOmGvncXkTNJ+tSByXuY9ITtYz
-XqwY/vAEX+YYjCrWcvMmhU1t6B9cZ3viFzIIIltqtvDo3rybicpM3xvmnYnTF35j
-sGebcynzZedrLUHwD6/o0jBzFJN26QBxDGrlmn9E8HBhmjMCeSyZTXtSkwN0dAhu
-EHT2NgdC/4G4+JHsb3Oetl6AbUyYs2eWTRgr6bgBezbiDqKMj1QtGECkPQE9tFFP
-Jtma6lGJ1/u8zLFYNjigKZgXaNbtlMpslk+KDTGaTSbbVEaaxWSc0YlHz329ovQC
-1btrTE71FoNjRsTRaDRXC7BfrrMtnLhG2SmROKzyBtoxFymfEmASpdGERO+c2712
-Z0NLpHJL5ocsRr/onVi0auFC/nuaq6QqYF5OPtZhYh3+IDd193LP3xo8hnFjTq90
-9zV1QI2uHfTfijI4OABYSSZLxrl2IFF7Z/e4XkWSXrneR2Ne5GoYX7w6wshiuubQ
-bDPUHODsy7uQJ3ZEmmmd5xWvA3h3F5Yyls3WEuz8+jYR4iPKdjt8DJuz9j+7IP3C
-LoRa3KhxIPAzziQw+tMFVCozLLfS1kN8mg5SwU9Dp4HUPY/n3KnjVSjUJ347KAgW
-+ykPlz4S1H0A2GyGWhdyX3J839UOdXfCsfKQQ1FLOBvhQgBNGzoRIgDrsZdrxgWa
-XtF+Ct2/2/O+503I6X90maXzhshmGw/NKsiNx7YOdUiu6w3N4LajIWE689UUU7Dr
-EtM8HcfmBnE/cZTbeWbQBfl1GqigMp+YOAY2sw0rZdF4ocmnqoCWLVN2j8O/re5g
-20y5eHkztPOZ+NNczo5PP96ng1XEMVzs/h6xDHzsak6osZb5b+Hs9kcYuqBEqr16
-3DVwaZ45dGwNN90Q9YmrgEdCqtCAU12w/YYVB/aB701Ijg0NhVsh7PgWaJIOJD56
-YTaiWIzQaZ/uM0KlgLz2eI9VXcuv24gUMAUMaI84mInnIrax1zFMrlCjEcR8Zxvk
-jCCY6Uq9WH30cUo7cMHWLWMzsl7PC7xpYSHPClqzCUluUgQwqoOs5Ux4nYl+JI7C
-ZfJ8BUMCD2RJtjvJhkE6LEkcrCjwnvappRaXbN54IVXpuMl2XYtp44T117QulEj1
-I/jk1mrpkXRKi9ZsKsjDH9VMy1hcKHn4CgTxmtRYN6LPA4tamxzVLxIi6YDU0142
-l1u763cT7cH14lvzUvEQMFbk/s0AUl8zeZAwjDayNlD/ljz7nZnJ3NToMlxeoK0a
-F6c/RgQBwxR8NMdo19Irv8stxo9WGB2/0Q8WCxW7ENHlBpvX5zXKRJMswFKp0ft6
-dT7hOBPgJlD7C1eX5jVcSz6kDRM6gQ7K/c5QcJa6qNAC2Jw6yBBYltqiRalFWX46
-VcM=
------END ENCRYPTED PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_random_pkey.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_random_pkey.key b/server/test/resources/certs/rsa_random_pkey.key
deleted file mode 100644
index 8c29b3e..0000000
--- a/server/test/resources/certs/rsa_random_pkey.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQD2ZYOSvqPjro7k
-JKWggB0FJL45mz3pfvBR0NcHTGgHKdh5hml1GiHHPanYnWqRuKFI7UPWLq3xllvJ
-jolMjX6FGzPFuh4wHQ3gHMFlmpi6o1gUkk5QxAeCWmsA77qJAAiLVbm27sqfpvSG
-ec6KJOcePDDN/6Jp363Gf8JuSssafg6fAbfwLp7Cm1cxFM3RKN13fUdy50+OcXv7
-uvUlzHZ2ZIVK7FnlFoXOfhFHoyfdZL2Qm8xV3SuUllNPGl7aCM59Y6xR743Rq01j
-3E6hHNZ82GlJGaOL413oVsp5J9ZmKV+WM7plFIn86p2JGMoA2xjtON+X6BZdz3YT
-ymp7ic+7AgMBAAECggEBAKvkNd3x0TPNWzIdvs4xkg08jNhzTMXQIKdzIg+dZhVZ
-RAPDmV5wVJBCnHLZnrb6LspJe8G33vFjC7WZEn+tVk5Vo9CU/uph2oQ2i1TufQ33
-VkNDrg76MqLloTCODXv14gASVfUgsYqfVodaApStGe8l3oZXiF6EBR8tkd6PnxFi
-8TPAalFS/0mfjj/dA9zHXoZ0iyl+h6had6kqJNNbP8zgD+TbnfJZVkURNB0cyGVI
-8/8d/eO05oQ1DpuvTJ+Q5i8wTDjikUzc4btt6coA/ho4QuOvfsZGsgCzCYsUn0+W
-GA+Vn2PVEFV5hJ+MZ9gGmQ5ouC/IVAYkBBC7HlNX70ECgYEA+3DC6rTvXqdrjZz1
-TFWcITfAt7WzfGlHi2LBZ/JNmyIetXmF/sHpqGKkvp7iHDMJ4NeEBXSN9tbbEfhc
-1yU+HXYlKkeaZAGaNiCSvqlr/Bouy7dX3jG8xgPGQ1o2gyluaoTEwORf2LgmApYA
-q/eQyWTKHLxatTnjlqLULerxqv8CgYEA+t1Wa00XHHgB1D4was59qnpPemIUxpvm
-4e3wjyQs6P2kH0F0rKyytQaSXKhkBYRcmh0EnyNSGu7wxM5l3aDTzCDgBHmb1i9P
-UXLzWUYnsSgUpUB8jL6YDlUmQ1AMMDqvLagLlOLqPkRmNjN1P4/+6mdoxD5SL0rv
-5FeRaOAGR0UCgYEAjWEgGDzYg058CUqCGwPgIEVrFWETpRbFZbiHq1zxChOrVLsZ
-/t8l9MpSe+R2mwiPu18zGqYo1OyGjZorCcYlIQe3agiM5UKJZXn3SUGWOFC4k09q
-FsO8s1KX/nMRR7raHQa+Yv+GbSNOLBIQGqG/RZ5ojrPSBSihsaeoypDahh0CgYEA
-+OK3ZmVpVHlLd0LrzktnKceHKqg8bH8oJWZnj9wYIl/igI/0LYx5EFigxQTblw2m
-wc+gUjI8tzPv85HCRovVFWRYXJg6H9l4HBqrjBqqLnzRXtIHv6soOLAJ8iZssTzH
-p8hdFS27sGMz9PpAjPtTsUM/EdOyvfDe5/Bo91+rWvECgYEAxgvptntWbXc8QI9n
-DFYGigeza0sQTmFtSsob5cux9dtPORChdb6EPNTgOPOfKD4QMkmar/VWedeXOHb9
-Cy1Qz7bgOhIUSMdXzw4hPOmLrT7IbhG5CHawwHanGycrQ/bJcV00lsv0BEj3N/NJ
-PW/vxADWc9H3AcVeMi5So6gTBt4=
------END PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed.crt b/server/test/resources/certs/rsa_self_signed.crt
index 710326e..8759f31 100644
--- a/server/test/resources/certs/rsa_self_signed.crt
+++ b/server/test/resources/certs/rsa_self_signed.crt
@@ -1,19 +1,13 @@
 -----BEGIN CERTIFICATE-----
-MIIDBjCCAe4CCQCEkqahWR0hjjANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB
-VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
-cyBQdHkgTHRkMB4XDTEzMTAyMTEzNTIyMFoXDTE0MTAyMTEzNTIyMFowRTELMAkG
-A1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0
-IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-AN6wEhbwZgBfgh5+fE1OYm9B7jA+IMbraIY80IyV2ERbNXJoi2/XrDtAr5NAxWkL
-qpaccOA4XupMUWzUCpDxa9M7L/QfCP6PFEJnJZ2dCPvosZQKuFcj+h9LHsK5nVW6
-1Zkh9HhtbdIS6l1JsV/119ZJGxzoGUEJPdEnsNt1cE1cW8sKvMo5GC2toZQV4d96
-17IpMuyRYhdEyRNq+sDQetAUDHYthBK7QVDy/9Sw+/lbgf2OsWacIrysDCF3hXc0
-qyNoBgp/s39NZDXx49GKwNmx9IuRV+P/WEqXfDxSDmHP4APtzDTtMTFnIW8+gH4z
-0GkeLRi7EQY48LyyGcB88lkCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAlgx04bvU
-/EE5z7lJsYmUM2oi8FjqZcZkD4F1ku7zvdAXaDNhOHjrR5LxGL+iI/N9S8lKVeSV
-xZv+EXAT0NqkTidNFjvP7coctDrrM+JHSNTRlr2GnnYjCnjEph4+ZXNppx8vnhXe
-7jDnHoXL/C5GIPOm0+LQaH1AlGTPF0lnBrtQaz1UG34vCr8SSUtRbTDDxH/liXfc
-hfvVnf4OV5Duj0oUXsmB3YzITYZnZ/xvZ4Dw6rOU/U5Vetng+msOOt8momeTCnWB
-/d1clA7rulJTCNZXb0YyaUNaC6eQX7S9JHnluB67b9yp4yg8f00qz4xR165eTQmq
-mLiuE/U5fTODvA==
+MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
+BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
+Fw0xNDExMTIyMTUwMDRaGA8yMTEwMDkxMDIxNTAwNFowQjELMAkGA1UEBhMCWFgx
+FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
+IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzPO0MFEa3u0LOVSFzvVa
+AEgnh1QVpqZkGEQAE8jHiLY511/ML2SivvO3xRBUNvKvY5iAc1zKV/8i1vR065Kz
+hIkES1r7xNEzOwVS3pRs8XRavz7cIif2yCehLHsa1qAOBCc1rgTBA2LYbUhs0XuX
+4GLL/1FCmzY9HBH/AQDQs58CAwEAATANBgkqhkiG9w0BAQUFAAOBgQA3ZmmtiKHp
+xHF0qK5j1aknmgjYuUduLEbnWfE+MhbWUGhT2xxwfc32mo3OyCoFvM77hb2cVDb1
+KIH/THjnQ3DwQ6UTdqobWQ/k05xDhl6yI5fXayo4nTlQVIxtSlvo3KwYxj5kJwhz
+3da0/H3M/e2Wx9Ju6qT9Hv7JJBH7R4gV6A==
 -----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed.csr
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed.csr b/server/test/resources/certs/rsa_self_signed.csr
new file mode 100644
index 0000000..4d41e09
--- /dev/null
+++ b/server/test/resources/certs/rsa_self_signed.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
+MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDM87QwURre7Qs5VIXO9VoASCeHVBWmpmQYRAATyMeItjnXX8wv
+ZKK+87fFEFQ28q9jmIBzXMpX/yLW9HTrkrOEiQRLWvvE0TM7BVLelGzxdFq/Ptwi
+J/bIJ6EsexrWoA4EJzWuBMEDYthtSGzRe5fgYsv/UUKbNj0cEf8BANCznwIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEAWnDe0GnGISSI2Ew/P90x1dlBRTNrTFdI4Rae
+fG2M1XynGysg8vPMlEJ7ho7V0fHq8528tqnreA/w/5HbptvFOE/HlSVq0gPnHNDz
+TZHpyYbagLXnR+QF5IJ+T8BJjRyrdJt5rtYdepcT9pABILdAD2qTRcvPVv3wjWMY
+BJPa0fs=
+-----END CERTIFICATE REQUEST-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed.key b/server/test/resources/certs/rsa_self_signed.key
index 14b95e6..8896233 100644
--- a/server/test/resources/certs/rsa_self_signed.key
+++ b/server/test/resources/certs/rsa_self_signed.key
@@ -1,27 +1,15 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed_with_pwd.crt
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed_with_pwd.crt b/server/test/resources/certs/rsa_self_signed_with_pwd.crt
index de5e5c9..89da7d5 100644
--- a/server/test/resources/certs/rsa_self_signed_with_pwd.crt
+++ b/server/test/resources/certs/rsa_self_signed_with_pwd.crt
@@ -1,19 +1,13 @@
 -----BEGIN CERTIFICATE-----
-MIIDBjCCAe4CCQD5Q6qF5dVV0jANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB
-VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
-cyBQdHkgTHRkMB4XDTEzMTAyMTEzNTgwNFoXDTE0MTAyMTEzNTgwNFowRTELMAkG
-A1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0
-IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-AN/7lJtiEs68IC1ZPxY9NA34z9T4AU4LPS/kbQtuxx4X72XOBy+y0cB/qdMD7JNV
-h8Mq4URDljhSDyVPdH/+jQr+7kWx2gNe2R/DCnd/meVwwU30JJvpGVZXt+MTef5N
-QAbSfDMsuT4FaUY80InbDd24HelrjwunPdY9wwKXO6zL2fLjyDRediiydxcx18Vb
-Dq1cm7DRi4mNkmA3RwBQMhxGp3VsfXJ4Hy2WTRCCCxWHZphAh3EUJGK3idum6/7j
-HbAwpM/t1kNWN8PZiYDZ1HbccgjmqB7Cub10BfB9g1RByiQ/C87o5cKtQha3uuXR
-iBcHISoDydQrgxKgUpiqEF0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEASvulIaVb
-zh8z2TysE6RFoYTAYIRXghFrmqCUyyQmUVTvs6vN8iaSXr+WMQJcpgXewWcFrDhr
-mIcyRCvF91ZYb7q6lMZFSpE6u/SUGIEtxGUDAfbkbQdKYmrMcbggUUIvSzgUFisO
-Kr0H9PEO4AWtCCrtOJFc7jgu03Sv06wDxn9ghkyiBRnVkbAhoKfKnI179yKruJWR
-A3ieEj0eFoUbeSH8hDkToj4ynpkAvEGoHjHG9j+8FJxy/PTjkyVPl1ykTs+2Jc1B
-Snx8f2afdTenPWyyBm3wFuRZjEAJJLUO0kxM7E8hAwhGsr+XYanwcr1oA1dz6M3f
-cq26lpjTH5ITwQ==
+MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
+BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
+Fw0xNDExMTIyMTQ1MzBaGA8yMTEwMDkxMDIxNDUzMFowQjELMAkGA1UEBhMCWFgx
+FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
+IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqJKMYmpVAxSA74oMW2tP
+yLii1rTHA5b3/AzlQb1/ee5yCSuagToEKYzhYCobF6XpsV2qQkahUVTEnIQbhhvH
+mMvRDYZ857QDW0xO9fqWFN22acWjvAHYsGybN/B0Uy9du3fgrcRz3VBj0PtXq04c
+w74O8aeXXfim41NJq8lbPeUCAwEAATANBgkqhkiG9w0BAQUFAAOBgQB4QQBZFXxd
+Qi8Cr6fY8US7JqTHbGxe9qANiinV8rQJx1RFwJaxXsOg4foSKM+KFtFzW20SBTVs
+oqKe1Vofy+jHXObYvRPDP/IMnh2mCqYofQOxfFXgFYNOlnjqfSpzqRAHg16BLWKJ
+8hjuypDxOlg3O8IWinZNBEgXVAkQsYdMTw==
 -----END CERTIFICATE-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed_with_pwd.csr
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed_with_pwd.csr b/server/test/resources/certs/rsa_self_signed_with_pwd.csr
new file mode 100644
index 0000000..3444d40
--- /dev/null
+++ b/server/test/resources/certs/rsa_self_signed_with_pwd.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
+MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQCokoxialUDFIDvigxba0/IuKLWtMcDlvf8DOVBvX957nIJK5qB
+OgQpjOFgKhsXpemxXapCRqFRVMSchBuGG8eYy9ENhnzntANbTE71+pYU3bZpxaO8
+AdiwbJs38HRTL127d+CtxHPdUGPQ+1erThzDvg7xp5dd+KbjU0mryVs95QIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEAn4U8S3TdL4wZQAsstVS/7FTE/WdCx1GYLjZw
+Irteohk6RfwToA744v09IuxxXHz+NpCYTswuWoZnY8MgGhUf8e57CB7GIJG9Wt/Z
+/ictkkKUyWtMs1Dp7JYvuTPjxjDN7eArb4bE1pyEpBpXBwPTPDneH4wOx5VB4biS
+Wrd7mw4=
+-----END CERTIFICATE REQUEST-----

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9258b835/server/test/resources/certs/rsa_self_signed_with_pwd.key
----------------------------------------------------------------------
diff --git a/server/test/resources/certs/rsa_self_signed_with_pwd.key b/server/test/resources/certs/rsa_self_signed_with_pwd.key
index d645a71..c7b8be3 100644
--- a/server/test/resources/certs/rsa_self_signed_with_pwd.key
+++ b/server/test/resources/certs/rsa_self_signed_with_pwd.key
@@ -1,30 +1,18 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,CCA6E4CB4C4039DD
+DEK-Info: DES-EDE3-CBC,4CDFBA8C969DE003
 
-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
+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
 -----END RSA PRIVATE KEY-----


[3/3] git commit: updated refs/heads/4.3 to 5cd0d25

Posted by bh...@apache.org.
CLOUDSTACK-3383: Fetch CPU utilization more reliable.

This should fix that we can't gather CPU statistics on hypervisors
> Ubuntu 12.04

(cherry picked from commit 69ee01af9df8d72ccd8901d146726e74edda95d7)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5cd0d258
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5cd0d258
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5cd0d258

Branch: refs/heads/4.3
Commit: 5cd0d258126a1ce78113c09c5e1ebe832110f2ee
Parents: 56d8b17
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Tue Nov 11 16:49:38 2014 +0100
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Thu Nov 20 19:41:53 2014 +0530

----------------------------------------------------------------------
 .../cloud/hypervisor/kvm/resource/LibvirtComputingResource.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5cd0d258/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index ab7b9b5..dbd2327 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -3120,8 +3120,7 @@ ServerResource {
     private Answer execute(GetHostStatsCommand cmd) {
         final Script cpuScript = new Script("/bin/bash", s_logger);
         cpuScript.add("-c");
-        cpuScript
-        .add("idle=$(top -b -n 1|grep Cpu\\(s\\):|cut -d% -f4|cut -d, -f2);echo $idle");
+        cpuScript.add("idle=$(top -b -n 1| awk -F, '/^[%]*[Cc]pu/{$0=$4; gsub(/[^0-9.,]+/,\"\"); print }'); echo $idle");
 
         final OutputInterpreter.OneLineParser parser = new OutputInterpreter.OneLineParser();
         String result = cpuScript.execute(parser);


[2/3] git commit: updated refs/heads/4.3 to 5cd0d25

Posted by bh...@apache.org.
CLOUDSTACK-7952: Remove private key from SslCertResponse (listSslCerts)

Signed-off-by: Will Stevens <ws...@cloudops.com>
(cherry picked from commit 8ea79020751dffe9f84ab1b17a943bd385f9a50c)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/56d8b173
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/56d8b173
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/56d8b173

Branch: refs/heads/4.3
Commit: 56d8b173a0910d73a292fac2405d8c1f3dc1d37a
Parents: 9258b83
Author: Syed <sa...@cloudops.com>
Authored: Fri Oct 31 23:24:44 2014 -0400
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Thu Nov 20 19:38:47 2014 +0530

----------------------------------------------------------------------
 .../org/apache/cloudstack/api/response/SslCertResponse.java  | 8 --------
 .../org/apache/cloudstack/network/lb/CertServiceImpl.java    | 1 -
 2 files changed, 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/56d8b173/api/src/org/apache/cloudstack/api/response/SslCertResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SslCertResponse.java b/api/src/org/apache/cloudstack/api/response/SslCertResponse.java
index 3e8b7ae..44ce0c8 100644
--- a/api/src/org/apache/cloudstack/api/response/SslCertResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/SslCertResponse.java
@@ -37,10 +37,6 @@ public class SslCertResponse extends BaseResponse {
     @Param(description = "certificate")
     private String certificate;
 
-    @SerializedName(ApiConstants.PRIVATE_KEY)
-    @Param(description = "private key")
-    private String privatekey;
-
     @SerializedName(ApiConstants.ACCOUNT)
     @Param(description = "account for the certificate")
     private String accountName;
@@ -68,10 +64,6 @@ public class SslCertResponse extends BaseResponse {
         this.certificate = cert;
     }
 
-    public void setPrivatekey(String key) {
-        this.privatekey = key;
-    }
-
     public void setAccountName(String accountName) {
         this.accountName = accountName;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/56d8b173/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java b/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
index 2beff68..87b6b84 100644
--- a/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
+++ b/server/src/org/apache/cloudstack/network/lb/CertServiceImpl.java
@@ -278,7 +278,6 @@ public class CertServiceImpl implements  CertService {
         response.setObjectName("sslcert");
         response.setId(cert.getUuid());
         response.setCertificate(cert.getCertificate());
-        response.setPrivatekey(cert.getKey());
         response.setFingerprint(cert.getFingerPrint());
         response.setAccountName(account.getAccountName());