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

This commit is contained in:
Will Stevens 2014-11-13 09:55:49 -05:00
parent 057ba164f6
commit 92d4a41a69
21 changed files with 191 additions and 332 deletions

View File

@ -350,15 +350,6 @@ public class CertServiceImpl implements CertService {
} catch (Exception e) {
throw new IllegalArgumentException("Certificate expired or not valid", e);
}
if (!chainPresent) {
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) {
@ -399,8 +390,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>();
certs.add(cert); // adding for self signed certs
@ -415,14 +404,8 @@ 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));
}
}
if (root.size() == 0)
throw new IllegalArgumentException("No root certificates found for certificate chain", null);
X509CertSelector target = new X509CertSelector();
target.setCertificate((X509Certificate)cert);

View File

@ -99,7 +99,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 = readFileToString(new File(certFile));
String key = readFileToString(new File(keyFile));
@ -134,10 +133,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);
@ -147,7 +142,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 {
@ -198,7 +193,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 {
@ -242,7 +237,7 @@ public class CertServiceTest {
certService.uploadSslCert(uploadCmd);
}
/*
@Test
public void runUploadSslCertBadChain() throws IOException, IllegalAccessException, NoSuchFieldException {
Assume.assumeTrue(isOpenJdk() || isJCEInstalled());
@ -250,7 +245,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 = readFileToString(new File(certFile));
String key = readFileToString(new File(keyFile));
@ -282,10 +276,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);
@ -297,9 +287,8 @@ public class CertServiceTest {
assertTrue(e.getMessage().contains("Invalid certificate chain"));
}
}
*/
/*
@Test
public void runUploadSslCertNoRootCert() throws IOException, IllegalAccessException, NoSuchFieldException {
@ -307,8 +296,7 @@ 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_ca_signed2.crt").getFile();
String password = "user";
String chainFile = getClass().getResource("/certs/non_root.crt").getFile();
String cert = readFileToString(new File(certFile));
String key = readFileToString(new File(keyFile));
@ -340,78 +328,20 @@ 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");
fail("Chain is given but does not link to the certificate");
} catch (Exception e) {
assertTrue(e.getMessage().contains("No root certificates found"));
assertTrue(e.getMessage().contains("Invalid certificate chain"));
}
}
*/
/*
@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 = readFileToString(new File(certFile));
String key = readFileToString(new File(keyFile));
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._domainDao = Mockito.mock(DomainDao.class);
DomainVO domain = new DomainVO("networkdomain", 1L, 1L, "networkdomain");
when(certService._domainDao.findByIdIncludingRemoved(anyLong())).thenReturn(domain);
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");
} catch (Exception e) {
assertTrue(e.getMessage().contains("No chain given and certificate not self signed"));
}
}
*/
/*
@Test
public void runUploadSslCertBadPassword() throws IOException, IllegalAccessException, NoSuchFieldException {
@ -460,13 +390,12 @@ public class CertServiceTest {
}
}
*/
@Test
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 = readFileToString(new File(certFile));
String key = readFileToString(new File(keyFile));

View File

@ -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-----

View File

@ -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-----

View File

@ -0,0 +1,11 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIBgTCB6wIBADBCMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5
MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQCyfMo8sldRoJdNeuYamVmNQu6TZiDI48gjSlFu6Y7wNpPyGG7X
K/RtinkU8xjyhjOP8r4nyLEs0l5ebEoSzWTZe4d7oU6hFlBi46VEdDXwPqvhTql2
80P3x6WePjtYiGq5GpSvNlL2EYmxoST5DZdHRi6J5ngnHMK2jZQn782jSQIDAQAB
oAAwDQYJKoZIhvcNAQEFBQADgYEApgfoXJUv6kBU1OCKvIjefxMUEd4nwIuM62S9
WSjOVQqwpuyD2GT/cpJWTwOZ5SmkoEyWLPrcZFXv2YhusqDh8jefI51Y6B5QZLFC
RaZGTovkpyvNPg1Us0NNw1BeGnMkybKIuXspsinXd7aqtjHtSNkyNXofLsBMA7jd
xp6ExwU=
-----END CERTIFICATE REQUEST-----

View File

@ -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-----

View File

@ -1,23 +1,13 @@
-----BEGIN CERTIFICATE-----
MIID3TCCAsWgAwIBAgIJAPjwxbyQ1zxmMA0GCSqGSIb3DQEBBQUAMIGDMQswCQYD
VQQGEwJDUzEPMA0GA1UECAwGQXBhY2hlMRMwEQYDVQQHDApDbG91ZFN0YWNrMRow
GAYDVQQKDBFBcGFjaGUgQ2xvdWRTdGFjazEOMAwGA1UECwwFdGVzdHMxIjAgBgkq
hkiG9w0BCQEWE3BkaW9uODkxQGFwYWNoZS5vcmcwIBcNMTQxMTA1MDEyMDI2WhgP
MjExNDEwMTIwMTIwMjZaMIGDMQswCQYDVQQGEwJDUzEPMA0GA1UECAwGQXBhY2hl
MRMwEQYDVQQHDApDbG91ZFN0YWNrMRowGAYDVQQKDBFBcGFjaGUgQ2xvdWRTdGFj
azEOMAwGA1UECwwFdGVzdHMxIjAgBgkqhkiG9w0BCQEWE3BkaW9uODkxQGFwYWNo
ZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9FEa9/M5lOYNR
OjRnyb0OEDtja4jghiMSTAfhQJdOPr3g+zUYh6zGiWFBQddBtT8DqAAIJDtB7SPi
tnYUKz0/CwO94hyg6OMHr0xR9P9dUUmcKURDy/phh4bAuDn7oUiOY62J7I84dyNJ
40KO37qJgGBAtXsdcvLiLo7DXQJms1PDsuPlbVYHj2tHTRp/AneEU7DpmA8WeD+i
Q3LvWvBX1o9KxpelQE2duhzsoR3/virw+7xFdIFt8bTaeINB+I56RwJd6TFKNDg0
10ipt03UvfYd8IHJO43BlmQhgRpvv+9780GJNkAXibUXvgqy0DBjJmmj1I5X8IWb
DJTLkPsdAgMBAAGjUDBOMB0GA1UdDgQWBBTkKiZL2xPX1L6dct/rNtVCVwfQoTAf
BgNVHSMEGDAWgBTkKiZL2xPX1L6dct/rNtVCVwfQoTAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4IBAQBC8PDJ+0zV2SyHx7p3KCj5TzNdfT+szsZNICqGOY97
qx+kGfuJLoDgO3mTH3TXyy/krVaL466Fo5RcMFTvVQAcg8uBQIVWfSvug/wVGvQ6
kCIowTCpDMN5G6VtFe8IWpBCVkLAvl/Qu3t2RIyLzCxR2yIPiqQGW1ldHyEQdA3o
sg74nNVURFQeosFpwcTrbu7FgOlHCjti8i2R7tlaXx7YCMwAjL5yr/ScUIMJyTPG
JdyPy03WYPc6eDQPm5eKIQUXGXT97Q3h0IaDXiRJzrrW7x5zj+Dy68qDq2legojT
6g0OC0H18K0+W02BPWVN4ZtmvSYpCQVSPvc0rnjSEuDw
MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
Fw0xNDExMTIyMTI0MzdaGA8yMTEwMDkxMDIxMjQzN1owQjELMAkGA1UEBhMCWFgx
FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxYJtGogvfKTQMgNumCKz
H/IbEqxwVbbp29fT8Gh67dSs+Rnu9w0DY9XtMSPTUw+uCacKfI4AbP5UsGMO8LST
6g0LkanJOk8aGvg8lclxsrsTPSomn2EHexauHMiZ/a0kc2civGn4me9H0bkBokvK
0KpAg3rNORCRIBioCaj+KVsCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBvT6ilNAVt
2HUzjSf+d+3OvjAnIutO8O0W9BFol2Z54atV18A2W6aXgzdJ9LDNLqWtVqKyU6/T
iOJ7mdxFOlXc19Bg3YXMCxnyKDXt5IBJmtv9XgSjOCWhPd9Tln0w4NB9QHUPjUxc
M+DtHmSuXBwvaszJO4gvhJq+9jFdcS2BZg==
-----END CERTIFICATE-----

View File

@ -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-----

View File

@ -1,27 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

View File

@ -1,17 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICszCCAhwCCQCaE4goZabzDTANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhTYW4gSm9zZTETMBEGA1UECgwKQ2xv
dWRTdGFjazETMBEGA1UECwwKQ2xvdWRTdGFjazEeMBwGA1UEAwwVY2xvdWRzdGFj
ay5hcGFjaGUub3JnMSQwIgYJKoZIhvcNAQkBFhVjbG91ZHN0YWNrQGFwYWNoZS5v
cmcwHhcNMTQxMDIxMjI0MjA4WhcNMTUxMDIxMjI0MjA4WjCBnTELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhTYW4gSm9zZTETMBEGA1UECgwKQ2xv
dWRTdGFjazETMBEGA1UECwwKQ2xvdWRTdGFjazEeMBwGA1UEAwwVY2xvdWRzdGFj
ay5hcGFjaGUub3JnMSQwIgYJKoZIhvcNAQkBFhVjbG91ZHN0YWNrQGFwYWNoZS5v
cmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANrW6mzOmvTipZiL6N0Lz+T+
W1qM7iN0k9mOC9fq/U3pN1kIvI8yDF/6eJHQDmr0Hx/GJg4TNZ761kJcB/kCu7zA
8uILGqh2M3+qhp5zqgPfN7MAxJ65dZPdg+r1mxogHxZUcMTDcEvNKDd73xJDZK47
iPBie/4RRPQTJS3jbWhJAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAoBURaXgxobxj
4YEU0IHo/G1UwPhPAKahiDjQH7HxUFJoLEDGUXlP6L8Z7fN22CeX2gQoeAA3w6I2
Oyb78wBnI3Kwlhr486NGZuxg2DSSfgK2EirIqswMa+P1/XxrArrfr/Ty4qiMEKhg
ut+HM3oPPMVyU0Tlk/vgwgER5WD/9d0=
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-----

View File

@ -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-----

View File

@ -1,15 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDa1upszpr04qWYi+jdC8/k/ltajO4jdJPZjgvX6v1N6TdZCLyP
Mgxf+niR0A5q9B8fxiYOEzWe+tZCXAf5Aru8wPLiCxqodjN/qoaec6oD3zezAMSe
uXWT3YPq9ZsaIB8WVHDEw3BLzSg3e98SQ2SuO4jwYnv+EUT0EyUt421oSQIDAQAB
AoGAEYwgGf9rD23JB3VYg7j5v4vhuV4JjlA/trccHgEatI+Zv4riy7ygn2WPG2oK
besLP9n8nS5PI2NLoOCORxpAAVmUQFZvUKE76ElJN9KtNNzY/Xoch54RJ1fCoqL/
ERMpYDXmVONWSUTRio+SPu3gYDCOZX4wBWV+G6wHRa4m0V0CQQD7d/BvlE37T4kP
5U3r8LpD05PxqvK18zq4D5oV7DFm3trog+uyScG+oHVNmZTCzujIxhlA7PrpClyv
MuWBm6f7AkEA3sh0Rx4l1y4htTRIsS3i3QSfhE85Nf1VvYuVJGL1R/ckBlOyWrPV
XadOxKpnho/sFT9a1FHMFWZtZBhkeGYpiwJAGURW4086eqrmMbOvnaplfNUwg1LS
6ldTKhVfPR6rZBO2WTCQKSziC75hqvdojB5wI2RMO0rUdz/0SiJKDzjNqwJAauf0
bIA6FmVLxaG+VE+5sufaCGrgAFl+QIPv4NMf8xXUkritOLtdYyC7OsKvBTKhTpzl
YEeUUJyjV8ogxGn5+wJAXbnTChiLrfgMOOOAP8acxFPWGfLC3Ae0CAm5CeVJRTSr
4m6LNHbtqXeYTnr1WQ8A10yNPxyB0l3AaWJpBC3iew==
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-----

View File

@ -1,21 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDhjCCAm4CCQCKnxCO3XZA3TANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMC
Q1MxDzANBgNVBAgMBkFwYWNoZTETMBEGA1UEBwwKQ2xvdWRTdGFjazEaMBgGA1UE
CgwRQXBhY2hlIENsb3VkU3RhY2sxDjAMBgNVBAsMBXRlc3QyMSIwIAYJKoZIhvcN
AQkBFhNwZGlvbjg5MUBhcGFjaGUub3JnMCAXDTE0MTEwNTAyMjUwN1oYDzIxMTQx
MDEyMDIyNTA3WjCBgzELMAkGA1UEBhMCQ1MxDzANBgNVBAgMBkFwYWNoZTETMBEG
A1UEBwwKQ2xvdWRTdGFjazEaMBgGA1UECgwRQXBhY2hlIENsb3VkU3RhY2sxDjAM
BgNVBAsMBXRlc3QyMSIwIAYJKoZIhvcNAQkBFhNwZGlvbjg5MUBhcGFjaGUub3Jn
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvRRGvfzOZTmDUTo0Z8m9
DhA7Y2uI4IYjEkwH4UCXTj694Ps1GIesxolhQUHXQbU/A6gACCQ7Qe0j4rZ2FCs9
PwsDveIcoOjjB69MUfT/XVFJnClEQ8v6YYeGwLg5+6FIjmOtieyPOHcjSeNCjt+6
iYBgQLV7HXLy4i6Ow10CZrNTw7Lj5W1WB49rR00afwJ3hFOw6ZgPFng/okNy71rw
V9aPSsaXpUBNnboc7KEd/74q8Pu8RXSBbfG02niDQfiOekcCXekxSjQ4NNdIqbdN
1L32HfCByTuNwZZkIYEab7/ve/NBiTZAF4m1F74KstAwYyZpo9SOV/CFmwyUy5D7
HQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0kW4ph+cROIUIDue4A4DAl+RUi4MS
lkyWL90eo6vvX3oW53N9U7QV3gvZAG3hxD9XJHL7wf6SXNutLe2G7Vv5HhWtM6k4
9RhDMH+nLbBFz6YHyN1aGMRTFbzLYTcXiLJhK5oeoZTh50zVGjoFuXvpcfKznqPq
kaL+R3sElN/pyKdvacKbMNQHVgJqPEbMIPU+eizrVQJ/Dx5/A7GqdCBWXdwY6m3z
/zPckpSMa7m2JdNsA5Dl/w5DosRupVVfqLwxnOkhofaxvx7WEo0YNKbk8M7Diu6n
5Z6yC+DxhE5SrMkuwpF95AlVx3pY+AGc0cOItgCqeBE8K3AUxIYhUwS9
-----END CERTIFICATE-----

View File

@ -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-----

View File

@ -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-----

View File

@ -1,17 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICwTCCAioCCQCRL9B7rcgqFTANBgkqhkiG9w0BAQUFADCBpDELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhTYW4gSm9zZTEaMBgGA1UECgwRQXBh
Y2hlIENsb3VkU3RhY2sxEzARBgNVBAsMCkNsb3VkU3RhY2sxHjAcBgNVBAMMFWNs
b3Vkc3RhY2suYXBhY2hlLm9yZzEkMCIGCSqGSIb3DQEJARYVY2xvdWRzdGFja0Bh
cGFjaGUub3JnMB4XDTE0MTAyMTIyMjc1OFoXDTI0MTAxODIyMjc1OFowgaQxCzAJ
BgNVBAYTAlVTMQswCQYDVQQIDAJDQTERMA8GA1UEBwwIU2FuIEpvc2UxGjAYBgNV
BAoMEUFwYWNoZSBDbG91ZFN0YWNrMRMwEQYDVQQLDApDbG91ZFN0YWNrMR4wHAYD
VQQDDBVjbG91ZHN0YWNrLmFwYWNoZS5vcmcxJDAiBgkqhkiG9w0BCQEWFWNsb3Vk
c3RhY2tAYXBhY2hlLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtZuL
mow2ktFcV50aU4On6O5PxWzDWX4118nKJ/qCEjdxArZacSTpdbjBtQdq3DeWAbbD
d5TdcL0qB0/dZSXmNWt5kEaEmOTm0Yy1HwbT+pKDn+r5KwtICvJogf2VTVpjGNyD
bmvYE9mCdxmaqZIzGWMrr04ZZX+6AXAlKfYPaRsCAwEAATANBgkqhkiG9w0BAQUF
AAOBgQBCKbaQ0puIQ7/WzlQCnt8r7z3FIhLJ/pyFL/lyAjr/+8TxEcxZvoNMKza6
EFAYmHPumJdTQJVWWMOpeY3m3+rKKup+DcGVGmijTG1t7wPhok4JAWm561NUNNaI
RQFyp9VuTWbgvN6pZCI6RsV9oXj8FnkDenXyX4qlUXXKVa74hw==
MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
Fw0xNDExMTIyMTUwMDRaGA8yMTEwMDkxMDIxNTAwNFowQjELMAkGA1UEBhMCWFgx
FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzPO0MFEa3u0LOVSFzvVa
AEgnh1QVpqZkGEQAE8jHiLY511/ML2SivvO3xRBUNvKvY5iAc1zKV/8i1vR065Kz
hIkES1r7xNEzOwVS3pRs8XRavz7cIif2yCehLHsa1qAOBCc1rgTBA2LYbUhs0XuX
4GLL/1FCmzY9HBH/AQDQs58CAwEAATANBgkqhkiG9w0BAQUFAAOBgQA3ZmmtiKHp
xHF0qK5j1aknmgjYuUduLEbnWfE+MhbWUGhT2xxwfc32mo3OyCoFvM77hb2cVDb1
KIH/THjnQ3DwQ6UTdqobWQ/k05xDhl6yI5fXayo4nTlQVIxtSlvo3KwYxj5kJwhz
3da0/H3M/e2Wx9Ju6qT9Hv7JJBH7R4gV6A==
-----END CERTIFICATE-----

View File

@ -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-----

View File

@ -1,15 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC1m4uajDaS0VxXnRpTg6fo7k/FbMNZfjXXycon+oISN3ECtlpx
JOl1uMG1B2rcN5YBtsN3lN1wvSoHT91lJeY1a3mQRoSY5ObRjLUfBtP6koOf6vkr
C0gK8miB/ZVNWmMY3INua9gT2YJ3GZqpkjMZYyuvThllf7oBcCUp9g9pGwIDAQAB
AoGAPyqiDRhV5w0xDDxVqtSxM4CoeGfTLq6Kdcr3KJ6mXUWxZhsdLBuFpG+l2JyC
26Pt5hy2skIyH4N8OdzaidL71eSQSz8rmnh811EkM1+Xu6NnX81dLsFV8zGuZpMs
qF/0lPggmg9o+mwXD5v8BBnmSV86Ki3LNCidgZFvOXhdLkkCQQDk1k2a4qt1JZ8J
II6eNEwCKV13RrXnds83+q0pglosSjRmFNBll35MQxsPMG1FPRHisl7ayeppCeK7
R8mDUWaPAkEAyyoS6bpTASRDmIfbSPPUZePJT6Wyx0rSAhWZ9nWU3tJGk2lkmkJQ
yVNO7yPl05O8k8MMpBSTw56WR1XwBiK6tQJBAKRT2Eq/N0zahUfynzewalyrA7lh
h8L9qHSUiMDkIIjpiJM9oyExFrsA/W984Rr1beCTIlaO5MwlEzJVrLmmPLUCQEs4
q8IAK8VrcN+jxYwwQz7qZNnphtUFHdaJuvSmulT51Am2Zvo6fYDdKIegafK5a4Pm
HuMNf1xZdli5N+J9r1UCQQCGyN8Cbggjms1hZoby4EFsEvFw+l7/B56Km51LUDKE
8phRLBOy5X5ATT8QjrTGNAhw+T7OewkwK8CjVSltkk1x
MIICXwIBAAKBgQDM87QwURre7Qs5VIXO9VoASCeHVBWmpmQYRAATyMeItjnXX8wv
ZKK+87fFEFQ28q9jmIBzXMpX/yLW9HTrkrOEiQRLWvvE0TM7BVLelGzxdFq/Ptwi
J/bIJ6EsexrWoA4EJzWuBMEDYthtSGzRe5fgYsv/UUKbNj0cEf8BANCznwIDAQAB
AoGBAKYq5KnT6DRb/iCiPcbZN/pIhfv7mX4/I6Jk56civ1xBWk4bdoHqVuT41sMo
hQ7z3m2ihGqEDe4gho+/LVid3XsfzM50IE36Krh3nzdmsvxkA9L3EQJZDPDZ5J4z
IxfrlXulxVm44lFSjSPrhMhqVpk7N1rf1vqcVI2NFAmssGi5AkEA936KOrxiSAOf
Iys1QCNk6rJPm1dT96EzI75ICfktmJQElKCFNH3Inq2MTk0ZtektoBoAhHKWAS5c
+rWMIddmEwJBANP+4CdXOnBcVxir0lSDCm4M3Zu0SLQMyKn/BNa5uRuvjti4zgiA
gLkac8fV/pImYJ2uZVk1FqMRshHlzc5lHcUCQQCYaH5rKTNEsaZAHA2Qz7sHpILN
YHu+1LAPZNAsBByGBzDC7g7ZglQXEzyBw4z/rvZ/z0NeTMn/NDPh2AbRmDmtAkEA
iHiCOjEoGJ8JHoO10dvNwgycOJj1WJsGLpFRvx0uMclxTsihMc3vj7mcoR98Uv9L
oRZcffH0EaPZmzXxqBVl9QJBAKE0cBqNNbLgAe9KLll3KzWvrkbld6y3ihcL/QPq
ESoqFejbKrtaAvMx9J4zpU2gr7klpUFtG6vyR07SD2FNfGA=
-----END RSA PRIVATE KEY-----

View File

@ -1,17 +1,13 @@
-----BEGIN CERTIFICATE-----
MIICszCCAhwCCQCaE4goZabzDTANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhTYW4gSm9zZTETMBEGA1UECgwKQ2xv
dWRTdGFjazETMBEGA1UECwwKQ2xvdWRTdGFjazEeMBwGA1UEAwwVY2xvdWRzdGFj
ay5hcGFjaGUub3JnMSQwIgYJKoZIhvcNAQkBFhVjbG91ZHN0YWNrQGFwYWNoZS5v
cmcwHhcNMTQxMDIxMjI0MjA4WhcNMTUxMDIxMjI0MjA4WjCBnTELMAkGA1UEBhMC
VVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhTYW4gSm9zZTETMBEGA1UECgwKQ2xv
dWRTdGFjazETMBEGA1UECwwKQ2xvdWRTdGFjazEeMBwGA1UEAwwVY2xvdWRzdGFj
ay5hcGFjaGUub3JnMSQwIgYJKoZIhvcNAQkBFhVjbG91ZHN0YWNrQGFwYWNoZS5v
cmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANrW6mzOmvTipZiL6N0Lz+T+
W1qM7iN0k9mOC9fq/U3pN1kIvI8yDF/6eJHQDmr0Hx/GJg4TNZ761kJcB/kCu7zA
8uILGqh2M3+qhp5zqgPfN7MAxJ65dZPdg+r1mxogHxZUcMTDcEvNKDd73xJDZK47
iPBie/4RRPQTJS3jbWhJAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAoBURaXgxobxj
4YEU0IHo/G1UwPhPAKahiDjQH7HxUFJoLEDGUXlP6L8Z7fN22CeX2gQoeAA3w6I2
Oyb78wBnI3Kwlhr486NGZuxg2DSSfgK2EirIqswMa+P1/XxrArrfr/Ty4qiMEKhg
ut+HM3oPPMVyU0Tlk/vgwgER5WD/9d0=
MIIB9TCCAV4CAQEwDQYJKoZIhvcNAQEFBQAwQjELMAkGA1UEBhMCWFgxFTATBgNV
BAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDAg
Fw0xNDExMTIyMTQ1MzBaGA8yMTEwMDkxMDIxNDUzMFowQjELMAkGA1UEBhMCWFgx
FTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55
IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqJKMYmpVAxSA74oMW2tP
yLii1rTHA5b3/AzlQb1/ee5yCSuagToEKYzhYCobF6XpsV2qQkahUVTEnIQbhhvH
mMvRDYZ857QDW0xO9fqWFN22acWjvAHYsGybN/B0Uy9du3fgrcRz3VBj0PtXq04c
w74O8aeXXfim41NJq8lbPeUCAwEAATANBgkqhkiG9w0BAQUFAAOBgQB4QQBZFXxd
Qi8Cr6fY8US7JqTHbGxe9qANiinV8rQJx1RFwJaxXsOg4foSKM+KFtFzW20SBTVs
oqKe1Vofy+jHXObYvRPDP/IMnh2mCqYofQOxfFXgFYNOlnjqfSpzqRAHg16BLWKJ
8hjuypDxOlg3O8IWinZNBEgXVAkQsYdMTw==
-----END CERTIFICATE-----

View File

@ -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-----

View File

@ -1,15 +1,18 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDa1upszpr04qWYi+jdC8/k/ltajO4jdJPZjgvX6v1N6TdZCLyP
Mgxf+niR0A5q9B8fxiYOEzWe+tZCXAf5Aru8wPLiCxqodjN/qoaec6oD3zezAMSe
uXWT3YPq9ZsaIB8WVHDEw3BLzSg3e98SQ2SuO4jwYnv+EUT0EyUt421oSQIDAQAB
AoGAEYwgGf9rD23JB3VYg7j5v4vhuV4JjlA/trccHgEatI+Zv4riy7ygn2WPG2oK
besLP9n8nS5PI2NLoOCORxpAAVmUQFZvUKE76ElJN9KtNNzY/Xoch54RJ1fCoqL/
ERMpYDXmVONWSUTRio+SPu3gYDCOZX4wBWV+G6wHRa4m0V0CQQD7d/BvlE37T4kP
5U3r8LpD05PxqvK18zq4D5oV7DFm3trog+uyScG+oHVNmZTCzujIxhlA7PrpClyv
MuWBm6f7AkEA3sh0Rx4l1y4htTRIsS3i3QSfhE85Nf1VvYuVJGL1R/ckBlOyWrPV
XadOxKpnho/sFT9a1FHMFWZtZBhkeGYpiwJAGURW4086eqrmMbOvnaplfNUwg1LS
6ldTKhVfPR6rZBO2WTCQKSziC75hqvdojB5wI2RMO0rUdz/0SiJKDzjNqwJAauf0
bIA6FmVLxaG+VE+5sufaCGrgAFl+QIPv4NMf8xXUkritOLtdYyC7OsKvBTKhTpzl
YEeUUJyjV8ogxGn5+wJAXbnTChiLrfgMOOOAP8acxFPWGfLC3Ae0CAm5CeVJRTSr
4m6LNHbtqXeYTnr1WQ8A10yNPxyB0l3AaWJpBC3iew==
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4CDFBA8C969DE003
VNBZGCs2h2Y3+hdujU4LIMzWDeKFiBWGwWTlRX5Jb+hhnJ0zRnx1sn6N9GM1k2qQ
aa4mQ5LkYu8kReMmRGUEJ8skym+Mmlg0qE8kbUvIPNNjm24ZTBlIj39rScSENjPD
XATItLrfmu1YZlWFLb1qz5zkDA/POhdvV9/tD6RLqedOftP7a5ENGmoS9xQmznlX
4DuB8IihhiFQiNgYgIXtx2DYz4vKrVZ3hU9JFuhtYEhfMRGFmFJgTJdxHBm9UknN
VbppOz2UO9A4RwQYWEe27GfF9Tk7HcuAL8xUCKOAw4KgyEbYx3cKCJoFQkY11/7V
eAj7kl9iILeovWw+/8xfN8WOKvSWtQAsxpCBABaxZ8ufL0Gfegm8VBf+UvskInpN
cZoUJqJ6SlXG6s16n21sugroNnrv5Qkm2rj8ObEMmbUV15+/bZTSJPVvxQfwPeE/
rtKpznZQpRwOLOPnMc5Twe7JOHd89FWVKZWy4NRZvEjPEzr9c4Z5BQg1kzToc3vl
9hw5ooXzUadXsjcS1jqiHSH2zovBqVOOqZwuZlQcPK67sCFf1DuLEP9jNdZZdOTn
6n7uNi/wt0rAcEQCawUBwpDiI7I/736t8NNpZO7COkJNv5XG7iihEyTVzhW+GLyN
1slSAxsRoM+NmoieWsJJ29dZrj7Oz2cd+tsLCeStBGEJ3/z/tB43c6blNEZDW9v+
sqT+rPC/flh+3g5wcO9ExasDGvir1NglZWRkCaBEcKgIprJ5et0/VXbyEYtwOMIi
jWhVgiSa/BQYZ3MLLr5PwvqvWJ9MWji9AANID2xSr1o=
-----END RSA PRIVATE KEY-----