xca/lib/db_key.h
Christian Hohnstaedt 6d01928d5d Automatically transform the key encryption scheme
When opening the database Find legacy encrypted keys and:
 - update them automatically when encrypted with the
   database password or
 - inform the user about a required action when encrypted with an
   individual passphrase

Related issues #458 #511 #503 #500 #494 #484 #482 #475

Remember a complete transformation of all keys
in the Settings["legacy-keys-updated"]
to avoid analyzing all keys each tim a database is opened.
2024-02-10 11:39:43 +01:00

48 lines
1.0 KiB
C++

/* vi: set sw=4 ts=4:
*
* Copyright (C) 2001 - 2010 Christian Hohnstaedt.
*
* All rights reserved.
*/
#ifndef __DB_KEY_H
#define __DB_KEY_H
#include "pki_export.h"
#include "db_base.h"
#include "pki_key.h"
#include "xfile.h"
class QModelIndex;
class QContextMenuEvent;
class db_key: public db_base
{
Q_OBJECT
protected:
virtual dbheaderList getHeaders();
public:
db_key();
QList<pki_key*> getUnusedKeys();
QList<pki_key*> getAllKeys();
pki_base *newPKI(enum pki_type type = none);
void inToCont(pki_base *pki);
void remFromCont(const QModelIndex &idx);
pki_base* insert(pki_base *item);
void setOwnPass(QModelIndex idx, enum pki_key::passType);
void loadContainer();
pki_key *newKey(const keyjob &task, const QString &name);
int exportFlags(const QModelIndex &index) const;
void exportItem(const QModelIndex &index,
const pki_export *xport, XFile &file) const;
void updateKeyEncryptionScheme();
signals:
void delKey(pki_key *delkey);
void newKey(pki_key *newkey);
void keyDone(pki_key *nkey);
};
#endif