Constify fload() fromPEM_BIO() fromPEMbyteArray()

Use "BIO_from_QByteArray()" instead of "BIO_new_mem_buf()"

Replace qSort() by std::sort()
Replace QString::null by QString()
This commit is contained in:
Christian Hohnstaedt 2020-01-06 21:14:06 +01:00
parent 8726c8b96d
commit 1ea45c8da4
24 changed files with 55 additions and 54 deletions

View File

@ -76,9 +76,9 @@ static inline QString htmlEscape(const QString &html)
#endif
}
static inline BIO *BIO_from_QByteArray(QByteArray &ba)
static inline BIO *BIO_from_QByteArray(const QByteArray &ba)
{
return BIO_new_mem_buf(ba.data(), ba.length());
return BIO_new_mem_buf((void*)ba.constData(), ba.length());
}
QString appendXcaComment(QString current, QString msg);

View File

@ -21,7 +21,7 @@ load_base::load_base()
caption = "";
}
pki_base *load_base::loadItem(QString s)
pki_base *load_base::loadItem(const QString &s)
{
pki_base *pki = newItem();
if (!pki)
@ -110,7 +110,7 @@ load_pkcs12::load_pkcs12()
caption = QObject::tr("Import PKCS#12 Private Certificate");
}
pki_base * load_pkcs12::loadItem(QString s)
pki_base * load_pkcs12::loadItem(const QString &s)
{
pki_base *p12 = new pki_pkcs12(s);
return p12;

View File

@ -20,7 +20,7 @@ class load_base
QString caption;
load_base();
virtual ~load_base();
virtual pki_base *loadItem(QString s);
virtual pki_base *loadItem(const QString &s);
virtual pki_base *newItem();
};
@ -56,7 +56,7 @@ class load_pkcs12: public load_base
{
public:
load_pkcs12();
pki_base *loadItem(QString s);
pki_base *loadItem(const QString &s);
};
class load_temp: public load_base

View File

@ -47,8 +47,8 @@ void pki_base::autoIntName(const QString &file)
void pki_base::deleteFromToken() { }
void pki_base::deleteFromToken(slotid) { }
void pki_base::writeDefault(const QString&) const { }
void pki_base::fromPEM_BIO(BIO *, QString) { }
void pki_base::fload(const QString) { }
void pki_base::fromPEM_BIO(BIO *, const QString &) { }
void pki_base::fload(const QString &) { }
int pki_base::renameOnToken(slotid, QString)
{
return 0;
@ -127,9 +127,9 @@ void pki_base::my_error(const QString &error) const
}
void pki_base::fromPEMbyteArray(QByteArray &ba, QString name)
void pki_base::fromPEMbyteArray(const QByteArray &ba, const QString &name)
{
BIO *bio = BIO_new_mem_buf(ba.data(), ba.length());
BIO *bio = BIO_from_QByteArray(ba);
fromPEM_BIO(bio, name);
BIO_free(bio);
autoIntName(name);

View File

@ -135,9 +135,9 @@ class pki_base : public QObject
/* Import / Export management */
virtual BIO *pem(BIO *, int format=0);
virtual void fromPEM_BIO(BIO *, QString);
virtual void fromPEMbyteArray(QByteArray &, QString);
virtual void fload(const QString);
virtual void fromPEM_BIO(BIO *, const QString &);
virtual void fromPEMbyteArray(const QByteArray &, const QString &);
virtual void fload(const QString &);
virtual void writeDefault(const QString&) const;
/* Old database management methods */

View File

@ -40,7 +40,7 @@ void pki_crl::setIssuer(pki_x509 *iss)
issuerSqlId = iss ? iss->getSqlItemId() : QVariant();
}
void pki_crl::fromPEM_BIO(BIO *bio, QString name)
void pki_crl::fromPEM_BIO(BIO *bio, const QString &name)
{
X509_CRL *_crl;
_crl = PEM_read_bio_X509_CRL(bio, NULL, NULL, NULL);
@ -131,7 +131,7 @@ QSqlError pki_crl::deleteSqlData()
return q.lastError();
}
void pki_crl::fload(const QString fname)
void pki_crl::fload(const QString &fname)
{
X509_CRL *_crl;
XFile file(fname);

View File

@ -31,8 +31,8 @@ class pki_crl: public pki_x509name
public:
pki_crl(const QString name = "");
~pki_crl();
void fromPEM_BIO(BIO *bio, QString name);
void fload(const QString fname);
void fromPEM_BIO(BIO *bio, const QString &name);
void fload(const QString &fname);
QString getSigAlg() const;
void writeDefault(const QString &dirname) const;
static QPixmap *icon;

View File

@ -241,9 +241,9 @@ void pki_evp::openssl_pw_error(QString fname)
}
}
void pki_evp::fromPEMbyteArray(QByteArray &ba, QString name)
void pki_evp::fromPEMbyteArray(const QByteArray &ba, const QString &name)
{
BIO *bio = BIO_new_mem_buf(ba.data(), ba.length());
BIO *bio = BIO_from_QByteArray(ba);
EVP_PKEY *pkey;
pass_info p(XCA_TITLE,
tr("Please enter the password to decrypt the private key.") +
@ -253,7 +253,7 @@ void pki_evp::fromPEMbyteArray(QByteArray &ba, QString name)
if (!pkey) {
pki_ign_openssl_error();
BIO_free(bio);
bio = BIO_new_mem_buf(ba.data(), ba.length());
bio = BIO_from_QByteArray(ba);
pkey = PEM_read_bio_PUBKEY(bio, NULL, PwDialog::pwCallback, &p);
}
BIO_free(bio);
@ -317,7 +317,7 @@ void pki_evp::set_EVP_PKEY(EVP_PKEY *pkey, QString name)
pki_openssl_error();
}
void pki_evp::fload(const QString fname)
void pki_evp::fload(const QString &fname)
{
pass_info p(XCA_TITLE, tr("Please enter the password to decrypt the private key from file:\n%1").
arg(compressFilename(fname)));

View File

@ -61,8 +61,8 @@ class pki_evp: public pki_key
EVP_PKEY *priv2pub(EVP_PKEY* key);
static QString removeTypeFromIntName(QString n);
void fromPEMbyteArray(QByteArray &ba, QString name);
void fload(const QString fname);
void fromPEMbyteArray(const QByteArray &ba, const QString &name);
void fload(const QString &fname);
void writeDefault(const QString &dirname) const;
void fromData(const unsigned char *p, db_header_t *head);
void writeKey(XFile &file, const EVP_CIPHER *enc,

View File

@ -88,7 +88,7 @@ static pki_base *pkiByPEM(QString text, int *skip)
return NULL;
}
void pki_multi::fload(const QString fname)
void pki_multi::fload(const QString &fname)
{
XFile file(fname);
QByteArray ba;
@ -98,10 +98,11 @@ void pki_multi::fload(const QString fname)
fromPEMbyteArray(ba, fname);
};
void pki_multi::fromPEMbyteArray(QByteArray &ba, QString name)
void pki_multi::fromPEMbyteArray(const QByteArray &_ba, const QString &name)
{
pki_base *item = NULL;
int startpos;
QByteArray ba = _ba;
for (;;) {
try {
item = pkiByPEM(QString::fromLatin1(ba), &startpos);
@ -124,7 +125,7 @@ void pki_multi::fromPEMbyteArray(QByteArray &ba, QString name)
throw errorEx(tr("No known PEM encoded items found"));
}
void pki_multi::probeAnything(const QString fname)
void pki_multi::probeAnything(const QString &fname)
{
pki_base *item = NULL;
load_base *lb;

View File

@ -23,9 +23,9 @@ class pki_multi: public pki_base
public:
pki_multi(const QString name = "");
~pki_multi();
void fromPEMbyteArray(QByteArray &ba, QString name);
void fload(const QString fname);
void probeAnything(const QString fname);
void fromPEMbyteArray(const QByteArray &, const QString &);
void fload(const QString &fname);
void probeAnything(const QString &fname);
pki_base *pull();
int count() const
{

View File

@ -16,7 +16,7 @@
#include "openssl_compat.h"
pki_pkcs12::pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey)
pki_pkcs12::pki_pkcs12(const QString &d, pki_x509 *acert, pki_evp *akey)
:pki_base(d)
{
key = new pki_evp(akey);
@ -25,7 +25,7 @@ pki_pkcs12::pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey)
pki_openssl_error();
}
pki_pkcs12::pki_pkcs12(const QString fname)
pki_pkcs12::pki_pkcs12(const QString &fname)
:pki_base(fname)
{
Passwd pass;

View File

@ -30,8 +30,8 @@ class pki_pkcs12: public pki_base
STACK_OF(X509) *certstack;
public:
pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey);
pki_pkcs12(const QString fname);
pki_pkcs12(const QString &d, pki_x509 *acert, pki_evp *akey);
pki_pkcs12(const QString &fname);
~pki_pkcs12();
void addCaCert(pki_x509 *acert);

View File

@ -133,7 +133,7 @@ int pki_pkcs7::numCert()
}
void pki_pkcs7::fromPEM_BIO(BIO *bio, QString name)
void pki_pkcs7::fromPEM_BIO(BIO *bio, const QString &name)
{
PKCS7 *_p7 = PEM_read_bio_PKCS7(bio, NULL, NULL, NULL);
openssl_error(name);
@ -143,7 +143,7 @@ void pki_pkcs7::fromPEM_BIO(BIO *bio, QString name)
autoIntName(name);
}
void pki_pkcs7::fload(const QString fname)
void pki_pkcs7::fload(const QString &fname)
{
PKCS7 *_p7;
XFile file(fname);

View File

@ -27,8 +27,8 @@ class pki_pkcs7: public pki_base
void signCert(pki_x509 *crt, pki_x509 *contCert);
void encryptFile(pki_x509 *crt, QString filename);
void writeP7(XFile &file, bool PEM) const;
void fromPEM_BIO(BIO *bio, QString name);
void fload(const QString fname);
void fromPEM_BIO(BIO *bio, const QString &name);
void fload(const QString &fname);
pki_x509 *getCert(int x);
void addCert(pki_x509 *crt);
int numCert(); // number of certs;

View File

@ -431,7 +431,7 @@ void pki_temp::try_fload(XFile &file, const char *mode)
pki_openssl_error();
}
void pki_temp::fload(QString fname)
void pki_temp::fload(const QString &fname)
{
try {
XFile file(fname);
@ -450,7 +450,7 @@ void pki_temp::fload(QString fname)
}
}
void pki_temp::fromPEM_BIO(BIO *bio, QString name)
void pki_temp::fromPEM_BIO(BIO *bio, const QString &name)
{
QByteArray ba;
QString msg;

View File

@ -61,7 +61,7 @@ class pki_temp: public pki_x509name
}
pki_temp(const pki_temp *pk);
pki_temp(const QString d = QString());
void fload(const QString fname);
void fload(const QString &fname);
void writeDefault(const QString &dirname) const ;
~pki_temp();
void fromData(const unsigned char *p, int size, int version);
@ -89,7 +89,7 @@ class pki_temp: public pki_x509name
}
BIO *pem(BIO *b, int format);
QByteArray toExportData() const;
void fromPEM_BIO(BIO *, QString);
void fromPEM_BIO(BIO *, const QString &);
void fromExportData(QByteArray data);
extList fromCert(pki_x509super *cert_or_req);
QSqlError insertSqlData();

View File

@ -194,16 +194,16 @@ pki_x509 *pki_x509::findIssuer()
return NULL;
}
void pki_x509::fromPEM_BIO(BIO *bio, QString)
void pki_x509::fromPEM_BIO(BIO *bio, const QString &fname)
{
X509 *_cert;
_cert = PEM_read_bio_X509(bio, NULL, NULL, NULL);
pki_openssl_error();
openssl_error(fname);
X509_free(cert);
cert = _cert;
}
void pki_x509::fload(const QString fname)
void pki_x509::fload(const QString &fname)
{
X509 *_cert;
XFile file(fname);

View File

@ -61,10 +61,10 @@ class pki_x509 : public pki_x509super
{
issuerSqlId = s ? s->getSqlItemId() : QVariant();
}
void fload(const QString fname);
void fload(const QString &fname);
void load_token(pkcs11 &p11, CK_OBJECT_HANDLE object);
void store_token(bool alwaysSelect);
void fromPEM_BIO(BIO *bio, QString name);
void fromPEM_BIO(BIO *bio, const QString &name);
void writeDefault(const QString &dirname) const;
a1int hashInfo(const EVP_MD *md) const;
void setSerial(const a1int &serial);

View File

@ -152,7 +152,7 @@ QString pki_x509req::getMsg(msg_type msg) const
return pki_base::getMsg(msg);
}
void pki_x509req::fromPEM_BIO(BIO *bio, QString name)
void pki_x509req::fromPEM_BIO(BIO *bio, const QString &name)
{
X509_REQ *req;
req = PEM_read_bio_X509_REQ(bio, NULL, NULL, NULL);
@ -161,7 +161,7 @@ void pki_x509req::fromPEM_BIO(BIO *bio, QString name)
request = req;
}
void pki_x509req::fload(const QString fname)
void pki_x509req::fload(const QString &fname)
{
X509_REQ *_req;
XFile file(fname);

View File

@ -34,8 +34,8 @@ class pki_x509req : public pki_x509super
extList getV3ext() const;
static QPixmap *icon[3];
pki_x509req(QString name = "");
void fromPEM_BIO(BIO *bio, QString name);
void fload(const QString fname);
void fromPEM_BIO(BIO *bio, const QString &name);
void fload(const QString &fname);
void writeDefault(const QString &dirname) const;
~pki_x509req();
void fromData(const unsigned char *p, db_header_t *head);

View File

@ -80,7 +80,7 @@ QString x509name::getEntryByNid(int nid) const
{
int i = X509_NAME_get_index_by_NID(xn, nid, -1);
if (i < 0)
return QString::null;
return QString();
return getEntry(i);
}
@ -131,7 +131,7 @@ QString x509name::popEntryByNid(int nid)
{
int i = X509_NAME_get_index_by_NID(xn, nid, -1);
if (i < 0)
return QString::null;
return QString();
QString n = getEntry(i);
X509_NAME_delete_entry(xn, i);
return n;

View File

@ -207,7 +207,7 @@ extList NewX509::getAdvanced()
return elist;
QByteArray cs = conf_str.toLatin1();
bio = BIO_new_mem_buf(cs.data(), cs.length());
bio = BIO_from_QByteArray(cs);
if (!bio)
return elist;
conf = NCONF_new(NULL);

View File

@ -195,7 +195,7 @@ Revocation::Revocation(QWidget *w, QModelIndexList indexes) : QDialog(w)
(idx.internalPointer());
serials << cert->getSerial();
}
qSort(serials.begin(), serials.end());
std::sort(serials.begin(), serials.end());
foreach(a1int a, serials)
sl << a;
serial->setToolTip(sl.join("\n"));