From b6f69206548f7bd15c72ba35d7c2e3b66b1abb7a Mon Sep 17 00:00:00 2001 From: Samuel Gaist Date: Mon, 12 Jun 2017 23:23:48 +0200 Subject: Change qrand() to QRandomGenerator in the SSL backend Change-Id: I631649b2ad8d9c2c766e99a12f7ff3a39c79cc7d Reviewed-by: Timur Pocheptsov --- src/network/ssl/qsslkey_qt.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/network/ssl') diff --git a/src/network/ssl/qsslkey_qt.cpp b/src/network/ssl/qsslkey_qt.cpp index 3c5dc830d3..6716c0158b 100644 --- a/src/network/ssl/qsslkey_qt.cpp +++ b/src/network/ssl/qsslkey_qt.cpp @@ -43,6 +43,7 @@ #include #include +#include QT_USE_NAMESPACE @@ -286,10 +287,8 @@ QByteArray QSslKeyPrivate::toPem(const QByteArray &passPhrase) const if (type == QSsl::PrivateKey && !passPhrase.isEmpty()) { // ### use a cryptographically secure random number generator - QByteArray iv; - iv.resize(8); - for (int i = 0; i < iv.size(); ++i) - iv[i] = (qrand() & 0xff); + quint64 random = QRandomGenerator::generate64(); + QByteArray iv = QByteArray::fromRawData(reinterpret_cast(&random), sizeof(random)); Cipher cipher = DesEde3Cbc; const QByteArray key = deriveKey(cipher, passPhrase, iv); -- cgit v1.2.3