14 QByteArray pem(der.toBase64());
16 const int lineWidth = 64;
17 const int newLines = pem.size() / lineWidth;
18 const bool rem = pem.size() % lineWidth;
20 for (
int i = 0; i < newLines; ++i)
21 pem.insert((i + 1) * lineWidth + i,
'\n');
26 if (!headers.isEmpty()) {
27 QMap<QByteArray, QByteArray>::const_iterator it = headers.constEnd();
30 extra += it.key() +
": " + it.value() +
'\n';
31 }
while (it != headers.constBegin());
35 if (isEncryptedPkcs8(der)) {
36 pem.prepend(pkcs8Header(
true) +
'\n' + extra);
37 pem.append(pkcs8Footer(
true) +
'\n');
39 pem.prepend(pkcs8Header(
false) +
'\n' + extra);
40 pem.append(pkcs8Footer(
false) +
'\n');
42 pem.prepend(pemHeader() +
'\n' + extra);
43 pem.append(pemFooter() +
'\n');
65 static const QList<QByteArray> pbes1OIds {
74 const auto items = elem.toList();
81 const auto encryptionSchemeContainer = items[0].toList();
82 if (encryptionSchemeContainer.size() != 2
88 const QByteArray encryptionScheme = encryptionSchemeContainer[0].toObjectId();
90 || pbes1OIds.contains(encryptionScheme)