bool App::askSslPassphrasePromptDialog(ConnectionSettings *connSettings) const { auto sslSettings = connSettings->sslSettings(); bool ok = false; std::stringstream s; s << "In order to continue, please provide the passphrase"; s << "." << std::endl << std::endl; s << "Server: " << connSettings->serverHost() << ":" << connSettings->serverPort() << std::endl; s << "PEM file: " << sslSettings->pemKeyFile() << std::endl; s << std::endl << "Enter your PEM key passphrase (will never be stored):"; QString userInput = QInputDialog::getText(NULL, tr("SSL Authentication"), QtUtils::toQString(s.str()), QLineEdit::Password, "", &ok); if (!ok) { return false; } sslSettings->setPemPassPhrase(QtUtils::toStdString(userInput)); return ok; }
QVariant SslSettings::toVariant() const { QVariantMap map; map.insert("sslEnabled", sslEnabled()); map.insert("caFile", QtUtils::toQString(caFile())); map.insert("usePemFile", usePemFile()); map.insert("pemKeyFile", QtUtils::toQString(pemKeyFile())); map.insert("pemPassPhraseEncrypted", pemPassPhrase().empty() ? "" : QtUtils::toQString(RoboCrypt::encrypt(pemPassPhrase()))); map.insert("useAdvancedOptions", useAdvancedOptions()); map.insert("crlFile", QtUtils::toQString(crlFile())); map.insert("allowInvalidHostnames", allowInvalidHostnames()); map.insert("allowInvalidCertificates", allowInvalidCertificates()); map.insert("askPassphrase", askPassphrase()); return map; }