void LoginManager::processNewPassword(const QString& aLine, Client &aClient) { if(aLine.length() == 0) { aClient.printRawLine("The password can not be empty!"); aClient.printRawLine("Enter a password for this account: "); state_ = ELoginStateNewPassword; return; } auto account = getAccountOrDie(aClient); if(!account) return; account->setPassword(aLine); aClient.printRawLine("Confirm password: "); state_ = ELoginStateConfirmPassword; }
void TestKeePass2Format::initTestCase() { QVERIFY(Crypto::init()); // read raw XML database bool hasError; QString errorString; m_xmlDb = readXml(QString(KEEPASSX_TEST_DATA_DIR).append("/NewDatabase.xml"), true, hasError, errorString); if (hasError) { QFAIL(qPrintable(QString("Error while reading XML: ").append(errorString))); } QVERIFY(m_xmlDb.data()); // construct and write KDBX to buffer auto key = QSharedPointer<CompositeKey>::create(); key->addKey(QSharedPointer<PasswordKey>::create("test")); m_kdbxSourceDb = QSharedPointer<Database>::create(); m_kdbxSourceDb->setKey(key); m_kdbxSourceDb->metadata()->setName("TESTDB"); Group* group = m_kdbxSourceDb->rootGroup(); group->setUuid(QUuid::createUuid()); group->setNotes("I'm a note!"); auto entry = new Entry(); entry->setPassword(QString::fromUtf8("\xc3\xa4\xa3\xb6\xc3\xbc\xe9\x9b\xbb\xe7\xb4\x85")); entry->setUuid(QUuid::createUuid()); entry->attributes()->set("test", "protectedTest", true); QVERIFY(entry->attributes()->isProtected("test")); entry->attachments()->set("myattach.txt", QByteArray("this is an attachment")); entry->attachments()->set("aaa.txt", QByteArray("also an attachment")); entry->setGroup(group); auto groupNew = new Group(); groupNew->setUuid(QUuid::createUuid()); groupNew->setName("TESTGROUP"); groupNew->setNotes("I'm a sub group note!"); groupNew->setParent(group); m_kdbxTargetBuffer.open(QBuffer::ReadWrite); writeKdbx(&m_kdbxTargetBuffer, m_kdbxSourceDb.data(), hasError, errorString); if (hasError) { QFAIL(qPrintable(QString("Error while writing database: ").append(errorString))); } // call sub class init method initTestCaseImpl(); }
QString MUsers::changePassword(QString userId, QString oldPass, QString newPass, QString rePass) { QSqlQuery qry; qry.exec("select upassword from users where id = "+ userId); if (! qry.next()) return false; if (qry.value(0).toString() != QCryptographicHash::hash(oldPass.toUtf8(), QCryptographicHash::Sha1).toHex()) return QObject::tr("Invalid Old Password."); if (newPass != rePass) return QObject::tr("New password must exact matches with retyped one."); QString msg = setPassword(userId, newPass); if (! msg.isEmpty()) return msg; return QObject::tr("Password Changed."); }
void FacebookAddAccountWidget::apply() { auto facebookAccount = m_accountStorage->create("facebook"); facebookAccount.setId(m_username->text()); facebookAccount.setPassword(m_password->text()); facebookAccount.setHasPassword(!m_password->text().isEmpty()); facebookAccount.setRememberPassword(m_rememberPassword->isChecked()); // bad code: order of calls is important here // we have to set identity after password // so in cache of identity status container it already knows password and can do status change without asking user // for it facebookAccount.setAccountIdentity(m_identity->currentIdentity()); resetGui(); emit accountCreated(facebookAccount); }
void DbUtil::databaseLogin(const char* system, const char* usr, const char* password, unsigned int portIn, const char* sockIn, bool transactional) { if (!(m_mysql = mysql_init(NULL))) { myerror("DB Login-> mysql_init() failed"); exit(DBU_FAILED); } setUser(usr); setHost(system); setPassword(password); setPort(portIn); setSocket(sockIn); if (!(mysql_real_connect(m_mysql, m_host.c_str(), m_user.c_str(), m_pass.c_str(), "test", m_port, m_socket.c_str(), 0))) { myerror("connection failed"); mysql_close(m_mysql); exit(DBU_FAILED); } m_mysql->reconnect = TRUE; /* set AUTOCOMMIT */ if(!transactional) mysql_autocommit(m_mysql, TRUE); else mysql_autocommit(m_mysql, FALSE); #ifdef DEBUG printf("\n\tConnected to MySQL server version: %s (%lu)\n\n", mysql_get_server_info(m_mysql), (unsigned long) mysql_get_server_version(m_mysql)); #endif selectDb(); }
void Settings::reset() { if (!getSignedIn()) { setLastUpdateDate(0); setDashboardInUse(""); setPassword(""); setHelpDone(false); setCookie(""); setTwitterCookie(""); setAuthUrl(""); setHint1Done(false); setCachingMode(0); setRetentionDays(14); setSyncRead(false); setProvider(""); setUserId(""); setShowBroadcast(true); } }
SSLClient::SSLClient() : _hostname("localhost"), _calist(rc.getRootCert()), _keyfile(rc.getCertFile()), _rootpath(rc.getCertDir()), _need_server_auth(true) { GNASH_REPORT_FUNCTION; // setPort(SSL_PORT); setPassword("foobar"); // Initialize SSL library SSL_library_init(); RAND_load_file("/dev/urandom", 1024); // Load the error strings so the SSL_error_*() functions work SSL_load_error_strings(); }
void CWizardIrcConnection::setConnection( const ConnectionInfo& connection ) { if ( !connection.nick.isEmpty() ) { setNickName( connection.nick ); } else { setNickName( quazaaSettings.Profile.IrcNickname ); } if ( !connection.real.isEmpty() ) { setRealName( connection.real ); } else { setRealName( quazaaSettings.Profile.IrcUserName ); } if ( !connection.host.isEmpty() ) { setHostName( connection.host ); } else { setHostName( "irc.paradoxirc.net" ); } if ( connection.port ) { setPort( connection.port ); } else { setPort( 6667 ); } setSecure( connection.secure ); setUserName( connection.user ); setPassword( connection.pass ); setConnectionName( connection.name ); }
Client::Client(QObject *parent) : Vreen::Client(parent) { connect(this, SIGNAL(onlineStateChanged(bool)), this, SLOT(onOnlineStateChanged(bool))); QSettings settings; settings.beginGroup("connection"); setLogin(settings.value("login").toString()); setPassword(settings.value("password").toString()); settings.endGroup(); auto manager = new QNetworkConfigurationManager(this); connect(manager, SIGNAL(onlineStateChanged(bool)), this, SLOT(setOnline(bool))); connect(longPoll(), SIGNAL(messageAdded(Vreen::Message)), SLOT(onMessageAdded(Vreen::Message))); connect(this, SIGNAL(replyCreated(Vreen::Reply*)), SLOT(onReplyCreated(Vreen::Reply*))); connect(this, SIGNAL(error(Vreen::Client::Error)), SLOT(onReplyError(Vreen::Client::Error))); }
void User::fromJson(nlohmann::json& val) { if(val.find("id") != val.end()) { setId(val.at("id")); } if(val.find("username") != val.end()) { setUsername(val.at("username")); } if(val.find("firstName") != val.end()) { setFirstName(val.at("firstName")); } if(val.find("lastName") != val.end()) { setLastName(val.at("lastName")); } if(val.find("email") != val.end()) { setEmail(val.at("email")); } if(val.find("password") != val.end()) { setPassword(val.at("password")); } if(val.find("phone") != val.end()) { setPhone(val.at("phone")); } if(val.find("userStatus") != val.end()) { setUserStatus(val.at("userStatus")); } }
/* [noscript] long encrypt (in buffer data, in long dataLen, out buffer result); */ NS_IMETHODIMP nsSecretDecoderRing:: Encrypt(unsigned char * data, PRInt32 dataLen, unsigned char * *result, PRInt32 *_retval) { nsNSSShutDownPreventionLock locker; nsresult rv = NS_OK; PK11SlotInfo *slot = 0; PK11SlotInfoCleaner tmpSlotCleaner(slot); SECItem keyid; SECItem request; SECItem reply; SECStatus s; nsCOMPtr<nsIInterfaceRequestor> ctx = new nsSDRContext(); if (!ctx) { rv = NS_ERROR_OUT_OF_MEMORY; goto loser; } slot = PK11_GetInternalKeySlot(); if (!slot) { rv = NS_ERROR_NOT_AVAILABLE; goto loser; } /* Make sure token is initialized. */ rv = setPassword(slot, ctx); if (NS_FAILED(rv)) goto loser; /* Force authentication */ s = PK11_Authenticate(slot, true, ctx); if (s != SECSuccess) { rv = NS_ERROR_FAILURE; goto loser; } /* Use default key id */ keyid.data = 0; keyid.len = 0; request.data = data; request.len = dataLen; reply.data = 0; reply.len = 0; s= PK11SDR_Encrypt(&keyid, &request, &reply, ctx); if (s != SECSuccess) { rv = NS_ERROR_FAILURE; goto loser; } *result = reply.data; *_retval = reply.len; loser: return rv; }
void CoreAccount::fromVariantMap(const QVariantMap &v) { setAccountId((AccountId)v.value("AccountId").toInt()); setAccountName(v.value("AccountName").toString()); setUuid(QUuid(v.value("Uuid").toString())); setInternal(v.value("Internal").toBool()); setUser(v.value("User").toString()); setPassword(v.value("Password").toString()); setStorePassword(v.value("StorePassword").toBool()); setHostName(v.value("HostName").toString()); setPort(v.value("Port").toUInt()); setUseSsl(v.value("UseSSL").toBool()); setProxyType((QNetworkProxy::ProxyType)v.value("ProxyType").toInt()); setProxyUser(v.value("ProxyUser").toString()); setProxyPassword(v.value("ProxyPassword").toString()); setProxyHostName(v.value("ProxyHostName").toString()); setProxyPort(v.value("ProxyPort").toUInt()); _storePassword = !password().isEmpty(); }
void KPasswordDialog::setKnownLogins(const QMap<QString, QString> &knownLogins) { const int nr = knownLogins.count(); if (nr == 0) { return; } if (nr == 1) { d->ui.userEdit->setText(knownLogins.begin().key()); setPassword(knownLogins.begin().value()); return; } Q_ASSERT(!d->ui.userEdit->isReadOnly()); if (!d->userEditCombo) { int row = -1; QFormLayout::ItemRole userEditRole = QFormLayout::FieldRole; d->ui.formLayout->getWidgetPosition(d->ui.userEdit, &row, &userEditRole); d->ui.formLayout->removeWidget(d->ui.userEdit); delete d->ui.userEdit; d->userEditCombo = new QComboBox(d->ui.credentialsGroup); d->userEditCombo->setEditable(true); d->ui.userEdit = d->userEditCombo->lineEdit(); d->ui.userNameLabel->setBuddy(d->userEditCombo); d->ui.formLayout->setWidget(row > -1 ? row : 0, userEditRole, d->userEditCombo); setTabOrder(d->ui.userEdit, d->ui.anonymousRadioButton); setTabOrder(d->ui.anonymousRadioButton, d->ui.domainEdit); setTabOrder(d->ui.domainEdit, d->ui.passEdit); setTabOrder(d->ui.passEdit, d->ui.keepCheckBox); connect(d->ui.userEdit, SIGNAL(returnPressed()), d->ui.passEdit, SLOT(setFocus())); } d->knownLogins = knownLogins; d->userEditCombo->addItems(knownLogins.keys()); d->userEditCombo->setFocus(); connect(d->userEditCombo, SIGNAL(activated(QString)), this, SLOT(activated(QString))); }
void Client::reloadSettings(bool updateNick) { const FavoriteHubEntry* hub = FavoriteManager::getInstance()->getFavoriteHubEntry(getHubUrl()); string ClientId; if (::strncmp(getHubUrl().c_str(),"adc://", 6) == 0 || ::strncmp(getHubUrl().c_str(),"adcs://", 6) == 0) ClientId = fullADCVersionString; else ClientId = fullVersionString; if(hub) { if(updateNick) { setCurrentNick(checkNick(hub->getNick(true))); } if(!hub->getUserDescription().empty()) { setCurrentDescription(hub->getUserDescription()); } else { setCurrentDescription(SETTING(DESCRIPTION)); } if(!hub->getPassword().empty()) setPassword(hub->getPassword()); if (hub->getOverrideId() && strlen(hub->getClientId().c_str()) > 1) ClientId = hub->getClientId(); if (!hub->getExternalIP().empty()) externalIP = hub->getExternalIP(); if (!hub->getEncoding().empty()){ setEncoding(hub->getEncoding()); } if (hub->getUseInternetIP() && !SETTING(INTERNETIP).empty()){ externalIP = SETTING(INTERNETIP); } } else { if(updateNick) { setCurrentNick(checkNick(SETTING(NICK))); } setCurrentDescription(SETTING(DESCRIPTION)); } setClientId(ClientId); }
void Client::reloadSettings(bool updateNick) { FavoriteHubEntry* hub = FavoriteManager::getInstance()->getFavoriteHubEntry(getHubUrl()); if(hub) { if(updateNick) { setCurrentNick(checkNick(hub->getNick(true))); } if(!hub->getUserDescription().empty()) { setCurrentDescription(hub->getUserDescription()); } else { setCurrentDescription(SETTING(DESCRIPTION)); } if(!hub->getPassword().empty()) setPassword(hub->getPassword()); } else { if(updateNick) { setCurrentNick(checkNick(SETTING(NICK))); } setCurrentDescription(SETTING(DESCRIPTION)); } }
bool osmsMessageCreateUserRequest::decode(char* xmlText) { XMLDocument* pDoc = new XMLDocument(); if (pDoc == NULL) return false; if (!pDoc->decode(xmlText, getName())) { delete pDoc; return false; } setMessageType(pDoc->getInteger("MessageType")); setUserName(pDoc->getString("UserName")); setPassword(pDoc->getString("Password")); setEmailAddress(pDoc->getString("EmailAddress")); delete pDoc; return true; }
bool MachineItem::getMachineData() { MachineEdit machineEdit(this); machineEdit.setWindowTitle("Machine: "+getName()); bool accept = machineEdit.exec(); if (accept){ setName(machineEdit.getName()); setAddress(machineEdit.getAddress()); setRos_root(machineEdit.getRos_root()); setRos_package_path(machineEdit.getRos_package_path()); setDefault(machineEdit.getDefault()); setUser(machineEdit.getUser()); setPassword(machineEdit.getPassword()); setTimeout(machineEdit.getTimeout()); setIf(machineEdit.getIf()); setUnless(machineEdit.getUnless()); updateMachineItem(); return true; } else return false; }
NS_IMETHODIMP nsPK11Token::Login(bool force) { nsNSSShutDownPreventionLock locker; if (isAlreadyShutDown()) return NS_ERROR_NOT_AVAILABLE; nsresult rv; SECStatus srv; bool test; rv = this->NeedsLogin(&test); if (NS_FAILED(rv)) return rv; if (test && force) { rv = this->LogoutSimple(); if (NS_FAILED(rv)) return rv; } rv = setPassword(mSlot, mUIContext, locker); if (NS_FAILED(rv)) return rv; srv = PK11_Authenticate(mSlot, true, mUIContext); return (srv == SECSuccess) ? NS_OK : NS_ERROR_FAILURE; }
void Identity::copy(const Identity& original) { setName(original.getName()); setRealName(original.getRealName()); setIdent(original.getIdent()); setNicknameList(original.getNicknameList()); setBot(original.getBot()); setPassword(original.getPassword()); setQuitReason(original.getQuitReason()); setPartReason(original.getPartReason()); setKickReason(original.getKickReason()); setInsertRememberLineOnAway(original.getInsertRememberLineOnAway()); setShowAwayMessage(original.getShowAwayMessage()); setAwayMessage(original.getAwayMessage()); setAwayNick(original.getAwayNick()); setReturnMessage(original.getReturnMessage()); setAutomaticAway(original.getAutomaticAway()); setAwayInactivity(original.getAwayInactivity()); setAutomaticUnaway(original.getAutomaticUnaway()); setShellCommand(original.getShellCommand()); setCodecName(original.getCodecName()); }
void NetworkManager::Security8021xSetting::secretsFromMap(const QVariantMap &secrets) { if (secrets.contains(QLatin1String(NM_SETTING_802_1X_PASSWORD))) { setPassword(secrets.value(QLatin1String(NM_SETTING_802_1X_PASSWORD)).toString()); } if (secrets.contains(QLatin1String(NM_SETTING_802_1X_PASSWORD_RAW))) { setPasswordRaw(secrets.value(QLatin1String(NM_SETTING_802_1X_PASSWORD_RAW)).toByteArray()); } if (secrets.contains(QLatin1String(NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD))) { setPrivateKeyPassword(secrets.value(QLatin1String(NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD)).toString()); } if (secrets.contains(QLatin1String(NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD))) { setPhase2PrivateKeyPassword(secrets.value(QLatin1String(NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD)).toString()); } if (secrets.contains(QLatin1String(NM_SETTING_802_1X_PIN))) { setPin(secrets.value(QLatin1String(NM_SETTING_802_1X_PIN)).toString()); } }
void KPasswordDialog::setKnownLogins( const QMap<QString, QString>& knownLogins ) { const int nr = knownLogins.count(); if ( nr == 0 ) { return; } if ( nr == 1 ) { d->ui.userEdit->setText( knownLogins.begin().key() ); setPassword( knownLogins.begin().value() ); return; } Q_ASSERT( !d->ui.userEdit->isReadOnly() ); if ( !d->userEditCombo ) { d->ui.formLayout->removeWidget(d->ui.userEdit); delete d->ui.userEdit; d->userEditCombo = new QComboBox(this); d->userEditCombo->setEditable(true); d->ui.userEdit = d->userEditCombo->lineEdit(); // QSize s = d->userEditCombo->sizeHint(); // d->ui.userEditCombo->setFixedHeight( s.height() ); // d->ui.userEditCombo->setMinimumWidth( s.width() ); d->ui.userNameLabel->setBuddy( d->userEditCombo ); d->ui.formLayout->setWidget( d->commentRow, QFormLayout::FieldRole, d->userEditCombo ); setTabOrder( d->ui.userEdit, d->ui.anonymousCheckBox ); setTabOrder( d->ui.anonymousCheckBox, d->ui.domainEdit ); setTabOrder( d->ui.domainEdit, d->ui.passEdit ); setTabOrder( d->ui.passEdit, d->ui.keepCheckBox ); connect( d->ui.userEdit, SIGNAL(returnPressed()), d->ui.passEdit, SLOT(setFocus()) ); } d->knownLogins = knownLogins; d->userEditCombo->addItems( knownLogins.keys() ); d->userEditCombo->setFocus(); connect( d->userEditCombo, SIGNAL(activated(QString)), this, SLOT(activated(QString)) ); }
LRESULT WebServerPage::onChangeUser(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { if (ctrlWebUsers.GetSelectedCount() == 1) { auto sel = ctrlWebUsers.GetSelectedIndex(); auto webUser = *getListUser(sel); /*ChngPassDlg dlg; dlg.title = TSTRING(CHANGE_PASSWORD); dlg.hideold = true; if (dlg.DoModal() == IDOK) { webUser->setPassword(Text::fromT(dlg.Newline)); }*/ LineDlg dlg; dlg.allowEmpty = false; dlg.title = TSTRING(CHANGE_PASSWORD); dlg.description = TSTRING(PASSWORD); if (dlg.DoModal() == IDOK) { webUser->setPassword(Text::fromT(dlg.line)); } } return 0; }
QXmppSaslServer::Response QXmppSaslServerPlain::respond(const QByteArray &request, QByteArray &response) { if (m_step == 0) { if (request.isEmpty()) { response = QByteArray(); return Challenge; } QList<QByteArray> auth = request.split('\0'); if (auth.size() != 3) { warning("QXmppSaslServerPlain : Invalid input"); return Failed; } setUsername(QString::fromUtf8(auth[1])); setPassword(QString::fromUtf8(auth[2])); m_step++; response = QByteArray(); return InputNeeded; } else { warning("QXmppSaslServerPlain : Invalid step"); return Failed; } }
bool AddToArchive::showAddDialog() { qCDebug(ARK) << "Opening add dialog"; QPointer<Kerfuffle::CreateDialog> dialog = new Kerfuffle::CreateDialog( Q_NULLPTR, // parent i18n("Compress to Archive"), // caption QUrl::fromLocalFile(m_firstPath)); // startDir bool ret = dialog.data()->exec(); if (ret) { qCDebug(ARK) << "CreateDialog returned URL:" << dialog.data()->selectedUrl().toString(); qCDebug(ARK) << "CreateDialog returned mime:" << dialog.data()->currentMimeType().name(); setFilename(dialog.data()->selectedUrl()); setMimeType(dialog.data()->currentMimeType().name()); setPassword(dialog.data()->password()); setHeaderEncryptionEnabled(dialog.data()->isHeaderEncryptionEnabled()); } delete dialog.data(); return ret; }
Smb4KPasswordDialog::Smb4KPasswordDialog(Smb4KBasicNetworkItem* networkItem, const QMap<QString,QString> &knownLogins, QWidget* parent) : KPasswordDialog(parent, KPasswordDialog::ShowUsernameLine) { m_item = networkItem; switch (m_item->type()) { case Host: { Smb4KHost *host = static_cast<Smb4KHost *>(m_item); if (host) { setUsername(host->login()); setPassword(host->password()); setPrompt(i18n("<qt>Please enter a username and a password for the host <b>%1</b>.</qt>", host->hostName())); } else { // Do nothing } break; } case Share: { Smb4KShare *share = static_cast<Smb4KShare *>(m_item); if (share) { // Enter authentication information into the dialog if (!knownLogins.isEmpty()) { setKnownLogins(knownLogins); } else { setUsername(share->login()); setPassword(share->password()); } if (!share->isHomesShare()) { setPrompt(i18n("<qt>Please enter a username and a password for the share <b>%1</b>.</qt>", share->unc())); } else { setPrompt(i18n("<qt>Please enter a username and a password for the share <b>%1</b>.</qt>", share->homeUNC())); } } else { // Do nothing } break; } default: { break; } } connect(this, SIGNAL(gotUsernameAndPassword(QString,QString,bool)), SLOT(slotGotUsernameAndPassword(QString,QString,bool))); }
nsresult nsKeygenFormProcessor::GetPublicKey(const nsAString& aValue, const nsAString& aChallenge, const nsAFlatString& aKeyType, nsAString& aOutPublicKey, const nsAString& aKeyParams) { nsNSSShutDownPreventionLock locker; if (isAlreadyShutDown()) { return NS_ERROR_NOT_AVAILABLE; } nsresult rv = NS_ERROR_FAILURE; char *keystring = nullptr; char *keyparamsString = nullptr; uint32_t keyGenMechanism; PK11SlotInfo *slot = nullptr; PK11RSAGenParams rsaParams; SECOidTag algTag; int keysize = 0; void *params = nullptr; SECKEYPrivateKey *privateKey = nullptr; SECKEYPublicKey *publicKey = nullptr; CERTSubjectPublicKeyInfo *spkInfo = nullptr; SECStatus srv = SECFailure; SECItem spkiItem; SECItem pkacItem; SECItem signedItem; CERTPublicKeyAndChallenge pkac; pkac.challenge.data = nullptr; nsIGeneratingKeypairInfoDialogs * dialogs; nsKeygenThread *KeygenRunnable = 0; nsCOMPtr<nsIKeygenThread> runnable; // permanent and sensitive flags for keygen PK11AttrFlags attrFlags = PK11_ATTR_TOKEN | PK11_ATTR_SENSITIVE | PK11_ATTR_PRIVATE; UniquePLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE)); if (!arena) { goto loser; } // Get the key size // for (size_t i = 0; i < number_of_key_size_choices; ++i) { if (aValue.Equals(mSECKeySizeChoiceList[i].name)) { keysize = mSECKeySizeChoiceList[i].size; break; } } if (!keysize) { goto loser; } // Set the keygen mechanism if (aKeyType.IsEmpty() || aKeyType.LowerCaseEqualsLiteral("rsa")) { keyGenMechanism = CKM_RSA_PKCS_KEY_PAIR_GEN; } else if (aKeyType.LowerCaseEqualsLiteral("ec")) { keyparamsString = ToNewCString(aKeyParams); if (!keyparamsString) { rv = NS_ERROR_OUT_OF_MEMORY; goto loser; } keyGenMechanism = CKM_EC_KEY_PAIR_GEN; /* ecParams are initialized later */ } else { goto loser; } // Get the slot rv = GetSlot(keyGenMechanism, &slot); if (NS_FAILED(rv)) { goto loser; } switch (keyGenMechanism) { case CKM_RSA_PKCS_KEY_PAIR_GEN: rsaParams.keySizeInBits = keysize; rsaParams.pe = DEFAULT_RSA_KEYGEN_PE; algTag = DEFAULT_RSA_KEYGEN_ALG; params = &rsaParams; break; case CKM_EC_KEY_PAIR_GEN: /* XXX We ought to rethink how the KEYGEN tag is * displayed. The pulldown selections presented * to the user must depend on the keytype. * The displayed selection could be picked * from the keyparams attribute (this is currently called * the pqg attribute). * For now, we pick ecparams from the keyparams field * if it specifies a valid supported curve, or else * we pick one of secp384r1, secp256r1 or secp192r1 * respectively depending on the user's selection * (High, Medium, Low). * (RSA uses RSA-2048, RSA-1024 and RSA-512 for historical * reasons, while ECC choices represent a stronger mapping) * NOTE: The user's selection * is silently ignored when a valid curve is presented * in keyparams. */ if ((params = decode_ec_params(keyparamsString)) == nullptr) { /* The keyparams attribute did not specify a valid * curve name so use a curve based on the keysize. * NOTE: Here keysize is used only as an indication of * High/Medium/Low strength; elliptic curve * cryptography uses smaller keys than RSA to provide * equivalent security. */ switch (keysize) { case 2048: params = decode_ec_params("secp384r1"); break; case 1024: case 512: params = decode_ec_params("secp256r1"); break; } } /* XXX The signature algorithm ought to choose the hashing * algorithm based on key size once ECDSA variations based * on SHA256 SHA384 and SHA512 are standardized. */ algTag = SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST; break; default: goto loser; } /* Make sure token is initialized. */ rv = setPassword(slot, m_ctx, locker); if (NS_FAILED(rv)) goto loser; srv = PK11_Authenticate(slot, true, m_ctx); if (srv != SECSuccess) { goto loser; } rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsIGeneratingKeypairInfoDialogs), NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID); if (NS_SUCCEEDED(rv)) { KeygenRunnable = new nsKeygenThread(); NS_IF_ADDREF(KeygenRunnable); } if (NS_FAILED(rv) || !KeygenRunnable) { rv = NS_OK; privateKey = PK11_GenerateKeyPairWithFlags(slot, keyGenMechanism, params, &publicKey, attrFlags, m_ctx); } else { KeygenRunnable->SetParams( slot, attrFlags, nullptr, 0, keyGenMechanism, params, m_ctx ); runnable = do_QueryInterface(KeygenRunnable); if (runnable) { rv = dialogs->DisplayGeneratingKeypairInfo(m_ctx, runnable); // We call join on the thread so we can be sure that no // simultaneous access to the passed parameters will happen. KeygenRunnable->Join(); NS_RELEASE(dialogs); if (NS_SUCCEEDED(rv)) { PK11SlotInfo *used_slot = nullptr; rv = KeygenRunnable->ConsumeResult(&used_slot, &privateKey, &publicKey); if (NS_SUCCEEDED(rv) && used_slot) { PK11_FreeSlot(used_slot); } } } } if (NS_FAILED(rv) || !privateKey) { goto loser; } // just in case we'll need to authenticate to the db -jp // privateKey->wincx = m_ctx; /* * Create a subject public key info from the public key. */ spkInfo = SECKEY_CreateSubjectPublicKeyInfo(publicKey); if ( !spkInfo ) { goto loser; } /* * Now DER encode the whole subjectPublicKeyInfo. */ srv = DER_Encode(arena.get(), &spkiItem, CERTSubjectPublicKeyInfoTemplate, spkInfo); if (srv != SECSuccess) { goto loser; } /* * set up the PublicKeyAndChallenge data structure, then DER encode it */ pkac.spki = spkiItem; pkac.challenge.len = aChallenge.Length(); pkac.challenge.data = (unsigned char *)ToNewCString(aChallenge); if (!pkac.challenge.data) { rv = NS_ERROR_OUT_OF_MEMORY; goto loser; } srv = DER_Encode(arena.get(), &pkacItem, CERTPublicKeyAndChallengeTemplate, &pkac); if (srv != SECSuccess) { goto loser; } /* * now sign the DER encoded PublicKeyAndChallenge */ srv = SEC_DerSignData(arena.get(), &signedItem, pkacItem.data, pkacItem.len, privateKey, algTag); if (srv != SECSuccess) { goto loser; } /* * Convert the signed public key and challenge into base64/ascii. */ keystring = BTOA_DataToAscii(signedItem.data, signedItem.len); if (!keystring) { rv = NS_ERROR_OUT_OF_MEMORY; goto loser; } CopyASCIItoUTF16(keystring, aOutPublicKey); free(keystring); rv = NS_OK; GatherKeygenTelemetry(keyGenMechanism, keysize, keyparamsString); loser: if (srv != SECSuccess) { if ( privateKey ) { PK11_DestroyTokenObject(privateKey->pkcs11Slot,privateKey->pkcs11ID); } if ( publicKey ) { PK11_DestroyTokenObject(publicKey->pkcs11Slot,publicKey->pkcs11ID); } } if ( spkInfo ) { SECKEY_DestroySubjectPublicKeyInfo(spkInfo); } if ( publicKey ) { SECKEY_DestroyPublicKey(publicKey); } if ( privateKey ) { SECKEY_DestroyPrivateKey(privateKey); } if (slot) { PK11_FreeSlot(slot); } if (KeygenRunnable) { NS_RELEASE(KeygenRunnable); } if (keyparamsString) { free(keyparamsString); } if (pkac.challenge.data) { free(pkac.challenge.data); } // If params is non-null and doesn't point to rsaParams, it was allocated // in decode_ec_params. We have to free this memory. if (params && params != &rsaParams) { SECITEM_FreeItem(static_cast<SECItem*>(params), true); params = nullptr; } return rv; }
void KexiPasswordPage::setConnectionData(const KDbConnectionData &data) { setPassword(data.savePassword() ? data.password() : QString()); setUserName(data.userName()); setServer(data.toUserVisibleString(KDbConnectionData::NoUserVisibleStringOption)); }
ChannelSettings::ChannelSettings(const QString& name, const QString& password, bool enableNotifications) { setName(name); setPassword(password); setNotificationsEnabled(enableNotifications); }
ChannelSettings::ChannelSettings(const ChannelSettings& settings) { setName(settings.name()); setPassword(settings.password()); setNotificationsEnabled(settings.enableNotifications()); }
void Core::checkEncryptedHistory() { QString path = HistoryKeeper::getHistoryPath(); bool exists = QFile::exists(path); QByteArray salt = getSaltFromFile(path); if (exists && salt.size() == 0) { // maybe we should handle this better GUI::showWarning(tr("Encrypted chat history"), tr("No encrypted chat history file found, or it was corrupted.\nHistory will be disabled!")); Settings::getInstance().setEncryptLogs(false); Settings::getInstance().setEnableLogging(false); HistoryKeeper::resetInstance(); return; } QString a(tr("Please enter the password for the chat history for the %1 profile.", "used in load() when no hist pw set").arg(Settings::getInstance().getCurrentProfile())); QString b(tr("The previous password is incorrect; please try again:", "used on retries in load()")); QString c(tr("\nDisabling chat history now will leave the encrypted history intact (but not usable); if you later remember the password, you may re-enable encryption from the Privacy tab with the correct password to use the history.", "part of history password dialog")); QString dialogtxt; if (pwsaltedkeys[ptHistory]) { if (!exists || HistoryKeeper::checkPassword()) return; dialogtxt = tr("The chat history password failed. Please try another?", "used only when pw set before load() doesn't work"); } else { dialogtxt = a; } dialogtxt += "\n" + c; if (pwsaltedkeys[ptMain]) { useOtherPassword(ptHistory); if (!exists || HistoryKeeper::checkPassword()) { qDebug() << "using main password for chat history"; return; } clearPassword(ptHistory); } bool error = true; do { QString pw = GUI::passwordDialog(tr("Disable chat history"), dialogtxt); if (pw.isEmpty()) { clearPassword(ptHistory); Settings::getInstance().setEncryptLogs(false); Settings::getInstance().setEnableLogging(false); HistoryKeeper::resetInstance(); return; } else { setPassword(pw, ptHistory, reinterpret_cast<uint8_t*>(salt.data())); } error = exists && !HistoryKeeper::checkPassword(); dialogtxt = a + "\n" + c + "\n" + b; } while (error); }