WinRT: Add support for AES-encrypted keys
Task-number: QTBUG-54422 Change-Id: Icbf2b153edacb348e475d6adb9aecb63519874de Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
parent
921fa344e1
commit
03ada0217c
@ -413,14 +413,12 @@ void QSslKeyPrivate::decodePem(const QByteArray &pem, const QByteArray &passPhra
|
||||
cipher = DesEde3Cbc;
|
||||
} else if (dekInfo.first() == "RC2-CBC") {
|
||||
cipher = Rc2Cbc;
|
||||
#if defined(QT_SECURETRANSPORT) || QT_CONFIG(schannel)
|
||||
} else if (dekInfo.first() == "AES-128-CBC") {
|
||||
cipher = Aes128Cbc;
|
||||
} else if (dekInfo.first() == "AES-192-CBC") {
|
||||
cipher = Aes192Cbc;
|
||||
} else if (dekInfo.first() == "AES-256-CBC") {
|
||||
cipher = Aes256Cbc;
|
||||
#endif // QT_SECURETRANSPORT || schannel
|
||||
} else {
|
||||
clear(deepClear);
|
||||
return;
|
||||
|
@ -83,6 +83,15 @@ struct SslKeyGlobal
|
||||
hr = keyProviderFactory->OpenAlgorithm(HString::MakeReference(L"RC2_CBC").Get(),
|
||||
&keyProviders[QSslKeyPrivate::Rc2Cbc]);
|
||||
Q_ASSERT_SUCCEEDED(hr);
|
||||
hr = keyProviderFactory->OpenAlgorithm(HString::MakeReference(L"AES_CBC").Get(),
|
||||
&keyProviders[QSslKeyPrivate::Aes128Cbc]);
|
||||
Q_ASSERT_SUCCEEDED(hr);
|
||||
hr = keyProviderFactory->OpenAlgorithm(HString::MakeReference(L"AES_CBC").Get(),
|
||||
&keyProviders[QSslKeyPrivate::Aes192Cbc]);
|
||||
Q_ASSERT_SUCCEEDED(hr);
|
||||
hr = keyProviderFactory->OpenAlgorithm(HString::MakeReference(L"AES_CBC").Get(),
|
||||
&keyProviders[QSslKeyPrivate::Aes256Cbc]);
|
||||
Q_ASSERT_SUCCEEDED(hr);
|
||||
|
||||
hr = GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Security_Cryptography_CryptographicBuffer).Get(),
|
||||
&bufferFactory);
|
||||
|
@ -474,11 +474,11 @@ void tst_QSslKey::passphraseChecks_data()
|
||||
QTest::newRow("DES") << QString(testDataDir + "rsa-with-passphrase-des.pem") << pass;
|
||||
QTest::newRow("3DES") << QString(testDataDir + "rsa-with-passphrase-3des.pem") << pass;
|
||||
QTest::newRow("RC2") << QString(testDataDir + "rsa-with-passphrase-rc2.pem") << pass;
|
||||
#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || defined(QT_SECURETRANSPORT) || QT_CONFIG(schannel)
|
||||
#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
|
||||
QTest::newRow("AES128") << QString(testDataDir + "rsa-with-passphrase-aes128.pem") << aesPass;
|
||||
QTest::newRow("AES192") << QString(testDataDir + "rsa-with-passphrase-aes192.pem") << aesPass;
|
||||
QTest::newRow("AES256") << QString(testDataDir + "rsa-with-passphrase-aes256.pem") << aesPass;
|
||||
#endif
|
||||
#endif // (OpenSSL && AES) || generic backend
|
||||
}
|
||||
|
||||
void tst_QSslKey::passphraseChecks()
|
||||
|
Loading…
x
Reference in New Issue
Block a user