Implemented PKP and BKP code generation. Certificate path temporary hardcoded.

This commit is contained in:
2017-01-11 21:38:05 +01:00
parent 47b89cfa61
commit 1fd6bfde3e
5 changed files with 120 additions and 4 deletions
+48 -2
View File
@@ -18,7 +18,32 @@ EetTemplate::EetTemplate(const QString &tmp, QObject *parent) : QObject(parent)
QString EetTemplate::fillTemplate(EetRequest *request)
{
return fillTemplateInternal(request, nullptr);
m_template = fillTemplateInternal(request, nullptr);
QString pkp = getPkpString(request);
QByteArray signedPkp = m_signer.signData(pkp.toUtf8());
QByteArray sha1Bkp = m_signer.sha1HashData(signedPkp);
QString base64Sign(signedPkp.toBase64());
QString base16bkp(sha1Bkp.toHex());
QString splitedBkp;
for (int i = 0; i < base16bkp.length(); i++)
{
if (i > 0 && i % 8 == 0)
{
splitedBkp += "-";
}
splitedBkp += base16bkp[i];
}
QMap<QString, QString> varMap;
varMap["pkp"] = base64Sign;
varMap["bkp"] = splitedBkp.toUpper();
return fillTemplate(varMap);
}
QString EetTemplate::fillTemplate(QMap<QString, QString> map)
@@ -69,7 +94,17 @@ QString EetTemplate::fillTemplateInternal(EetRequest *request, QMap<QString, QSt
if (value != NULL_VAL)
{
QString attrib = QString("%1=\"%2\"").arg(var, value);
QString attrib;
if (request != NULL)
{
attrib = QString("%1=\"%2\"").arg(var, value);
}
else
{
attrib = value;
}
ret += attrib;
}
@@ -78,3 +113,14 @@ QString EetTemplate::fillTemplateInternal(EetRequest *request, QMap<QString, QSt
return ret;
}
QString EetTemplate::getPkpString(EetRequest *request)
{
QString ret = QString("%1|%2|%3|%4|%5|%6").arg(request->property("dic_popl").toString(),
request->property("id_provoz").toString(),
request->property("id_pokl").toString(),
request->property("porad_cis").toString(),
request->property("dat_trzby").toString(),
request->property("celk_trzba").toString());
return ret;
}