Skip to content

Commit

Permalink
test/nanocld: ssl self signed
Browse files Browse the repository at this point in the history
  • Loading branch information
leon3s committed Jan 31, 2024
1 parent e3bef49 commit f93b87c
Show file tree
Hide file tree
Showing 17 changed files with 412 additions and 161 deletions.
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This section tell which versions are currently being supported with security upd

| Version | Supported |
| ------- | ------------------ |
| 0.10.x | :white_check_mark: |
| 0.13.x | :white_check_mark: |

## Reporting a Vulnerability

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- This file should undo anything in `up.sql`
DROP TABLE IF EXISTS "process_statuses";
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-- Your SQL goes here
CREATE TABLE IF NOT EXISTS "process_statuses" (
"key" VARCHAR NOT NULL PRIMARY KEY,
"created_at" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
"updated_at" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
"current" VARCHAR NOT NULL,
"previous" VARCHAR NOT NULL,
"wanted" VARCHAR NOT NULL
);
5 changes: 5 additions & 0 deletions bin/nanocld/src/models/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,16 @@ pub use event::*;
mod raw_emitter;
pub use raw_emitter::*;

<<<<<<< Updated upstream
mod task_manager;
pub use task_manager::*;

mod object_process_status;
pub use object_process_status::*;
=======
mod process_status;
pub use process_status::*;
>>>>>>> Stashed changes

pub type Pool = Arc<R2D2Pool<ConnectionManager<PgConnection>>>;
pub type DBConn = PooledConnection<ConnectionManager<PgConnection>>;
Expand Down
15 changes: 15 additions & 0 deletions bin/nanocld/src/models/process_status.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
use diesel::prelude::*;

use crate::schema::process_statuses;

#[derive(Debug, Clone, Identifiable, Insertable, Queryable)]
#[diesel(primary_key(key))]
#[diesel(table_name = process_statuses)]
pub struct ProcessStatusDb {
pub key: String,
pub created_at: chrono::NaiveDateTime,
pub updated_at: chrono::NaiveDateTime,
pub current: String,
pub previous: String,
pub wanted: String,
}
14 changes: 14 additions & 0 deletions bin/nanocld/src/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ diesel::table! {
}

diesel::table! {
<<<<<<< Updated upstream

Check failure on line 84 in bin/nanocld/src/schema.rs

View workflow job for this annotation

GitHub Actions / Fmt

encountered diff marker

Check failure on line 84 in bin/nanocld/src/schema.rs

View workflow job for this annotation

GitHub Actions / Fmt

encountered diff marker
object_process_statuses (key) {
key -> Varchar,
created_at -> Timestamptz,
Expand All @@ -89,6 +90,15 @@ diesel::table! {
prev_wanted -> Varchar,
actual -> Varchar,
prev_actual -> Varchar,
=======
process_statuses (key) {
key -> Varchar,
updated_at -> Timestamptz,
created_at -> Timestamptz,
current -> Varchar,
previous -> Varchar,
wanted -> Varchar,
>>>>>>> Stashed changes
}
}

Expand Down Expand Up @@ -189,7 +199,11 @@ diesel::allow_tables_to_appear_in_same_query!(
node_group_links,
node_groups,
nodes,
<<<<<<< Updated upstream

Check failure on line 202 in bin/nanocld/src/schema.rs

View workflow job for this annotation

GitHub Actions / Fmt

encountered diff marker

Check failure on line 202 in bin/nanocld/src/schema.rs

View workflow job for this annotation

GitHub Actions / Fmt

encountered diff marker
object_process_statuses,
=======
process_statuses,
>>>>>>> Stashed changes
processes,
resource_kinds,
resources,
Expand Down
70 changes: 69 additions & 1 deletion bin/nanocld/src/utils/server.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use ntex::web;
use ntex_cors::Cors;
use openssl::ssl::{SslAcceptor, SslFiletype, SslMethod};
use openssl::ssl::{SslAcceptor, SslFiletype, SslMethod, SslVerifyMode};

use nanocl_utils::ntex::middlewares;

Expand Down Expand Up @@ -62,6 +62,9 @@ pub async fn gen(
.unwrap();
builder.set_certificate_chain_file(cert).unwrap();
builder.set_ca_file(cert_ca).expect("Failed to set ca file");
builder.set_verify(
SslVerifyMode::PEER | SslVerifyMode::FAIL_IF_NO_PEER_CERT,
);
builder
}) {
Err(err) => {
Expand Down Expand Up @@ -108,6 +111,9 @@ pub async fn gen(
#[cfg(test)]
mod tests {
use clap::Parser;
use nanocl_stubs::system::BinaryInfo;
use ntex::http::{client::Connector, StatusCode};
use openssl::ssl::SslConnector;

use super::*;

Expand Down Expand Up @@ -180,4 +186,66 @@ mod tests {
let args = init_test_config(vec!["nanocl", "-H", "not_valid"]);
assert_config_err(args).await;
}

#[ntex::test]
async fn ssl_valid_client() {
let args = init_test_config(vec![
"nanocl",
"-H",
"tcp://0.0.0.0:6443",
"--cert",
"../../tests/server.crt",
"--cert-key",
"../../tests/server.key",
"--cert-ca",
"../../tests/ca.crt",
]);
assert_config_ok(args).await;
// Configure SSL/TLS settings
let mut builder = SslConnector::builder(SslMethod::tls()).unwrap();
builder.set_verify(SslVerifyMode::NONE);
builder
.set_certificate_file("../../tests/client.crt", SslFiletype::PEM)
.unwrap();
builder.set_private_key_file("../../tests/client.key", SslFiletype::PEM)
.unwrap();
let client = ntex::http::client::Client::build()
.connector(Connector::default().openssl(builder.build()).finish())
.finish();
let mut res = client
.get("https://0.0.0.0:6443/v0.13/version")
.send()
.await
.unwrap();
assert_eq!(res.status(), StatusCode::OK);
let version = res.json::<BinaryInfo>().await.unwrap();
assert_eq!(version.version, vars::VERSION);
}

#[ntex::test]
async fn ssl_wrong_client() {
let args = init_test_config(vec![
"nanocl",
"-H",
"tcp://0.0.0.0:4443",
"--cert",
"../../tests/server.crt",
"--cert-key",
"../../tests/server.key",
"--cert-ca",
"../../tests/ca.crt",
]);
assert_config_ok(args).await;
// Configure SSL/TLS settings
let mut builder = SslConnector::builder(SslMethod::tls()).unwrap();
builder.set_verify(SslVerifyMode::NONE);
let client = ntex::http::client::Client::build()
.connector(Connector::default().openssl(builder.build()).finish())
.finish();
let res = client
.get("https://0.0.0.0:4443/v0.13/version")
.send()
.await;
assert!(res.is_err());
}
}
21 changes: 21 additions & 0 deletions tests/ca.cr
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDYzCCAkugAwIBAgIUUeWstyATXuLWA2614rr42d8Xqd8wDQYJKoZIhvcNAQEL
BQAwQTEaMBgGA1UEAwwRZGVtby5tbG9wc2h1Yi5jb20xCzAJBgNVBAYTAlVTMRYw
FAYDVQQHDA1TYW4gRnJhbnNpc2NvMB4XDTI0MDEzMTE0Mjk0NFoXDTI1MDEyMTE0
Mjk0NFowQTEaMBgGA1UEAwwRZGVtby5tbG9wc2h1Yi5jb20xCzAJBgNVBAYTAlVT
MRYwFAYDVQQHDA1TYW4gRnJhbnNpc2NvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAz9Fph5Jd6YCE7AHyaW5+Lv06TR5wqGxTfedosOqcr4StNjoCB/S+
Gw1I4dzjltcxJ3SklGOe5xLPMhkSVKf2GXPu1Z2H4AxVomzg/MCm++jXRnDRgLNv
2uOgbN07ndsSDScmHawenIZal1zuQgSRkkzrAWq3l0ZhZU8qcS5/Og4gtQjIP49q
gn2ZiLZUQ+hBbygJKZhT0SGcrY/J4OmgS0+667C6m/QgscARahwSysJSs9/wzKLs
4pVz4zf0v7pRC8O3cTXP6ScSQs4JAtmyq4aI0M4fiQjLQpEqgYleop0Z/v5nI6bv
XB3s2Yb1F4ICQBLwa963C6JwNcl54SJV/wIDAQABo1MwUTAdBgNVHQ4EFgQUM31w
4ObjHn86jPrGjfXMO5Gj7hAwHwYDVR0jBBgwFoAUM31w4ObjHn86jPrGjfXMO5Gj
7hAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAqa/zP7cDmB0+
5iBozmb2tD2KXsinrRfIneYLKSKGfDEdSRgWxF0eGSvx3YQNCH57sKaiRgM4d5JQ
COWvWmT/1kZDL5dpn/cm9EJqKC3p1QJtXPGP8+aagc7lpcdauhaIGVycvJcHFj13
lRDzpXZUlpIklHNX88V5deM4miZyRL+A2zdow9MB1Y2Ee14pgVgJypzwwG0WeolF
zWDKAcrDx2p46FNrJS5r0hAd4tawIdfAl21BiKdBL8HNu6Mqop5Qc6gnl9SA5rjS
Ug5gJrkBxLzGlXu/5jHamLXvZbvQgADuDXIaZMuAnhiMtPL1RI5vf6v72cNwXENu
iHy/X0SaAg==
-----END CERTIFICATE-----
46 changes: 27 additions & 19 deletions tests/ca.crt
Original file line number Diff line number Diff line change
@@ -1,21 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUWqZvPspF7sYLbneH6A8ZUHKANfQwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMzA1MjkwMzQwMjJaFw0yNDA1
MjgwMzQwMjJaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDOlx5R93Sq8l37vZoW1pKNcAOZbElVA5aRK8sFn7W7
Y3ephA+Q3nvI88tO0M1Z5xNNXqVmlskal+SFsEWzAQP7ty0/wpbynEaviNYXtxKg
lRr4tS8VlR2hwEiZJtf94t7IxmGHXT+epbxWvbOWVkD2MPTfiagWPVmRkF01Rh3W
wCV+S2beMtpUVKnNsoFxVazOVS8KMMDivX6XQDZNcYXepoYahkX6d5RGdwVuwrne
aj29Pm9PY+H+cTsh4TAR87yX+SOwparsyOpuxR0hpNFdNDWB1ciJNZ39btOFTrID
8ItdG2CunQJJKy4h7Og+DzpYOXqmGmV1OaE2FV0a3HBfAgMBAAGjUzBRMB0GA1Ud
DgQWBBS7usdWnAgsnWpzkiEuKSA+aUt9nDAfBgNVHSMEGDAWgBS7usdWnAgsnWpz
kiEuKSA+aUt9nDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAp
Oa87vSxeG+f6TYJ1EPvnUQiXJ1riss+MXGiu38DEdTK8JwRyaJx6UKYM7h6YhRHi
YsRydMstl0MvuPKw9uIlZ9BURT0QsuJTUczJ7mEkQrdpppltHg8B4IT0kPRUKrSm
VAnkvlL5Z1yxxf9RQ5vHYOm+NmVZMhp7cmJ5A0icWIcJhEN5WtCYyfehgRoHO4GE
yfc1FFCmmJb5X0Ou1m+BbQKW7Bcf+f5H2WR+TKoVMN7XyIuzoKYLRO2TW5YOnnxW
1kHo20xoirmq3ZMfdsefsWkWn2ahT4GQ5NCGFdTPJxfGIs8N/wMiB0+nPqOSwwG4
vilWxDE0j9D3ONSSYxdf
MIIFCTCCAvGgAwIBAgIUTch6kt2AKULlI7wnQgfzIEV0HMgwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAwwJQ3VzdG9tIENBMB4XDTI0MDEzMTE1MDAxNVoXDTI1MDEz
MDE1MDAxNVowFDESMBAGA1UEAwwJQ3VzdG9tIENBMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAsIyd2INOApBVccdyPhe8UBAfhUnv+x4Vh2rhkWrjqYyX
Yn9+29ecSD8MRshSeSkw5FpKkP01hWoJAeMlLGGqEmXHC+LWilhbghWkgrTxinNp
0G40IsRC6YNU+0/ziRUL4pORwKr4ArJ0AVHFV1X/9+q6pE4ryNZu05ew9+V4nkLI
E6kcuEKlhEECiVQVUNTm6LWrvhbAIsALwedSZaRYOtEumVrWLo+SMYdfTY/ubEpR
3sXFJNNY7xx5pFCtV5eiT1DaCASbaqIFfWJVHspBM2aPKqsE0m7PL1I1tS+XuXd7
m1UsMaMzW8bRy8qzgIWHTNEfMC4aSrWhDuSirUl8zbAe/hoKNyuvVFdLMoV1DwPG
DsYrpihSYAUN4LgxSKNOnFBaEY47P9uImj9j2hq0Z6sPJDhJ1WjTYed/pGPkwOZq
Ez5HoP/SCDbCoezgD6N1BLBsfHHq1bJUTACzwpDpJpSzPJ2Tl9PmlFq38EG6v4nL
IrT5xNmf4ZtLh5vl9rJRzV3/N3Hz4CuDtQDNHX8EaMzg2xViAj6rmCF/xg8OtLWf
D5yIiR56JOvZG/mxCNTpBFW6p2SkBK59eIZyi1m/H7IiXCN1VR3E9aogChObl9T7
6hQfMlCwMy7RFRyDZj4mdg/tJhh22xLSDHNzIQ7A3VvwB4ZWL/1YgX63MSX6IW8C
AwEAAaNTMFEwHQYDVR0OBBYEFAYKP5pKwKeZlhK0vZDbkZ/8gNjKMB8GA1UdIwQY
MBaAFAYKP5pKwKeZlhK0vZDbkZ/8gNjKMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggIBACLJZcYnRmFW1xv2qrSbGMzqXHNnK+gAf4JNTuTlXM24Y43D
2mJ1TECTW85pWeVclAblvQWIwrQm2xEGjWjLkxY9xWeIyUmNQjQsr6yan8Fiwb9/
rd7r/RNNsS07+JKetX8z5Ba6tZEWjbxQwHVaH/gchZaVDbhMYVaK5/75v1dw6zcQ
1zgxXvgyubr7k3HPce6xgODf989Gi3S+XAVHYnGBuLRqqO8/JTYqAlXJGgRKUpqD
Ie7xdsbtFmTvWbKW0nDJmgwzi9b4wyfEpXQKTYsQbWZ5vfRPdDNUHTGCj1wUSKXj
3PzhZtbLcsF57e+ymZmbd5bn+8o5sgnc5ime+yubmZ6mWJAGLUF5OnRezPcMAx4S
e9pQkrDrw4OQApS6Wj9ItQ51UU3m5FTE4hDkYeX7IF93oj08I4blDIschCz4DG3D
woQIvFD42h+/ai1kJT7/UZTngpZZra+SlJrb7lw7HLK4RfNb5qvddImBwrCapiVS
wP1tDiCjoiMwll7IqdSwlVy92+h5fa2YZg7xypVK2G47ChmikSSw3N4VsQlT65N3
iSfp9CxYOIJP0ICDTf6j5AzZojaahPKL/YYKZfRC5Xh4F8p4htf6CuAmc3uXd3s3
c6ga1iwaNEujLqZvU42zSc0k8YXDykT0W12KTI/uUqeqN6EjVVam21qYb1z2
-----END CERTIFICATE-----
76 changes: 50 additions & 26 deletions tests/ca.key
Original file line number Diff line number Diff line change
@@ -1,28 +1,52 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDOlx5R93Sq8l37
vZoW1pKNcAOZbElVA5aRK8sFn7W7Y3ephA+Q3nvI88tO0M1Z5xNNXqVmlskal+SF
sEWzAQP7ty0/wpbynEaviNYXtxKglRr4tS8VlR2hwEiZJtf94t7IxmGHXT+epbxW
vbOWVkD2MPTfiagWPVmRkF01Rh3WwCV+S2beMtpUVKnNsoFxVazOVS8KMMDivX6X
QDZNcYXepoYahkX6d5RGdwVuwrneaj29Pm9PY+H+cTsh4TAR87yX+SOwparsyOpu
xR0hpNFdNDWB1ciJNZ39btOFTrID8ItdG2CunQJJKy4h7Og+DzpYOXqmGmV1OaE2
FV0a3HBfAgMBAAECggEAM3bF4NlqQOObsgiriCDv5TgQTXoCUqFQMt3b94yvsvy2
ZI43anliEM9ayEmPvmOoFVAMmB/b/Tn1fbBJzKvmGCCrrwSEoe94VGYcH1BF3acH
Twmjrxa0iQTjkPNyPxbzNMTmqtf570WOQ3WCdWMLT8kmV0FtlAy4cWCrN4g+Cq7j
8YJf0Ef2DPOnxw+oj9ZjNuGTv4Z3ohQqMe7NOqFInrwTrDe5JUkJBfBLrl43EIPn
CpgXrmIxlj2TFP9mu+FF/6Ua0Wlc4CMMuKXa6gBke2/i+geDfGhvdOtZQp8nDsJ0
hFDyWGCSmEYxa2VBfy+uLNOXXwtsfAIRgc9OceoUoQKBgQDPAeHkDLs5ZW2fRhn6
kfBITrde0DI0o+JV2Ce+P9T+mVmzKCnoAY12cn6/UmWnoODfQHS9WyO03SYlT71g
/Ulmp3sxvYA31wNKn0oj3RM+5Drsl0HxyOoZwji9V6WigBZMyfa7ey2s4hos37M2
dliwBCeyu8yCcF14ut3bBj+M6QKBgQD/e/fWgrEjucgTjOeYCPdEfYjCoUNF5Op1
hEctvIkAkyiYfDOzqopd0hFGSd66AqgkJe5yKIgOY7KeW5ZwCWgaZtzOEI9h8Dvn
kbiy9WyfDQ4CCq75R+a5bgDlQXFWTFnlJwTNstcfkuWTIBAIdH5qBMLXlfZFgGHj
nUsi2W0mBwKBgQCpMGSruywakSezkdwRy82Ti6Kbv5YJKBkJCI4TFKDFJhkGMMFv
ejVgpduqC3JCO18PmOLREPhyDn3q6O1jpCCl4iTyVmvBN97c0qwJ+9qLAIaYcFfZ
gdi0DOXK+yPJWN7hDAC44shGENZL7tnOnZOG6R55Grzfr272CeTh6o1uYQKBgQC7
9CGyqFdVZxnweBrxWLdApfH07dqmEvECH5yV4zwPNjQJamZG6VH+D8sxoKrAwa+d
WGKBjZv6qhIAOnUEW4dA1SfgWYKClNAdXrE4xyFwKZSCoAV10xXEmU8DWg/dYzJH
SVtZURa+Xb2TbWUeM0XFDVeiburM2tQpNdDPBJIuBQKBgF4Cmd21oqDF+b2tUQUT
PhCC85UZWKkLfRhfy7pdQK/k7nn/j4MZ4LlktOkhTHgfCgaBCmZs3l9izOSq1VI2
uUhrOjAHzGwY9/UGenjOpVv2NO2yxmjDCuJESZQZiqhfu8z0Wgbju9hbVAMtKoMi
04oNiWZD1VjhOB+84rJ6vyxT
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
hJuriKyWGRdv1yvfRLQzxRQsJOb0OA==
-----END PRIVATE KEY-----
42 changes: 25 additions & 17 deletions tests/client.crt
Original file line number Diff line number Diff line change
@@ -1,19 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIDETCCAfkCFFOJVQs8PxWlcJQDn/AQpSopkhITMA0GCSqGSIb3DQEBCwUAMEUx
CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjMwNTI5MDM0NjU3WhcNMjQwNTI4MDM0
NjU3WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE
CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA8t2tS8dLFzB3VHk03KTOV47XjkW5ecr6D0H1itstby6AU9qJ
FfPm5z/EzWTHRd18Z2KlW0pxIU/kDHPVMbjKaXLwSntHC7y26V0uHvltOktKO5Ts
soA4v+KzZ2LJATrqxV6/BwOWEwnvY3gPgXypNkl3b5z43UFoPGIxA3ISmGpBGBE0
D52byyB0P8k9P9lzqxBTvO1Rbee5FTBV/GRQApHblcFlys1aQ0AycC8qrDoXmWWo
nDAvw5RKjeYY1zy7qtgLYRImj+QuMHK1dseYFA+w724nxLFAoHANTVDOnb7tR5SF
7xEP7re9+qlxLe8lxbt50+KRBQvjeP/m1HF1XQIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQC/4bRxmjdtqLOOKavOQSS3zmrFQkWPOmq7OF7kP4lvWDgtO+RJ/cXiPsLs
uh0i6pf16DKd+kq4v/yH6lh2kFGQsdzwz0pazSSqXFIudnd9fPVgWjO6+XooaKl8
uYEPDB9itffoz9FPTL6W8DGY0qqpUyAAOZPX17vkXT/Wx3oCp0ZRQtWE1vibJRWo
IE6xTFC8KW1mo72SSZ3dVgfnF3lmWaJPlAQjDnINymv7zVgb3s3dh00uJ3YCMAHr
3enmHFnrkJgLgeuX7ZEZRB0peYKpCmj8F2AYBgOvbdfAbZEvXCVEBzxr+pUa63WQ
nGX3c/sZPmdv0gtZUn73pyaaF8me
MIIErDCCApQCFA0NY4tAFj3MJEOqNJoUacx8lHhgMA0GCSqGSIb3DQEBCwUAMBQx
EjAQBgNVBAMMCUN1c3RvbSBDQTAeFw0yNDAxMzExNTAwNDNaFw0yNTAxMzAxNTAw
NDNaMBExDzANBgNVBAMMBmNsaWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAMxpYNAVPRG3SArHfdzscL86o0St73ZFODMCb0WkVucDetCUTY6qcG+4
YzSNDpYKmwkdQ/k95zQPq09GKjD7Us2YrAvUM/Bk3rZ0LpI01ApmXDGKhGQRW/T5
U9veLOkjY3MzDQBdOYhwSQeHqmPyUepMfSmMeAFrLLo7SqVyjwxc9qLO4TATgsnA
qlGYqeVr+VKdduy1/lcwetGb2swOFNWahaac9H6XN+5m3O0zj6tyq9u6G42RZswT
gyW9pOiLa0BJWOK8ON7h7uPDEx6bwYTiBE2eyGPqT3HEPQjQ1jiJ3PEZN5YQj2A2
j6csjmostpDUweL0lH0VfsOOqFsZv3pGqNWMWSUqDTuGxxTcSRntVQNbW0OfG1zB
t6ZtBbQqC/6RlpqSvXHf7K1ctqONJM27kpdmw9sAmqCRAnfxJCwwwnC1vrFnXNv7
WQGhjBeegyj0Acxh/ubXCwgqeVbxMVig49b1fUwm3eqaT8/zIQg9C8cp9BsF7PLw
EA8IHO+/iiUGlq2vzsens3FPkJDaqsBVdFh3IBER4VzG63qe1ui0l80d9h/qKa/O
2CTSo8xy01fvxemjTmxMNdOwB6TLMPSpU+D3FEC17ptGqalwewlVIW9/67e4ebQH
VF8/+zktn7mN8DMc+XNM2n1umrsXgz59xB6grkxb4SzTst408whFAgMBAAEwDQYJ
KoZIhvcNAQELBQADggIBAG0qkRIzH1p4IdJz+FuwggXoV5qpCHzBfTBvb4SNVvxe
BPryZ7Qxjc9/KpyOMHF9PqyHoTJoQRFesDpmFpgOfDSU2+mXsVBQb7y393uRLGMq
K5XVLO1q8mFDI9ktB1N0vc6DvL8RE6IbN66AanKvtTzxlkHcpRtIwFnpRWJwyQqP
HWa+0AFTkWMU3c1ljW5+kUVuUxrHA83W6cu8+pjz0wabfqFbe5o5ycRIR6aDJ2Dj
DUltkPnstmgnTMfjS4/gJVOwKt248QPwLdGQxKhYNr587pISrGybNZ0c79VcuY6H
6Q/dDQI9gIG0vcfkyChpwO78ycsqfqTgqoURjoEFu1XM3+zyho4BdjBMvNVkKAuJ
FhfdQF8UkpDvHNvM35QR9rjkebSC9yJjCqFAj8J7mRmgwfkfDbss/yurUFWCpAE3
QlJuwQPcg6Uq1EL0Diah7oYzy3exdZHlXoX2GJcAchOkGkzdjlggRD/o4BZ0yKR0
buV7W24av9syoNNUGl7IPBINJm0rs3+TjwGp60c+yay2APeG3TxP9wWQ0E0e8xYI
/ZFFoHngBDkWbBBvrIy3bffXTisMlHXdt5WeoN5x1lrm+PVP/95Ntebj7DIK2TJx
+Je/N6PsCqJkCxYIX2iA0DK+gzDcTy2bXiTysh01G7w9vKK1ycMVQNOWxlowBRnR
-----END CERTIFICATE-----
Loading

0 comments on commit f93b87c

Please sign in to comment.