Skip to content

Commit 1f65284

Browse files
committed
adding fresh snakeoil certs and adjusting DTLS defaults
1 parent c34d525 commit 1f65284

File tree

10 files changed

+37
-8
lines changed

10 files changed

+37
-8
lines changed

src/association.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ DtlsAssociation::DtlsAssociation(QHostAddress &address, quint16 port,
5656
configuration.setPrivateKey(privateKey);
5757
configuration.setCaCertificates(QList<QSslCertificate>() << caCertificate);
5858

59-
configuration.setPeerVerifyMode(QSslSocket::VerifyPeer);
59+
configuration.setPeerVerifyMode(QSslSocket::VerifyNone);
6060
crypto.setPeer(address, port);
6161
crypto.setPeerVerificationName(hostName);
6262
crypto.setDtlsConfiguration(configuration);

src/dtlsserver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ void DtlsServer::setConfiguration(){
523523
serverConfiguration.setLocalCertificate(certificate);
524524
serverConfiguration.setPrivateKey(privateKey);
525525
serverConfiguration.setCaCertificates(QList<QSslCertificate>() << caCertificate);
526-
if(settings.value("twoVerify").toString() == "true"){
526+
if(settings.value("twoVerify").toString() == "true" && false){
527527
serverConfiguration.setPeerVerifyMode(QSslSocket::VerifyPeer);
528528
} else{
529529
serverConfiguration.setPeerVerifyMode(QSslSocket::VerifyNone);

src/dtlsthread.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@ std::vector<QString> Dtlsthread::getCmdInput(Packet sendpacket, QSettings& setti
5353
cmdComponents.push_back(QString::number(sendpacket.port));
5454

5555
//get the pathes for verification from the settings
56-
cmdComponents.push_back(settings.value("sslPrivateKeyPath", "default").toString());
57-
cmdComponents.push_back(settings.value("sslLocalCertificatePath", "default").toString());
58-
QString sslCaPath = settings.value("sslCaPath", "default").toString();
56+
QString defaultCertFile = CERTFILE;
57+
QString defaultKeyFile = KEYFILE;
58+
cmdComponents.push_back(settings.value("sslPrivateKeyPath", defaultKeyFile).toString());
59+
cmdComponents.push_back(settings.value("sslLocalCertificatePath", defaultCertFile).toString());
60+
QString sslCaPath = settings.value("sslCaPath", "").toString();
61+
5962

6063
//get the full path to to ca-signed-cert.pem file
6164
QDir dir(sslCaPath);
@@ -89,7 +92,7 @@ void Dtlsthread::handShakeComplited(){
8992
void Dtlsthread::writeMassage(Packet packetToSend, DtlsAssociation* dtlsAssociation){
9093
const qint64 written = dtlsAssociation->crypto.writeDatagramEncrypted(&(dtlsAssociation->socket), packetToSend.asciiString().toLatin1());
9194
if (written <= 0) {
92-
packetToSend.errorString.append(" Failed to send");
95+
packetToSend.errorString.append(dtlsAssociation->crypto.dtlsErrorString());
9396
//if(dtlsAssociation->crypto.isConnectionEncrypted()){
9497
emit packetSent(packetToSend);
9598

src/globals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
#define SETTINGSFILE ((QFile::exists("ps_settings.ini") || QFile::exists("portablemode.txt") ) ? ("ps_settings.ini") : ((SETTINGSPATH) + "ps_settings.ini"))
4949
#define PACKETSFILE ((QFile::exists("packets.ini") || QFile::exists("portablemode.txt") ) ? ("packets.ini") : ((SETTINGSPATH) + "packets.ini"))
5050
#define CERTFILE ((QFile::exists("cert.pem") || QFile::exists("portablemode.txt") ) ? ("cert.pem") : ((SETTINGSPATH) + "cert.pem"))
51+
#define CAFILE ((QFile::exists("snakeoilca.crt") || QFile::exists("portablemode.txt") ) ? ("snakeoilca.crt") : ((SETTINGSPATH) + "snakeoilca.crt"))
5152
#define KEYFILE ((QFile::exists("key.pem") || QFile::exists("portablemode.txt") ) ? ("key.pem") : ((SETTINGSPATH) + "key.pem"))
5253
#define PANELSFILE ((QFile::exists("ps_panels.json") || QFile::exists("portablemode.txt") ) ? ("ps_panels.json") : ((SETTINGSPATH) + "ps_panels.json"))
5354

src/main.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,16 @@ int main(int argc, char *argv[])
176176
//do not complain about shipping a private key.
177177
QFile snakeoilKey("://ps.key.base64");
178178
QFile snakeoilCert("://ps.pem.base64");
179+
QFile snakeoilCA("://snakeoilca.crt.base64");
179180

180181

181182
QString defaultCertFile = CERTFILE;
182183
QString defaultKeyFile = KEYFILE;
184+
QString defaultCAFile = CAFILE;
183185

184186
QFile certfile(defaultCertFile);
185187
QFile keyfile(defaultKeyFile);
188+
QFile cafile(defaultCAFile);
186189
QByteArray decoded;
187190
decoded.clear();
188191

@@ -208,6 +211,17 @@ int main(int argc, char *argv[])
208211
}
209212
}
210213

214+
if (!cafile.exists()) {
215+
if (snakeoilCA.open(QFile::ReadOnly)) {
216+
decoded = QByteArray::fromBase64(snakeoilCA.readAll());
217+
snakeoilCA.close();
218+
}
219+
if (cafile.open(QFile::WriteOnly)) {
220+
cafile.write(decoded);
221+
cafile.close();
222+
}
223+
}
224+
211225
QSettings settings(SETTINGSFILE, QSettings::IniFormat);
212226
if(settings.value("leaveSessionOpen", "").toString().isEmpty()) {
213227
settings.setValue("leaveSessionOpen", "false");

src/mainwindow.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,16 @@ MainWindow::MainWindow(QWidget *parent) :
9898
ui->twoVerify->setChecked(true);
9999
}
100100

101+
//currently broken.
102+
ui->twoVerify->setEnabled(false);
103+
ui->twoVerify->setChecked(false);
104+
ui->hostName->setEnabled(false);
105+
101106
twoVerify = ui->twoVerify;
102107
connect(twoVerify, &QCheckBox::toggled, &packetNetwork , &PacketNetwork::on_twoVerify_StateChanged);
103108

104109
//hostName
105-
connect(ui->hostName, &QLineEdit::editingFinished, this, &MainWindow::on_hostName_editingFinished);
110+
connect(ui->packetIPEdit, &QLineEdit::editingFinished, this, &MainWindow::on_hostName_editingFinished);
106111

107112

108113
//cipher comboBox
@@ -2999,7 +3004,7 @@ void MainWindow::on_udptcpComboBox_currentIndexChanged(int index)
29993004

30003005
void MainWindow::on_hostName_editingFinished(){
30013006
QSettings settings(SETTINGSFILE, QSettings::IniFormat);
3002-
settings.setValue("hostNameEdit", ui->hostName->text());
3007+
settings.setValue("hostNameEdit", ui->packetIPEdit->text());
30033008

30043009
}
30053010

src/packetsender.qrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,8 @@
5555
<file>icons/outline_lightbulb_white_24dp.png</file>
5656
<file>icons/tx_dtls.png</file>
5757
<file>icons/rx_dtls.png</file>
58+
<file>snakeoil.pem.base64</file>
59+
<file>snakeoilca.crt.base64</file>
60+
<file>private.key.base64</file>
5861
</qresource>
5962
</RCC>

src/private.key.base64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRQ3draWJJbURQVTZLVXAKZzB0M0ZoeUl3ckxMMnZtYXlkbGgxdi9tdWU3eG91bllHejk2SVowdXBMNkthK0Z4bml5N1FXcFVaTm9EZHl4VQo1S1l4QVlsb1Z2SVhaZGY2UVNHdGpSOTlTa0tWMkwyODQ0TitOaE1lYWljSUI0NzNIeVg4dDdKSUV2M2MzaUJzCnZyeGxNcTdLWGd4Z3hRc1ZGSzl3M1pFM2R4UytZbXoxR0FjZHFha1pSNlVTM3E1NUM2T09aWStqRWxsc090M3IKMUtPU0YzQUZvSVZiNTBGNC84UnA2anZyK1o3bFNuYnNSK3JQamUwL3hyYjA4MGlHUHhFZmY3aGpsRWwyWjZYMgp0bHU5OWZybFdIV3Z3SVY3aUFNQ2RBenFqanhFREs3RE1uWmliRkF1bUZpU05RL2lyWTR1d2JLdFRiMXhKdTJYCm5XbnVxNFBjV1ZWaUFEdW9qN3FNWkVWT3hVazZNYnRVYzFXalEwWWtVcU1KT1VEVm81R3NqM2JPQ0Uwb0VKcHQKRzI4VFVCUE9qK0hOM3ZsY1U1RDJRTXF5Tzl5NDY1NWh5SUcxcFhzWFV5YllmSU5PT3BBMzB5RlNlcVNHTGVqegpTOUluQXc1UHF3Z3VSSUxQZWJlWC9wL25XLzByNm05L1B5S1M2MEZsT1lxK2ZjWlEvdHNRK0R3VFN1ZWEwaS9ICmpOODhWamN0MWRJd0tSZU90UC9KU3FvS051aEh2akI2TFhSbzFIbER3aHNXUVlpZzBuQUZITDE4b095UjZyY00KcmIwZGRWODczZFBCTExPSEdiL2RuZm50ckUrRytaNnJnUGRqSy9PbmRiZHJXWXNwVUI5MVhUKzVDZlZLdzVYWgplZ3UvckYyYVM4KzNXL2hCaFJMRWZIbmcwUkFFb3dJREFRQUJBb0lDQURWdEk1c1NvcXhMY0o0dEFncVlnQzNKCmE3eFBGN09FVytoRTI4MStlUlJZVFJWOHVTcEZQWUE5alFIcFBwL1lVb1NlZUlQc3VDTFFUbk9wYzdma1ZTVmoKR1lHRzZXRHBrRDBwTkZ2K3VrTUkvL0JGanlZRFNxbXJTUUFlK1YxQTZZZWNOYStsUDNjekp2Q0FqaFM0enphZwpXbkoxYkxNR1BVZVRZenM3SnVXc2RuZDZ1N3gzOTVpVW14Z29sUFkvVlUvaTN5RmlqZmczbjZxWi9weFh4eWVNCnVJMWtYZVUwenNPVmdtZ1djY1BEVWxTUU5qWnpKVlJrMWpzcjJjZjFFVU5NckFoRmVDMEJrN0FnNFlXTEJrMmIKQkpFWFdjeFZEVVFTeFUyN2wvU25PY0lLWk5QSEhrUGJDUUhFV0hnb041dGlOS1JIbjRpN1ZLekpqcUlPOTZpVgoyVS96QldBQmpJWERJZUluZUtycDdTWk9rV1dqTXNMSWlkM3I2NmJtelNMZUpvYnVlZStrVVBvMDk1OEJEV2xQCjVtbWtnMUtSYVY5MVdvWjkvNUZtdy85Rk8yQ1ZaWEI1VlMwcWZUUld6RWljQk9xWVBNbE5Vbk5aT0o4eStzUG4KRURIcHdPaDBCMGdpREo1SElKaURCcGlwbVMrWnd1NzZSTVlJOGFsYVBGcWp0VGZyKzVKY1dnSWp4RFY4eE5oTAphMkNwYUhST0JLd3JkZU1vMTluYVBTM1N5azZUb0Q4WGFNRWN2QVlyd0VnUktYMkVPbFlsKzlaYUJybmM5ZTNlCmdMTmgweGUzRE56dDJUTUhzczJvWlU0TTJGbUZHYmVDQno1S29LeDVZUHhwdWFDbFBRTjlvVUMySmY0eDJMelgKaGtIL1BPVzlWZ1pIK2l2ZEc0WGhBb0lCQVFEaXdGdWlUbGo3Ly9LNmd4bGc1d0Q0d1ZWN05jMU4vSXJseUlwWAovY3NndldxM1dhUURDWjhuT2JnRUxwaWdsa25hTzZBUzQ2dzQ0SGZrV0ZOTkpYdENyMjdtQW5LMi9oK0JkS0VXCnRyQU9LbkN5cUZwalFETnRPMzlrOVdUck1RSm4rbndkL0NWR25Gdi9XZm9BQmc1dHkvRldDSmlWdS82UENIZVUKS3BJdGZKUEFEeUZUc1J6V0JCM3hpSWgxWk9iUituTFBxa20yWGRYNnpuOEFVeitpU1Q5MW1RKzhXYVBzRit6RwprOC8zREkzWUJFVllPZ2pEdG9vZmhHSWRiN2ZiUncxY2E4dEoybGhFby9GZjgvV2gvTVJtV0FuT3RaV1B4SHAvClp1S2lLYTJzeE4zaTcrVm9PL0tYVkQxb0ZQYnhFRWp1dU8ya3lKemRGakRBN2UzSkFvSUJBUURIV01QTXpmUG4KOGZkUWxUQkp4MjVNdWtWQTR5N21CZWFpYTZXUGEzQWEwKzBDdVU1cHZmR0F4bTNvUXo0RzRrTGcrazM3Yk5jbwozWFc2WU5ES0lQcTBxY2NvRW55R1c2TUVuZDA5aXIzaE5BZ0lkM0FWMmNndG5QSUl2T1E3VUtiYmtWelJYT0xqCkdHUmpMMDRicWQ0MVQ2dkJYZ1hDaGlQb1B4ZEE0ZERLSGh3akw2azNlK3FPaituRlpPTWRmaXR2dUg4K1RVOEkKUnNlTDFlR2ZITFE0YTZGNjVUZ2Zwdlh5eHZoYU9uY1BUajZnc3JuOFdlU0Y5MWI1VzhVdlRHZEVidnhWYk5ENwpjbENRbG44K05mVUVDdHBtSFFpVkRGVngrK3YvN2M4QmNQNUROaDZ2V2kxNXAxUi9PYStvMEExa1FzNlZ2eDhTCmd2WnBJd214RXVVTEFvSUJBUUNrNDI1L0syd0g3RXB0R0xKV3hnVHQzMkV5MUovejZ3WnlMQTkyQndjMFNxbVUKcE9uZ2o1bWRZNXFONS9oekpuYVQ3TEh0cW9QdFpFV3ExaFBWVU1FK2IrWTcrbUhDOGk2azY5UE1lWkt5Nm1mRApjeXN2YTFzNlBuN1lRcDVkYk9rc0JYbEdNTHBHaTZOV24rNXRIL3BVRzI3bXVoK0RHdzcwb2hxYXN3NVRaM2psCnU5cm5TaThHN2oxOEMyWDN3Q1VkWW5za3lkY0tkMWdJSnlzeGFGZ293ZzBVamZaa1orY000eVQ2RGppM2xQaDgKc2paZS91eXFyVTNwdDFIRnlCeXhwd3h2UGErNWg3NlNRNGxkMWtDengrUmw2L1ZOekx2eXJOVExXbHpKd1hjYQo0Sm5kMGNkSHNmZ3AxVWRHTGFDWkVkZUhTUkQrdUNkaG1pWmYxV1VKQW9JQkFRQzI5ZnRQWDc5NnBKUHV1OTdECitHeDlzNENZVzJyUjU1eVVlZVJNUzdscWhoUEVLanVUeGFlQUg1OEVTNk1FUW1wTGZyQlFFTWN4VklFVy9JRGsKNDN2MmtOU2ZMTWhwc0hWZ2FWdURmbkZqM3BONDRkWlgxN2hvVk9HM3IxWnlNa1hTeEFuQ2hsUWZSbVhzdXFBZgp0N3FnaDIwR1hycytuRXNjZjd0aDYxL3NBZEtsWUxzWWwzemlONmZCYWlVaERvbmpVaHhISEVGclFUc29WcmRyCmg3YkpDYy85c1ovZlBTZ0RHU2NiK1FrSlhURVI0TGZlcXNxWlFqZnJTWlVqSWlhdG9vZXFCK09PeEk2NUJjZm4KV3pKejhWb2Qyb3ZqOEp3RHI4b2M3VERQQzl2eDZCd2xxTWlRSFVucU14SE1DSmdoNjBjY0hYdnhTNDNKVlVVeAo1anVkQW9JQkFDQW9HdE83eUtCYnNhdGx3ajBzM2hGc3R1cVBUVUxPUlNkWUJiRWY0NDEwWWdidGszV1p2UlpBClhMK1NoTjhGbUw4RXpWcGVvUHVUTlNKQUx1bTdjMWdkb2o3cEFzVEZXYWZoN2ZhdE12WDR5bmp4anlWdURGa3IKaEc4TjlYcldIVTJOcnQ3VGFtRUk2eGZmUGR4d09JWGNlYmxlVEJoTEdFY0RHZmhyWW1jWVQyWVRNSmM4dGRoVAovMjdlZnJyK3VGeFNWbWU4TExsRHYxSUxlQ1JKZW1Pb0NiR1F3K0pLOEk0NWk3MmUvL2R6Q1RMbVBlazFvSzcrCm8zNkZNT3lmK3hHNEtxTU9WS0lIZUVMZDQ0RU5keGVtWUtNK0FrclVKWWJtdFVRUk8weGlaWUdrZ3dpb2dCckkKUXNwRDYxSHNuWDl4LzZSNlRBRVRjRjFRVzVBamN5az0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=

src/snakeoil.pem.base64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVoekNDQW0rZ0F3SUJBZ0lVRmZBQ1pIK216bzRadm1VN3FEWG53cUpRaEFzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1ZERUxNQWtHQTFVRUJoTUNWVk14RGpBTUJnTlZCQWdNQlV4dlkyRnNNUXd3Q2dZRFZRUUhEQU5NUVU0eApFVEFQQmdOVkJBb01DRk51WVd0bFQybHNNUlF3RWdZRFZRUUREQXRUYm1GclpVOXBiQzFEUVRBZUZ3MHlOVEV3Ck1UVXdNREF5TWpGYUZ3MHlPREF4TVRnd01EQXlNakZhTUJReEVqQVFCZ05WQkFNTUNYTnVZV3R2YVd4allUQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMYTBralRhZ0EyaFY5ZHdYcW5qYXJLZwp1SlVMSUpBbFVCL29Qc0lWMkdqWEJsOVJobHo5bkg2dFNRbUt0MDFScVZxcHoxYjR1cE8wbGJIR3RPdFhzL3l5ClNYOTA5MVdVUVRwdFhwME0zaU1tTUpNQzY4a3ZtY0ZmUWY0QTBxR0hIK0ZraWdZUUZlZWVBakVKQlh0NnJoMC8KK1FlTDd3UmJUaUtURytwa2hDbGszMXVoc0l2N1hYQkVRS2w1NTdFMUxDeXBNeVhPZHlONEFZQk9qYW1IeXhOcApHektqTDR0WnFjazlza2MwYVVOc0tzZ3JUa3ozUnNUNEljYW9KbUwzVGE3RWRzU3ErTllaMkV1TnNGZTIwcUlaCkpCU09sNmM5WjV2cmdqRytpYmt0eWRITGJydXpmOWQ3dUIwNHNQODliUHdGWUpzVTc1K05NSFdJQVljdDdiTUMKQXdFQUFhT0JrRENCalRBT0JnTlZIUThCQWY4RUJBTUNCYUF3RXdZRFZSMGxCQXd3Q2dZSUt3WUJCUVVIQXdFdwpKZ1lEVlIwUkJCOHdIWUlKYzI1aGEyOXBiR05oaHdSL0FBQUJod1RBcUFBQmh3VEFxQUVCTUIwR0ExVWREZ1FXCkJCUzljaHhDSzRqSkZWR25ybThkNnowRkQzc3pBakFmQmdOVkhTTUVHREFXZ0JTZ1lnOHZ5WXNpa1ZqM2huVEEKWGphdmZva0pPVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBRHJhMGQrT1NQN084cHc2bFYwZlJGQjlydjY2eAowQVF3YUdJNnZTZU5ReFh2TnJhT01jcElkNEc2SXVmeTJlN2pVYmNCeDd3d0lPZTRsdHFCNFNtbGplbk15U0p1CksyTVlyVG9mQnlZajl5RG1SblVRYjRmYlFqQm5GZWo0QS9oV1FmaXNET1BjNFRBNVE5WE1iUi9ZNU1TcWVOa1YKcjhEL1VWZDZhWnpWTVZpb1V0RTlXNlVMTUZoQVpKYUUyWHdIYm5FaHIwLzJTVEV0cHgxYXo0a2g4SE5veG45QwpVdUhMMmtGMjZ4TGRtM3lldnRjTHpFZCtKUk5tVmVHVWExV0ZsTFMxeTdhazhsWXRWYTJGSENmUzZkSnVJQzQ2CnB1ZDM5RGdHZFEyVEFuUDBEYmwzU3FNN3RkV0JLRmRmajI1TitHVVpkVjJScURnWlNCaDJsSmZaMG9Ma3VCbkQKUmJRZGhvVlppbEJoa3BTZmNwWndoVXlES2NWYlFSODJjbVVRdW0rZ0JlYTNMUTlSYTRKMmpHSnBpVUU5R25rWQp5YWs4cVg5N0xnelZVTTJqcXk0KzFNSFhHUmd0enY2UndJV3NWUXgrM2tWSlg2aEUzYWVQQ1IvT283OTJPK2laCmhEZXpOb3dUcUFlWVBBTWVFN3VBRnZlcElib2pLa2NvVUVjVnd4VGUrODY0OS83ck95OGdGR0Mzcm1hcHFsSGQKbnhGUFZ2NmhwOXRYVDA5RDZSaWVWZUVLd29nM2U5TUh3cDR0TzhMRG41WkR1a2NTVzZVTW41b1VlMGtZSkxEWApHZDl0UkRvczEwVjZGMDBGSmN6K09JdUduY2lYWUFqUVFPM2FYN2k2Y2YrMFU4WHc4WGozN2tTSU9QQitPMlROCmw3cXlzSmRBSnRVM1pOOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KTUlJRXZ3SUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2t3Z2dTbEFnRUFBb0lCQVFDMnRKSTAyb0FOb1ZmWApjRjZwNDJxeW9MaVZDeUNRSlZBZjZEN0NGZGhvMXdaZlVZWmMvWngrclVrSmlyZE5VYWxhcWM5VytMcVR0Sld4CnhyVHJWN1A4c2tsL2RQZFZsRUU2YlY2ZERONGpKakNUQXV2Skw1bkJYMEgrQU5LaGh4L2haSW9HRUJYbm5nSXgKQ1FWN2VxNGRQL2tIaSs4RVcwNGlreHZxWklRcFpOOWJvYkNMKzExd1JFQ3BlZWV4TlN3c3FUTWx6bmNqZUFHQQpUbzJwaDhzVGFSc3lveStMV2FuSlBiSkhOR2xEYkNySUswNU05MGJFK0NIR3FDWmk5MDJ1eEhiRXF2aldHZGhMCmpiQlh0dEtpR1NRVWpwZW5QV2ViNjRJeHZvbTVMY25SeTI2N3MzL1hlN2dkT0xEL1BXejhCV0NiRk8rZmpUQjEKaUFHSExlMnpBZ01CQUFFQ2dnRUFGUXBsTHJKZHZqUVp6NSsxNXlRS0xPN0JhR05TL3JGWUJ0OVNJRHZhZVBNUApzczUxVzNtQmI1S09oTFlnTjBhZVFEMy9ZMmxhNDBPNnNZY2hYVnVlU0xoU0tvYlNnbDB1Y3pJV2kvT1N2c0xaCkk5K3U2UWtTK3oxTnk1aXJVOFYzUmNKZStzL0RhMXhtV0RYM3dhbEwxVHZXeS8ydzFaN3c0cDV2ditYazFTSUIKOEg5RUZzeW9XRDl1MHhQQ3phelpxWWd0Y0tSQUhrZkVSYlVFd2JweW9uSG51YnZPYW1KOW5xOUlNci9WWHpwcAo4QWE5eWdDaVJ5bWU0MDJITzFITjJsTnVlNGpOTGh4MmFTaFRRbU1ELzlsY24vWE5WZmpKRnY5NjRsVEVhc2xlCjFIMGFnMHlYMjdRTnluQ0ZDZTFzWFJsRm9JcDIyVkVVKzZrWTVFTlRJUUtCZ1FEelpTQ1oyM3gyelNnSExDcDEKaUR5OVRQT296OUFCYU8rS045T0Z1eXFXaXdTOXV3dWVuUHZuS0o3T2FSYnhORStYU2lDRFdYMWRHUGVjbFJ4agpYWll0YXA2Z0hRQ1F2blhLODBNWnQreUY2YUVYdGR3REsydHc1ZWVwWkxUbjU4WHl2TC9va3F2NUZyWExkb0c2CmRQcVd4MTFIcTlFS2I2aDJkTTBsMlRnOU9RS0JnUURBS3RXdm5pMDFCeHllS3N4L3Z6TUYyTXVJUmVHcnFqWGoKUVROZ3ROZGtpRHp4OUpFR3BhaG50Tit3OFVSaHJuaTZxbHpvQVlidG90TWNxeE5ydE9rT3EwT1htYVc1WUk2SApsSWVWYkpYZXVabEFJWStDUGlhYzRLUzl3eXJxV2o0KzIzbVhqdm5PYlBrUnVEVGR6eC9HNXRYb3RURTgzVkJPCjdhL3EyaEh1U3dLQmdRQ21oWnZHYUJwQmxaODdPUVpibnpnZk01VEkvRlVOZ2VQUkp0eTY5QkR4S20rMTkxQzkKMWgycVMycExRaThHRzRvUXNoQ0lqU051SEhUY1ZsQXowNFc1ME9aeUdTV1g0aGJwSVlIWkNMTHo4NkhaZlB6bgoxajhONE4yY1VXQk1BWkMyd0ZoMElGVTBlRXNzeHdsK3JpWDhIcTQ5S05vK1Q2SnNXUUU2VWVGZVVRS0JnUUNrCmpVbHoyNWZNZTYyR3h4RmNKcWFUVUNSaEthM25xSllDWnBlUExPdndXelVNM3lhOHNXZjJmZ3k2WUs3MGtra3gKVnFhOXlHajQzbCsyZ2N2Y2hBcTVrL0FLUmZpQ04rdDByN3cyT01oUTgwOEdlbloveWFhWTJVaFljbUl5VVZwUgp5dkJnMW42VXcvMjNyYXdmYjdnL1F2VlRFcXo1K0cxSFdRTTFzTXgvNXdLQmdRRHJldEtpMW1BZHlQWFAyWnlZCnBqMXBLRlZHeERXb3AzbllrV3V6VEtlekEvb2xuWHcranFDb3ZhSlI0ZTZ4d1JaRkNjUkcxYWQwbiszQ2Y4K2sKWCsvQTJFZzBxWHoyRFJkK0RDSHByWWhRVmx1cnNwVDdDMzFWVU1Ba1FOVC9oVkZMQWtBM1lTTVhPbjlUL1piOApCS2VCaW9CWlVuVE9NMjJZSGJqcWIvbzdxdz09Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K

src/snakeoilca.crt.base64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdEakNDQS9hZ0F3SUJBZ0lVQkw0SmFjOWt3dmtKMkNnN0ZzRXFGcmpETjcwd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1ZERUxNQWtHQTFVRUJoTUNWVk14RGpBTUJnTlZCQWdNQlV4dlkyRnNNUXd3Q2dZRFZRUUhEQU5NUVU0eApFVEFQQmdOVkJBb01DRk51WVd0bFQybHNNUlF3RWdZRFZRUUREQXRUYm1GclpVOXBiQzFEUVRBZUZ3MHlOVEV3Ck1UVXdNREF5TVROYUZ3MHpOVEV3TVRNd01EQXlNVE5hTUZReEN6QUpCZ05WQkFZVEFsVlRNUTR3REFZRFZRUUkKREFWTWIyTmhiREVNTUFvR0ExVUVCd3dEVEVGT01SRXdEd1lEVlFRS0RBaFRibUZyWlU5cGJERVVNQklHQTFVRQpBd3dMVTI1aGEyVlBhV3d0UTBFd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUN3CmtpYkltRFBVNktVcGcwdDNGaHlJd3JMTDJ2bWF5ZGxoMXYvbXVlN3hvdW5ZR3o5NklaMHVwTDZLYStGeG5peTcKUVdwVVpOb0RkeXhVNUtZeEFZbG9WdklYWmRmNlFTR3RqUjk5U2tLVjJMMjg0NE4rTmhNZWFpY0lCNDczSHlYOAp0N0pJRXYzYzNpQnN2cnhsTXE3S1hneGd4UXNWRks5dzNaRTNkeFMrWW16MUdBY2RxYWtaUjZVUzNxNTVDNk9PClpZK2pFbGxzT3QzcjFLT1NGM0FGb0lWYjUwRjQvOFJwNmp2citaN2xTbmJzUityUGplMC94cmIwODBpR1B4RWYKZjdoamxFbDJaNlgydGx1OTlmcmxXSFd2d0lWN2lBTUNkQXpxamp4RURLN0RNblppYkZBdW1GaVNOUS9pclk0dQp3Ykt0VGIxeEp1MlhuV251cTRQY1dWVmlBRHVvajdxTVpFVk94VWs2TWJ0VWMxV2pRMFlrVXFNSk9VRFZvNUdzCmozYk9DRTBvRUpwdEcyOFRVQlBPaitITjN2bGNVNUQyUU1xeU85eTQ2NTVoeUlHMXBYc1hVeWJZZklOT09wQTMKMHlGU2VxU0dMZWp6UzlJbkF3NVBxd2d1UklMUGViZVgvcC9uVy8wcjZtOS9QeUtTNjBGbE9ZcStmY1pRL3RzUQorRHdUU3VlYTBpL0hqTjg4VmpjdDFkSXdLUmVPdFAvSlNxb0tOdWhIdmpCNkxYUm8xSGxEd2hzV1FZaWcwbkFGCkhMMThvT3lSNnJjTXJiMGRkVjg3M2RQQkxMT0hHYi9kbmZudHJFK0crWjZyZ1BkaksvT25kYmRyV1lzcFVCOTEKWFQrNUNmVkt3NVhaZWd1L3JGMmFTOCszVy9oQmhSTEVmSG5nMFJBRW93SURBUUFCbzRIWE1JSFVNQThHQTFVZApFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQjBHQTFVZERnUVdCQlNnWWc4dnlZc2lrVmozCmhuVEFYamF2Zm9rSk9UQ0JrUVlEVlIwakJJR0pNSUdHZ0JTZ1lnOHZ5WXNpa1ZqM2huVEFYamF2Zm9rSk9hRlkKcEZZd1ZERUxNQWtHQTFVRUJoTUNWVk14RGpBTUJnTlZCQWdNQlV4dlkyRnNNUXd3Q2dZRFZRUUhEQU5NUVU0eApFVEFQQmdOVkJBb01DRk51WVd0bFQybHNNUlF3RWdZRFZRUUREQXRUYm1GclpVOXBiQzFEUVlJVUJMNEphYzlrCnd2a0oyQ2c3RnNFcUZyakRONzB3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUhFdmc0Ry9KbkNrRXFWVG9vd2cKWGsxRmZ2YTFHMVhYNksrc2JTcUJIbURpenlDb0t1KzE2WHZwMzRhOHlDWGtNdU4rdnVmMHBHMGRWbDJUM2RkaQo2Sy9sUWgzcXNIZ056TzV4TEw5THBuZ3pUUy9rTlFiTEZ0TU03SHNhaGRxYmNaMGFpc2tQMlFHa1JnSGZhRjR4CldKTkF4aFM5WE5mc0VmV1kzSldHNzFIL3F6VkJiU09TRlZTYldBNElsR01ONXNxMWErSEMzc2Nqem9SajZxWSsKckd2R2k5TFF4aVc2cEVmUlZPeTVYdlhQakgrZVowdzhyWXR0dFJuOVNUWHZSa1FPeS96RUdJYWRBVGI5VUhuegpPMWZwWnJWY3FLbWs5TXRXQlIvKzdIenNqVkh2UHh0bkdoSzlDOFZXRlIvNVNhRDRseGJQYlJjeEFUb01uYXJmCkY4QTlEL1ExZkFSS29aNklrUVFNSGF4SlpBMlk2cW1nejhBaEtmZUNVQXJQelE5TXVWdDJvcnp6aEViWlBHUVgKTGdXTnJYTE5hQStSZzMvY3Y3T1RSTnR1NmE1K1hNR0dpM2NWYVNnR082cUNmTGdwVEZ5NU42WU9pRFE0Q0FjcQo3eVgwOHlhZDlzMENvUG5EUHFrN1pXbFhzN2NnNG5MUUhSS3AxQTVPb25wZTN6azRDY1k0bk15TjZ1QnlGeUZPCm5Pc0R0UlZkVW1LRlMwRHNzYnF3OWp1RytQcEFVZzlDcC9DTytvalpmQzBaTmdGNnE1VkM2elZvNVhUaTlPWVUKNFBJcDJic2YrVE9LSUtPTFJacFZDQ0pMYjZEcVNjTWsrUkNzdEt3dE4wdHdtMUZXUmtaNU05SnhhTitLQWtnUgp6YlJtL3o1NFh4RTFEcjREczJEd3kreUoKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=

0 commit comments

Comments
 (0)