Add swift client ssl certificate

refs #762
This commit is contained in:
Roland Winklmeier
2017-01-24 23:12:28 +01:00
committed by Mathew Sutcliffe
parent 578a092b0c
commit 7be604741c
5 changed files with 77 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
<RCC>
<qresource prefix="/blackmisc">
<file>ssl/swiftclient.crt</file>
<file>ssl/swiftclient.key</file>
<file>translations/blackmisc_i18n_de.qm</file>
<file>translations/blackmisc_i18n_fr.qm</file>
<file>translations/blackmisc_i18n_en.qm</file>

View File

@@ -20,7 +20,9 @@
#include <QNetworkInterface>
#include <QNetworkReply>
#include <QObject>
#include <QSslCertificate>
#include <QSslConfiguration>
#include <QSslKey>
#include <QSslSocket>
#include <QTcpSocket>
#include <QTextStream>
@@ -222,6 +224,36 @@ namespace BlackMisc
request.setRawHeader("User-Agent", userAgent.toLatin1());
}
//! \cond PRIVATE
QSslKey loadPrivateSslKey()
{
QFile privateKeyFile(":/blackmisc/ssl/swiftclient.key");
privateKeyFile.open(QIODevice::ReadOnly);
QSslKey privateKey(&privateKeyFile, QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey, QByteArrayLiteral("ead811e4474a29539a37ff766ca18330"));
Q_ASSERT(!privateKey.isNull());
return privateKey;
}
QSslCertificate loadSslCertifcate()
{
QFile certificateFile(":/blackmisc/ssl/swiftclient.crt");
certificateFile.open(QIODevice::ReadOnly);
QSslCertificate certificate(&certificateFile);
Q_ASSERT(!certificate.isNull());
return certificate;
}
//! \endcond
void CNetworkUtils::setSwiftClientSslCertificate(QNetworkRequest &request)
{
static const QSslKey privateKey(loadPrivateSslKey());
static const QSslCertificate certificate(loadSslCertifcate());
QSslConfiguration sslConfiguration = request.sslConfiguration();
sslConfiguration.setPrivateKey(privateKey);
sslConfiguration.setLocalCertificate(certificate);
request.setSslConfiguration(sslConfiguration);
}
QHttpPart CNetworkUtils::getMultipartWithDebugFlag()
{
QHttpPart textPartDebug;

View File

@@ -106,6 +106,9 @@ namespace BlackMisc
//! Set user agent for request
static void setSwiftUserAgent(QNetworkRequest &request);
//! Set swift client ssl certificate
static void setSwiftClientSslCertificate(QNetworkRequest &request);
//! Multipart with DEBUG FLAG for server
static QHttpPart getMultipartWithDebugFlag();

View File

@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDujCCAaICCQDnRkKU8GJDQjANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJE
RTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhQdWNoaGVpbTEWMBQGA1UECgwN
c3dpZnQgcHJvamVjdDEeMBwGA1UEAwwVc3dpZnQgUHJvamVjdCBSb290IENBMB4X
DTE3MDEyNDE5MjcwMVoXDTIwMDEyNDE5MjcwMVowWTELMAkGA1UEBhMCREUxDzAN
BgNVBAgMBkJheWVybjEWMBQGA1UECgwNc3dpZnQgcHJvamVjdDEhMB8GA1UEAwwY
Y2xpZW50LnN3aWZ0LXByb2plY3Qub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
iQKBgQC3e4JMQJvbdaZReuFQ1kx8JQfuPktcuurowp3QdbFMBRah4vJMnl9Nm5ja
YHbQnJ1HUDNY/oMnS1RC6fPIu3BdWFSf5QjQitBxR9gT/F+7B4I+7O3o5fpaJBUy
2aLkZV7o8dd4ZMtDj1nIqmDn0oLexU9mC8PehD9kXeNrkv7D4wIDAQABMA0GCSqG
SIb3DQEBCwUAA4ICAQBjkh4rVWTd9Q3rFugQdjfDOOLuQPQyd7RBBXvqa4vOzWTe
Vxpo494AJlA+RyCSp2pcxsCrJYd4LKUg3LiB4E8fMid/k2rV0UPTPST556zfjNSG
Linjol0DzntXTp9ukINKWjCq23HPNioAl9NS9E/TfTwee8ygzipJr5n00OKb+MNR
rYzOpOPSLd4Pb3erRvFj8ov+DbabNfcW9yDH+EVMuLKxTiXvPKlEcTbuRqglU+/8
WGOJs2dd4eoDs/E3Fd00XDrSp+Ib1QnpLBJKNJS4mxYVb4wqaTs64tjzqmhvThSt
iLz3xRRPsNRK9PWfkCtpTfcZfcTR67NKOqbUwy0IZvROC0idQjnWYdcn6D9nJ5Lf
ezLOnaB69/5fkiD6rL+24R0m7iQfoEC/UydMpk+k+IOMgpvBaXY+dB8y2/6Fok46
5QsRB9NB132i4wA/HlfyiQQJjZTAACLp4wUv2dDUcdiXpuBFpbPmmh3vFzVDLUjH
PoV1sFU8x3z1K5+ZyYgiKayScgEP+96HpOrVT6cGPyRJKgAYPeOMwgiTCxx7qZbZ
Ib4PwEIX3FwuzVR6gPIbj5o1ERqRrw++ntUKjrVK/yEk6N/BKkZeF7Nkfmc/FYQJ
xHSPwLwoT/9csaf6I+o+N0U8SY/BeBDCLJNLYXxa7/Fp/1Hxm4TMEsN3Mti3rg==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,18 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,49D1BC755A1D23B3
3DVjf+GxDZIAlf0NFIg6AGcu1qTLe4K0iRhUqmoV2PAV0cra+2kMqq9B7GGGJXLA
mmyU+WgBItJU+NDfet/0bRfQaaFDB4Ake4A7AlP1eHfvM6UP5N4Qz44HolzJmw9Z
KX0vYDFKkABeblJMEPijIrXAG7LU3FFlzCy//3bqBnEyQaQ51j5AVvhUp2EMaYnT
nHsWRdJqHRSILUVL1KrlMwOgde3N6/zBvkL/+nhwipteGH9LGWfHT+qdIEuu7Keo
vO2owiep6G9FO95iMwsbExjg2nPr9qbEkLtJi2OuBveWhrGFgdUPreShmWC2MEwb
PFUAzoM0jzJMU32rWDqIkYnGbBPEapZcgx6j4QYsTwdBgBzVeeMJd37iezjL/uPI
yc+MHaDO7Z6WhykH6seWAmA5T9OFg0unmQttRsJrXYhjLC5Qw9KTG7PAOL/SGs6n
JMOF5J7Q3ljLNbFjGqnqlPQj2JTf+Bvs1mWi2m/GnTuhT9YNr766e9/wQjtSolMC
ATJEK5QkzMWtR8fDfol7aBjiYlptZOmOzRoBDaxlpsS8Huv5leevjY/8Il07+Qkw
LGClxTCda5JXN8q0E8xDGhiQBVYJqBpjtyDt2lZM4opx6wqYBiNkXrfTzLij5EkM
Rp1MpTZEK/wWZ982yC5ymUChaMP8BKDJT4I7kNzIqqVoi2WvRDtF4X5qeE30Y+uz
VSqnrFrvrEAz0ZWN0aCEv5aTnUwgPm+2qxTgTwT4u+sY3u5k3M5LAhzs4jBx0sqL
IU/4/YWNju0YsN+RXhKUpg4kFP2/bXLJOFYJ4yFPkAeXSwZJ0lF3Kg==
-----END RSA PRIVATE KEY-----