first working release, can delete certificates
This commit is contained in:
8
src/languages.qrc.in
Normal file
8
src/languages.qrc.in
Normal file
@@ -0,0 +1,8 @@
|
||||
<RCC>
|
||||
<qresource prefix="/language">
|
||||
<file>@PACKAGENAME@_de.qm</file>
|
||||
<file>@PACKAGENAME@_fr.qm</file>
|
||||
<file>@PACKAGENAME@_it.qm</file>
|
||||
<file>@PACKAGENAME@_en.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
75
src/main.cxx
Normal file
75
src/main.cxx
Normal file
@@ -0,0 +1,75 @@
|
||||
/*! @file
|
||||
|
||||
@id $Id$
|
||||
|
||||
Build für Windoof:
|
||||
<code>QMAKESPEC=$(pwd)/mkspecs/mingw-g++ qmake-qt4 && make release</code>
|
||||
*/
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
#include <tokentool.hxx>
|
||||
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtCore/QTranslator>
|
||||
#include <QtCore/QTextCodec>
|
||||
#include <QtCore/QLocale>
|
||||
#include <QtCore/QProcess>
|
||||
#include <QtCore/QFileInfo>
|
||||
#include <iostream>
|
||||
|
||||
int main(int argv, char** argc) try {
|
||||
//............................................................................
|
||||
QStringList l(QProcess::systemEnvironment());
|
||||
QMap<QString, QString> env;
|
||||
for (QStringList::iterator it(l.begin()); it!=l.end(); ++it) {
|
||||
QStringList v(it->split('='));
|
||||
QString key(*v.begin());
|
||||
QString value((v.pop_front(), v.join("=")));
|
||||
env.insert(key, value);
|
||||
}
|
||||
if (env.contains("LANGUAGE")) QLocale::setDefault(env["LANGUAGE"]);
|
||||
//............................................................................
|
||||
QTextCodec* utf8(QTextCodec::codecForName("UTF-8"));
|
||||
QTextCodec::setCodecForCStrings(utf8);
|
||||
QTextCodec::setCodecForLocale(utf8);
|
||||
QTextCodec::setCodecForTr(utf8);
|
||||
QApplication app(argv, argc);
|
||||
app.setWindowIcon(QIcon(":/icons/tokentool"));
|
||||
app.setApplicationName(QObject::trUtf8("tokentool",
|
||||
"application name"));
|
||||
app.setApplicationVersion(VERSION);
|
||||
QTranslator qtTranslator;
|
||||
qtTranslator.load(":/language/qt_" + QLocale::system().name());
|
||||
app.installTranslator(&qtTranslator);
|
||||
QTranslator appTranslator;
|
||||
appTranslator.load(":/language/tokentool_"+ QLocale::system().name());
|
||||
app.installTranslator(&appTranslator);
|
||||
//............................................................................
|
||||
QStringList args(app.arguments());
|
||||
for (QStringList::iterator it(args.begin()); ++it!=args.end();)
|
||||
if (*it=="-h" || *it=="--help" || *it=="-help" || *it=="/?") {
|
||||
std::cout<<QObject::trUtf8
|
||||
("Usage: %1 [OPTIONS...]\n"
|
||||
"Options:\n"
|
||||
" -h, --help show this help text\n"
|
||||
"Environment:\n"
|
||||
" LANGUAGE \"de\", \"en\", ... (actual: %2)\n")
|
||||
.arg(QFileInfo(argc[0]).fileName())
|
||||
.arg(env["LANGUAGE"])
|
||||
.toStdString()
|
||||
<<std::endl;
|
||||
return 0;
|
||||
} else {
|
||||
std::cout<<QObject::trUtf8("Too few arguments.\nTry: %1 --help")
|
||||
.arg(QFileInfo(argc[0]).fileName()).toStdString()<<std::endl;
|
||||
return 1;
|
||||
}
|
||||
//............................................................................
|
||||
tokentool win;
|
||||
win.show();
|
||||
return app.exec();
|
||||
} catch (...) {
|
||||
// unexpected exception - just terminate
|
||||
return 1;
|
||||
}
|
107
src/makefile.am
Normal file
107
src/makefile.am
Normal file
@@ -0,0 +1,107 @@
|
||||
## @file
|
||||
##
|
||||
## $Id: makefile.am 7 2010-03-01 14:55:44Z marc $
|
||||
##
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
include_HEADERS =
|
||||
|
||||
if !MINGW32
|
||||
if MAC
|
||||
AM_CPPFLAGS += -I/opt/local/include
|
||||
# -I/Library/OpenSC/include
|
||||
AM_LDFLAGS = -L/opt/local/lib
|
||||
# -F/System/Library/Frameworks/PCSC.framework
|
||||
else
|
||||
# AM_CPPFLAGS += -I/usr/include/PCSC
|
||||
endif
|
||||
endif
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = @PACKAGENAME@.pc
|
||||
pkgconfig2dir = $(datarootdir)/pkgconfig
|
||||
pkgconfig2_DATA = $(pkgconfig_DATA)
|
||||
|
||||
mypkgdir = ${datarootdir}/@PACKAGENAME@
|
||||
mypkg_SCRIPTS =
|
||||
mypkg_DATA = @PACKAGENAME@.xpm resources/@PACKAGENAME@.png
|
||||
|
||||
applicationsdir = ${datarootdir}/applications
|
||||
dist_applications_DATA = @PACKAGENAME@.desktop
|
||||
|
||||
EXTRA_DIST = $(pkgconfig_DATA).in resources *.cxx *.hxx *.ui *.ts *.qrc
|
||||
|
||||
LANGS = en de fr it
|
||||
ALL_SRC = @SRCDIR@/*.[ch]xx @SRCDIR@/*.ui $(shell find @SRCDIR@ resources -name .svn -prune -o \( -type f -o -type l \) -print)
|
||||
|
||||
QMAKE_PROJECT = qmake.pro
|
||||
QMAKE_MAKEFILE = makefile.qmake
|
||||
|
||||
QMAKE_TARGET = @PACKAGENAME@
|
||||
|
||||
TARGETS = ${QMAKE_TARGET}
|
||||
|
||||
all: ${TARGETS} $(LANGS:%=@PACKAGENAME@_%.ts)
|
||||
|
||||
rebuild-ts: $(LANGS)
|
||||
${LUPDATE} @LUPDATE_ARGS@ ${QMAKE_PROJECT}
|
||||
|
||||
${LANGS}: ${ALL_SRC}
|
||||
-rm @PACKAGENAME@_$@.qm
|
||||
svn revert @PACKAGENAME@_$@.ts
|
||||
mv @PACKAGENAME@_$@.ts translation.old
|
||||
${LUPDATE} @LUPDATE_ARGS@ ${QMAKE_PROJECT}
|
||||
mv @PACKAGENAME@_$@.ts translation.new
|
||||
echo '<?xml version="1.0" encoding="utf-8"?>' > @PACKAGENAME@_$@.ts
|
||||
echo '<!DOCTYPE TS>' >> @PACKAGENAME@_$@.ts
|
||||
echo '<TS version="2.0" language="'$@'">' >> @PACKAGENAME@_$@.ts
|
||||
xqilla merge-translation.xquery >> @PACKAGENAME@_$@.ts
|
||||
echo '</TS>' >> @PACKAGENAME@_$@.ts
|
||||
rm translation.old translation.new
|
||||
|
||||
print:
|
||||
@echo "LANGS=${LANGS}"
|
||||
@echo "ALL_SRC=${ALL_SRC}"
|
||||
@echo "QMAKE=${QMAKE}"
|
||||
@echo "QMAKE_OPTIONS=${QMAKE_OPTIONS}"
|
||||
@echo "QMAKE_MAKEFILE=${QMAKE_MAKEFILE}"
|
||||
@echo "QMAKE_TARGET=${QMAKE_TARGET}"
|
||||
@echo "TARGETS=${TARGETS}"
|
||||
|
||||
|
||||
@PACKAGENAME@_%.qm: @PACKAGENAME@_%.ts
|
||||
${LRELEASE} $<
|
||||
|
||||
%.xpm: resources/%.png
|
||||
convert $< $@ || cp $< $@
|
||||
|
||||
%.ts: ${ALL_SRC}
|
||||
${LUPDATE} @LUPDATE_ARGS@ ${QMAKE_PROJECT}
|
||||
|
||||
${QMAKE_MAKEFILE}: ${QMAKE_PROJECT} ${ALL_SRC}
|
||||
${QMAKE} -o $@ $<
|
||||
|
||||
${QMAKE_TARGET}: ${QMAKE_MAKEFILE} ${ALL_SRC} $(LANGS:%=@PACKAGENAME@_%.qm)
|
||||
make -f ${QMAKE_MAKEFILE}
|
||||
|
||||
clean-local:
|
||||
-rm -r ${QMAKE_TARGET}.app
|
||||
|
||||
maintainer-clean-local:
|
||||
-rm -rf ${QMAKE_TARGET}.app
|
||||
|
||||
install-exec-local:
|
||||
test -d ${bindir} || mkdir -p ${bindir}
|
||||
( test -f @PACKAGENAME@ && cp @PACKAGENAME@ ${bindir}/ ) \
|
||||
|| ( test -f @PACKAGENAME@.exe && cp @PACKAGENAME@.exe ${bindir}/ ) \
|
||||
|| ( test -d @PACKAGENAME@.app && cp -r @PACKAGENAME@.app ${bindir}/ )
|
||||
|
||||
uninstall-local:
|
||||
-rm -rf ${bindir}/@PACKAGENAME@{,.exe,.app}
|
||||
|
||||
CLEANFILES = ${TARGETS} ${TARGETS:%=%.exe} $(LANGS:%=@PACKAGENAME@_%.qm) \
|
||||
*.o *.obj qrc_*.cpp ui_*.h moc_*.cpp \
|
||||
${QMAKE_TARGET} \
|
||||
@PACKAGENAME@.xpm
|
||||
MAINTAINERCLEANFILES = makefile.in ${QMAKE_MAKEFILE}
|
28
src/qmake.pro.in
Normal file
28
src/qmake.pro.in
Normal file
@@ -0,0 +1,28 @@
|
||||
QT += network
|
||||
CONFIG += release no_keywords
|
||||
QMAKE_LIBS += -lpcscxx
|
||||
macx {
|
||||
QMAKE_INCDIR += /opt/local/include
|
||||
QMAKE_LIBDIR += /opt/local/lib
|
||||
CONFIG += x86
|
||||
}
|
||||
ICON = @PACKAGENAME@.icns
|
||||
QMAKE_INCDIR += /usr/local/include
|
||||
TRANSLATIONS = @PACKAGENAME@_en.ts \
|
||||
@PACKAGENAME@_de.ts \
|
||||
@PACKAGENAME@_fr.ts \
|
||||
@PACKAGENAME@_it.ts
|
||||
SOURCES = main.cxx
|
||||
HEADERS = tokentool.hxx
|
||||
FORMS = tokentool.ui
|
||||
RESOURCES = languages.qrc resources.qrc
|
||||
|
||||
TARGET = @PACKAGENAME@
|
||||
|
||||
CODECFORSRC = UTF-8
|
||||
CODECFORTR = UTF-8
|
||||
|
||||
DEFINES += VERSION=\'\"@VERSION@\"\' BUILDDATE=\'\"@BUILDDATE@\"\'
|
||||
|
||||
## DEBUG
|
||||
# QMAKE_CXXFLAGS += -include iostream -D\"CRYPTOKI_LOG(X)=std::clog<<\\\"CRYPTOKI_\\\"<<X<<\\\"_@_\\\"<<__PRETTY_FUNCTION__<<std::endl\" -D\"PCSC_LOG(X)=std::clog<<\\\"PCSC_\\\"<<X<<\\\"_@_\\\"<<__PRETTY_FUNCTION__<<std::endl\" -D\"OPENSSL_LOG(X)=std::clog<<\\\"OPENSSL_\\\"<<X<<\\\"_@_\\\"<<__PRETTY_FUNCTION__<<std::endl'" @CPPFLAGS@ @CXXFLAGS@
|
6
src/resources.qrc
Normal file
6
src/resources.qrc
Normal file
@@ -0,0 +1,6 @@
|
||||
<!DOCTYPE RCC>
|
||||
<RCC version="1.0">
|
||||
<qresource>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
BIN
src/resources/tokentool.png
Normal file
BIN
src/resources/tokentool.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
13
src/tokentool.desktop
Normal file
13
src/tokentool.desktop
Normal file
@@ -0,0 +1,13 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=tokentool
|
||||
Name[de]=tokentool
|
||||
Name[fr]=tokentool
|
||||
Name[it]=tokentool
|
||||
Name[en]=tokentool
|
||||
Comment=
|
||||
Comment[de]=
|
||||
Icon=/usr/share/tokentool/tokentool.png
|
||||
Categories=
|
||||
Exec=/usr/bin/tokentool
|
||||
Path=
|
301
src/tokentool.hxx
Normal file
301
src/tokentool.hxx
Normal file
@@ -0,0 +1,301 @@
|
||||
/*! @file
|
||||
|
||||
@id $Id$
|
||||
*/
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
#ifndef __Tokentool_HXX__
|
||||
#define __Tokentool_HXX__
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
#include <QtCore/QDateTime>
|
||||
#include <QtNetwork/QSslCertificate>
|
||||
#include <ui_tokentool.h>
|
||||
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
#include <cryptoki.hxx>
|
||||
|
||||
inline QString qs(const std::string& s) {
|
||||
return QString::fromStdString(s);
|
||||
}
|
||||
|
||||
template<std::string::size_type SIZE>
|
||||
QString qs(const cryptoki::FixString<SIZE>& s) {
|
||||
return QString::fromStdString(s);
|
||||
}
|
||||
|
||||
class tokentool: public QMainWindow, protected Ui::tokentool {
|
||||
Q_OBJECT;
|
||||
public:
|
||||
tokentool(std::string lib="libcvP11.so", QWidget* p=0):
|
||||
QMainWindow(p), _cryptoki(lib), _slot(0) {
|
||||
setupUi(this);
|
||||
_certificates->addAction(actionDeleteSelectedCertificate);
|
||||
libraryInfo(lib);
|
||||
rescan();
|
||||
}
|
||||
void rescan() {
|
||||
_slot = 0;
|
||||
_slots->clear();
|
||||
_slotList = _cryptoki.slotList();
|
||||
for (cryptoki::SlotList::iterator it(_slotList.begin());
|
||||
it!=_slotList.end(); ++it) {
|
||||
QAction* a(_slots->addAction(qs(it->slotinfo().slotDescription)));
|
||||
a->setCheckable(true);
|
||||
a->setData((qulonglong)&*it);
|
||||
assert(connect(a, SIGNAL(toggled(bool)), SLOT(chosen(bool))));
|
||||
if (!_slot) a->setChecked(true);
|
||||
}
|
||||
on__certificates_itemSelectionChanged();
|
||||
}
|
||||
private Q_SLOTS:
|
||||
void on_actionDeleteSelectedCertificate_triggered() {
|
||||
QList<QTreeWidgetItem*> items(_certificates->selectedItems());
|
||||
if (items.size()>0) deleteCert(items[0]);
|
||||
}
|
||||
void on__certificates_itemSelectionChanged() {
|
||||
actionDeleteSelectedCertificate
|
||||
->setEnabled(_certificates->selectedItems().size());
|
||||
}
|
||||
void chosen(bool checked) {
|
||||
if (!checked) return;
|
||||
_pin->clear();
|
||||
QAction* a(qobject_cast<QAction*>(sender()));
|
||||
QMenu* m(qobject_cast<QMenu*>(a->parent()));
|
||||
QObjectList actions(m->children());
|
||||
for (QObjectList::iterator it(actions.begin());it!=actions.end(); ++it)
|
||||
if (qobject_cast<QAction*>(*it)!=a)
|
||||
qobject_cast<QAction*>(*it)->setChecked(false);
|
||||
_slot = (cryptoki::Slot*)a->data().toLongLong();
|
||||
setup();
|
||||
}
|
||||
void setup() {
|
||||
try {
|
||||
if (!_slot) return;
|
||||
slotInfo(_slot->slotinfo());
|
||||
tokenInfo(_slot->tokeninfo());
|
||||
certificates(*_slot);
|
||||
} catch (...) {}
|
||||
}
|
||||
void libraryInfo(std::string lib) {
|
||||
_soname->setTitle(qs(lib));
|
||||
cryptoki::Info inf(_cryptoki.info());
|
||||
_libraryCryptokiVersion->setText(QString("%1.%2")
|
||||
.arg(inf.cryptokiVersion.major)
|
||||
.arg(inf.cryptokiVersion.minor));
|
||||
_libraryManufacturerID->setText(qs(inf.manufacturerID));
|
||||
_libraryDescription->setText(qs(inf.libraryDescription));
|
||||
_libraryVersion->setText(QString("%1.%2")
|
||||
.arg(inf.libraryVersion.major)
|
||||
.arg(inf.libraryVersion.minor));
|
||||
}
|
||||
void slotInfo(const cryptoki::SlotInfo& slotInfo) {
|
||||
_slotDescription->setText(qs(slotInfo.slotDescription));
|
||||
_slotManufacturerID->setText(qs(slotInfo.manufacturerID));
|
||||
_slotHardwareVersion->setText(QString("%1.%2")
|
||||
.arg(slotInfo.hardwareVersion.major)
|
||||
.arg(slotInfo.hardwareVersion.minor));
|
||||
_slotFirmwareVersion->setText(QString("%1.%2")
|
||||
.arg(slotInfo.firmwareVersion.major)
|
||||
.arg(slotInfo.firmwareVersion.minor));
|
||||
_tokenPresent->setEnabled(slotInfo.flags&CKF_TOKEN_PRESENT);
|
||||
_removableDevice->setEnabled(slotInfo.flags&CKF_REMOVABLE_DEVICE);
|
||||
_hwSlot->setEnabled(slotInfo.flags&CKF_HW_SLOT);
|
||||
_hasTokenInfo->setEnabled(slotInfo.flags&CKF_TOKEN_PRESENT);
|
||||
}
|
||||
void tokenInfo(const cryptoki::TokenInfo& tokenInfo) {
|
||||
_tokenLabel->setText(qs(tokenInfo.label));
|
||||
_tokenManufacturerID->setText(qs(tokenInfo.manufacturerID));
|
||||
_tokenModel->setText(qs(tokenInfo.model));
|
||||
_tokenSerialNumber->setText(qs(tokenInfo.serialNumber));
|
||||
_tokenSessionCount->setText(QString("%2/%1")
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.maxSessionCount)))
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.sessionCount))));
|
||||
_tokenRWSessionCount->setText(QString("%2/%1")
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.maxRwSessionCount)))
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.rwSessionCount))));
|
||||
_tokenPinLen->setText(QString("%2-%1")
|
||||
.arg(tokenInfo.maxPinLen)
|
||||
.arg(tokenInfo.minPinLen));
|
||||
_tokenPublicMemory->setText(QString("%2/%1")
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.totalPublicMemory)))
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.freePublicMemory))));
|
||||
_tokenPrivateMemory->setText(QString("%2/%1")
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.totalPrivateMemory)))
|
||||
.arg(qs(cryptoki::string
|
||||
(tokenInfo.freePrivateMemory))));
|
||||
_tokenHardwareVersion->setText(QString("%1.%2")
|
||||
.arg(tokenInfo.hardwareVersion.major)
|
||||
.arg(tokenInfo.hardwareVersion.minor));
|
||||
_tokenFirmwareVersion->setText(QString("%1.%2")
|
||||
.arg(tokenInfo.firmwareVersion.major)
|
||||
.arg(tokenInfo.firmwareVersion.minor));
|
||||
_tokenUTCTime->setText(qs(tokenInfo.utcTime));
|
||||
_tokenUTCTime->setVisible(tokenInfo.flags&CKF_CLOCK_ON_TOKEN);
|
||||
_rng->setEnabled(tokenInfo.flags&CKF_RNG);
|
||||
_writeProtected->setEnabled(tokenInfo.flags&CKF_WRITE_PROTECTED);
|
||||
_loginRequired->setEnabled(tokenInfo.flags&CKF_LOGIN_REQUIRED);
|
||||
_userPinInitialized->setEnabled(tokenInfo.flags&CKF_USER_PIN_INITIALIZED);
|
||||
_restoreKeyNotNeeded->setEnabled
|
||||
(tokenInfo.flags&CKF_RESTORE_KEY_NOT_NEEDED);
|
||||
_clockOnToken->setEnabled(tokenInfo.flags&CKF_CLOCK_ON_TOKEN);
|
||||
_protectedAuthenticationPath->setEnabled
|
||||
(tokenInfo.flags&CKF_PROTECTED_AUTHENTICATION_PATH);
|
||||
_dualCryptoOperations->setEnabled
|
||||
(tokenInfo.flags&CKF_DUAL_CRYPTO_OPERATIONS);
|
||||
_tokenInitialized->setEnabled(tokenInfo.flags&CKF_TOKEN_INITIALIZED);
|
||||
_secondaryAuthentication->setEnabled
|
||||
(tokenInfo.flags&CKF_SECONDARY_AUTHENTICATION);
|
||||
_userPinCountLow->setEnabled(tokenInfo.flags&CKF_USER_PIN_COUNT_LOW);
|
||||
_userPinFinalTry->setEnabled(tokenInfo.flags&CKF_USER_PIN_FINAL_TRY);
|
||||
_userPinLocked->setEnabled(tokenInfo.flags&CKF_USER_PIN_LOCKED);
|
||||
_userPinToBeChanged->setEnabled
|
||||
(tokenInfo.flags&CKF_USER_PIN_TO_BE_CHANGED);
|
||||
_soPinCountLow->setEnabled(tokenInfo.flags&CKF_SO_PIN_COUNT_LOW);
|
||||
_soPinFinalTry->setEnabled(tokenInfo.flags&CKF_SO_PIN_FINAL_TRY);
|
||||
_soPinLocked->setEnabled(tokenInfo.flags&CKF_SO_PIN_LOCKED);
|
||||
_soPinToBeChanged->setEnabled(tokenInfo.flags&CKF_SO_PIN_TO_BE_CHANGED);
|
||||
}
|
||||
void certificates(cryptoki::Slot& slot) {
|
||||
try {
|
||||
_certificates->clear();
|
||||
cryptoki::Session session(slot);
|
||||
cryptoki::ObjectList certs
|
||||
(session.find(cryptoki::Attribute(CKA_CLASS)
|
||||
.from<CK_OBJECT_CLASS>(CKO_CERTIFICATE)));
|
||||
for (cryptoki::ObjectList::iterator cert(certs.begin());
|
||||
cert!=certs.end(); ++cert) {
|
||||
std::string data(cert->attribute(CKA_VALUE).value);
|
||||
QByteArray der(QByteArray(data.data(), data.size()));
|
||||
QSslCertificate c(der, QSsl::Der);
|
||||
qDebug()<<"ID="<<qs(crypto::hex(cert->attribute(CKA_ID).value));
|
||||
addCertificate(cert->attribute(CKA_LABEL).value,
|
||||
crypto::hex(cert->attribute(CKA_ID).value), c);
|
||||
}
|
||||
} catch (...) {}
|
||||
}
|
||||
void addCertificate(const std::string& label, const std::string& id,
|
||||
const QSslCertificate& cert) {
|
||||
if (cert.isNull()) return;
|
||||
QTreeWidgetItem* c(new QTreeWidgetItem(QStringList()<<qs(label)));
|
||||
c->setData(0, Qt::UserRole, qs(id));
|
||||
_certificates->addTopLevelItem(c);
|
||||
c->addChild
|
||||
((new QTreeWidgetItem
|
||||
(QStringList()<<tr("Valid Since")
|
||||
<<cert.effectiveDate().toString(Qt::SystemLocaleLongDate))));
|
||||
c->addChild
|
||||
((new QTreeWidgetItem
|
||||
(QStringList()<<tr("Valid Until")
|
||||
<<cert.expiryDate().toString(Qt::SystemLocaleLongDate))));
|
||||
c->addChild
|
||||
((new QTreeWidgetItem
|
||||
(QStringList()<<tr("Certificate Serial Number")
|
||||
<<cert.serialNumber())));
|
||||
QTreeWidgetItem *it(0);
|
||||
c->addChild
|
||||
((it = new QTreeWidgetItem(QStringList()<<tr("Subject Info")<<"")));
|
||||
for (QSslCertificate::SubjectInfo
|
||||
si(QSslCertificate::StateOrProvinceName);
|
||||
si>=QSslCertificate::Organization;
|
||||
si=(QSslCertificate::SubjectInfo)((int)si-1))
|
||||
if (!cert.subjectInfo(si).isEmpty()) {
|
||||
it->addChild
|
||||
((new QTreeWidgetItem(subjectInfo(cert, si))));
|
||||
}
|
||||
it->setExpanded(true);
|
||||
QMultiMap<QSsl::AlternateNameEntryType, QString>
|
||||
asns(cert.alternateSubjectNames());
|
||||
for (QMultiMap<QSsl::AlternateNameEntryType, QString>::iterator
|
||||
asn(asns.begin()); asn!=asns.end(); ++asn)
|
||||
it->addChild
|
||||
((new QTreeWidgetItem
|
||||
(QStringList()<<alternateName(asn.key())<<asn.value())));
|
||||
c->addChild
|
||||
((it = new QTreeWidgetItem(QStringList()<<tr("Issuer Info")<<"")));
|
||||
for (QSslCertificate::SubjectInfo
|
||||
si(QSslCertificate::StateOrProvinceName);
|
||||
si>=QSslCertificate::Organization;
|
||||
si=(QSslCertificate::SubjectInfo)((int)si-1))
|
||||
if (!cert.issuerInfo(si).isEmpty())
|
||||
it->addChild
|
||||
((new QTreeWidgetItem(subjectInfo(cert, si))));
|
||||
it->setExpanded(true);
|
||||
_certificates->resizeColumnToContents(0);
|
||||
_certificates->resizeColumnToContents(1);
|
||||
}
|
||||
private:
|
||||
void deleteCert(QTreeWidgetItem* item) {
|
||||
if (!_slot) return;
|
||||
if (item->parent()) return deleteCert(item->parent());
|
||||
QByteArray qid(QByteArray::fromHex(item->data(0, Qt::UserRole).toByteArray()));
|
||||
std::string id(qid.data(), qid.size());
|
||||
qDebug()<<"delete:"<<item->data(0, Qt::DisplayRole).toString();
|
||||
qDebug()<<"ID="<<qs(crypto::hex(id));
|
||||
cryptoki::Session session(*_slot, true);
|
||||
if (!_pin->text().isEmpty()) session.login(_pin->text().toStdString());
|
||||
cryptoki::ObjectList objs
|
||||
(session.find(cryptoki::AttributeList()
|
||||
<<cryptoki::Attribute(CKA_CLASS)
|
||||
.from<CK_OBJECT_CLASS>(CKO_CERTIFICATE)
|
||||
<<cryptoki::Attribute(CKA_ID, id)));
|
||||
for (cryptoki::ObjectList::iterator obj(objs.begin());
|
||||
obj!=objs.end(); ++obj) try {
|
||||
qDebug()<<"DESTROY";
|
||||
obj->destroy();
|
||||
} catch (const std::exception& e) {
|
||||
qDebug()<<"Cannot delete:"<<e.what();
|
||||
}
|
||||
setup();
|
||||
}
|
||||
QString alternateName(QSsl::AlternateNameEntryType an) {
|
||||
switch (an) {
|
||||
case QSsl::EmailEntry: return tr("E-Mail");
|
||||
case QSsl::DnsEntry: return tr("URL");
|
||||
}
|
||||
return tr("error", "unknown certificate subject alternate name");
|
||||
}
|
||||
QStringList subjectInfo(const QSslCertificate& cert,
|
||||
QSslCertificate::SubjectInfo si) {
|
||||
QStringList res;
|
||||
switch (si) {
|
||||
case QSslCertificate::Organization:
|
||||
res<<tr("Organization"); break;
|
||||
case QSslCertificate::CommonName:
|
||||
res<<tr("Common Name"); break;
|
||||
case QSslCertificate::LocalityName:
|
||||
res<<tr("Locality"); break;
|
||||
case QSslCertificate::OrganizationalUnitName:
|
||||
res<<tr("Organizational Unit"); break;
|
||||
case QSslCertificate::CountryName:
|
||||
res<<tr("Country"); break;
|
||||
case QSslCertificate::StateOrProvinceName:
|
||||
res<<tr("State or Province"); break;
|
||||
default:
|
||||
res<<tr("error", "unknown certificate subject info"); break;
|
||||
}
|
||||
res<<utfConv(cert.subjectInfo(si));
|
||||
return res;
|
||||
}
|
||||
QString utfConv(const QString& txt) {
|
||||
QByteArray value(txt.toAscii());
|
||||
for (int i(-1); (i=value.indexOf("\\x"))!=-1 && i+3<value.size();)
|
||||
value.replace(i, 4, QByteArray::fromHex(value.mid(i+2, 2)));
|
||||
return QString::fromUtf8(value.data(), value.size());
|
||||
}
|
||||
private:
|
||||
cryptoki::Init _cryptoki;
|
||||
cryptoki::SlotList _slotList;
|
||||
cryptoki::Slot* _slot;
|
||||
};
|
||||
|
||||
#endif
|
11
src/tokentool.pc.in
Normal file
11
src/tokentool.pc.in
Normal file
@@ -0,0 +1,11 @@
|
||||
prefix=@PACKAGENAME@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: @PACKAGENAME@
|
||||
Description:
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir}
|
||||
Libs.private:
|
||||
Cflags: -I${includedir}
|
1267
src/tokentool.ui
Normal file
1267
src/tokentool.ui
Normal file
@@ -0,0 +1,1267 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>tokentool</class>
|
||||
<widget class="QMainWindow" name="tokentool">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>737</width>
|
||||
<height>625</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>MainWindow</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="">
|
||||
<attribute name="title">
|
||||
<string>Hardware</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>707</width>
|
||||
<height>526</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Slot Info</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_10">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="_slotDescriptionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Slot Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="_slotDescription">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="_slotManufacturerIDLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Manufacturer ID:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="_slotManufacturerID">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="_slotHardwareVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Hardware Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="_slotHardwareVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="_slotFirmwareVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Firmware Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="_slotFirmwareVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_7">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Flags</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="_tokenPresent">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Token Present</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_removableDevice">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Removable Device</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_hwSlot">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Hardware Slot</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="_soname">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string><Library></string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="_libraryCryptokiVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cryptoki Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="_libraryCryptokiVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="_libraryManufacturerIDLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Manufacturer ID:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="_libraryManufacturerID">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="_libraryDescriptionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Library Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="_libraryDescription">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="_libraryVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Library Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="_libraryVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="_hasTokenInfo">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Token Info</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0" rowspan="2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="_tokenLabelLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Label:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="_tokenLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="_tokenManufacturerIDLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Manufacturer ID:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="_tokenManufacturerID">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="_tokenModelLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Model:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="_tokenModel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="_tokenSerialNumberLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Serial Number:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="_tokenSerialNumber">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="_tokenSessionCountLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Session Count:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="_tokenSessionCount">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="_tokenRWSessionCountLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RW Session Count:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLabel" name="_tokenRWSessionCount">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="_tokenPinLenLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>PIN Length:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="_tokenPinLen">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="_tokenPublicMemoryLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Public Memory:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QLabel" name="_tokenPublicMemory">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="_tokenPrivateMemoryLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Private Memory:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLabel" name="_tokenPrivateMemory">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="_tokenHardwareVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Hardware Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<widget class="QLabel" name="_tokenHardwareVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="_tokenFirmwareVersionLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Firmware Version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<widget class="QLabel" name="_tokenFirmwareVersion">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0">
|
||||
<widget class="QLabel" name="_tokenUTCTimeLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>UTC Time:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="1">
|
||||
<widget class="QLabel" name="_tokenUTCTime">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>General Flags</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="_rng">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Random Number Generator</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="_clockOnToken">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Clock On Token</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="_writeProtected">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Write Protected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="_protectedAuthenticationPath">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Protected Authentication Path</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="_loginRequired">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Login Required</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="_dualCryptoOperations">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dual Crypto Operations</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="_userPinInitialized">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>User PIN Initialized</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="_tokenInitialized">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Token Initialized</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="_restoreKeyNotNeeded">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Restore Key Not Needed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="_secondaryAuthentication">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Secondary Authentication</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>User PIN Flags</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||
<item>
|
||||
<widget class="QLabel" name="_userPinCountLow">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Count Low</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_userPinFinalTry">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Final Try</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_userPinLocked">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Locked</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_userPinToBeChanged">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>To Be Changed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>SO PIN Flags</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||
<item>
|
||||
<widget class="QLabel" name="_soPinCountLow">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Count Low</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_soPinFinalTry">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Final Try</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_soPinLocked">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Locked</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="_soPinToBeChanged">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>To Be Changed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="">
|
||||
<attribute name="title">
|
||||
<string>Certificates</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="_certificates">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::ActionsContextMenu</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="animated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="headerVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Value</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>PIN:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="_pin">
|
||||
<property name="echoMode">
|
||||
<enum>QLineEdit::Password</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>737</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="_slots">
|
||||
<property name="title">
|
||||
<string>Slots</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuEdit">
|
||||
<property name="title">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
<addaction name="actionDeleteSelectedCertificate"/>
|
||||
</widget>
|
||||
<addaction name="_slots"/>
|
||||
<addaction name="menuEdit"/>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
<action name="actionDeleteSelectedCertificate">
|
||||
<property name="text">
|
||||
<string>Delete Selected Certificate</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Delete selected Certificate</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Del</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
373
src/tokentool_de.ts
Normal file
373
src/tokentool_de.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="de_DE">
|
||||
<defaultcodec>UTF-8</defaultcodec>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="main.cxx" line="39"/>
|
||||
<source>tokentool</source>
|
||||
<comment>application name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="52"/>
|
||||
<source>Usage: %1 [OPTIONS...]
|
||||
Options:
|
||||
-h, --help show this help text
|
||||
Environment:
|
||||
LANGUAGE "de", "en", ... (actual: %2)
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="64"/>
|
||||
<source>Too few arguments.
|
||||
Try: %1 --help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>tokentool</name>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="25"/>
|
||||
<source>Hardware</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="57"/>
|
||||
<source>Slot Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="71"/>
|
||||
<source>Slot Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="129"/>
|
||||
<location filename="tokentool.ui" line="668"/>
|
||||
<source>Hardware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="158"/>
|
||||
<location filename="tokentool.ui" line="694"/>
|
||||
<source>Firmware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="189"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="207"/>
|
||||
<source>Token Present</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="226"/>
|
||||
<source>Removable Device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="245"/>
|
||||
<source>Hardware Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="266"/>
|
||||
<source><Library></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="280"/>
|
||||
<source>Cryptoki Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="332"/>
|
||||
<source>Library Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="358"/>
|
||||
<source>Library Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="418"/>
|
||||
<source>Token Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="434"/>
|
||||
<source>Label:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="486"/>
|
||||
<source>Model:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="512"/>
|
||||
<source>Serial Number:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="538"/>
|
||||
<source>Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="564"/>
|
||||
<source>RW Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="590"/>
|
||||
<source>PIN Length:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="616"/>
|
||||
<source>Public Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="642"/>
|
||||
<source>Private Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="720"/>
|
||||
<source>UTC Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="750"/>
|
||||
<source>General Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="768"/>
|
||||
<source>Random Number Generator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="787"/>
|
||||
<source>Clock On Token</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="806"/>
|
||||
<source>Write Protected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="825"/>
|
||||
<source>Protected Authentication Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="844"/>
|
||||
<source>Login Required</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="863"/>
|
||||
<source>Dual Crypto Operations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="882"/>
|
||||
<source>User PIN Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="901"/>
|
||||
<source>Token Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="920"/>
|
||||
<source>Restore Key Not Needed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="939"/>
|
||||
<source>Secondary Authentication</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="955"/>
|
||||
<source>User PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="973"/>
|
||||
<location filename="tokentool.ui" line="1064"/>
|
||||
<source>Count Low</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="992"/>
|
||||
<location filename="tokentool.ui" line="1083"/>
|
||||
<source>Final Try</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1011"/>
|
||||
<location filename="tokentool.ui" line="1102"/>
|
||||
<source>Locked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1030"/>
|
||||
<location filename="tokentool.ui" line="1121"/>
|
||||
<source>To Be Changed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1046"/>
|
||||
<source>SO PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1210"/>
|
||||
<source>PIN:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1245"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1255"/>
|
||||
<source>Delete Selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1258"/>
|
||||
<source>Delete selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1261"/>
|
||||
<source>Del</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="100"/>
|
||||
<location filename="tokentool.ui" line="306"/>
|
||||
<location filename="tokentool.ui" line="460"/>
|
||||
<source>Manufacturer ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1167"/>
|
||||
<source>Certificates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1195"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1200"/>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1240"/>
|
||||
<source>Slots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="194"/>
|
||||
<source>Valid Since</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="198"/>
|
||||
<source>Valid Until</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="202"/>
|
||||
<source>Certificate Serial Number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="206"/>
|
||||
<source>Subject Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="224"/>
|
||||
<source>Issuer Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="262"/>
|
||||
<source>E-Mail</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="263"/>
|
||||
<source>URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="265"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject alternate name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="272"/>
|
||||
<source>Organization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="274"/>
|
||||
<source>Common Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="276"/>
|
||||
<source>Locality</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="278"/>
|
||||
<source>Organizational Unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="280"/>
|
||||
<source>Country</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="282"/>
|
||||
<source>State or Province</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="284"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject info</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
373
src/tokentool_en.ts
Normal file
373
src/tokentool_en.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="en_US">
|
||||
<defaultcodec>UTF-8</defaultcodec>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="main.cxx" line="39"/>
|
||||
<source>tokentool</source>
|
||||
<comment>application name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="52"/>
|
||||
<source>Usage: %1 [OPTIONS...]
|
||||
Options:
|
||||
-h, --help show this help text
|
||||
Environment:
|
||||
LANGUAGE "de", "en", ... (actual: %2)
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="64"/>
|
||||
<source>Too few arguments.
|
||||
Try: %1 --help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>tokentool</name>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="25"/>
|
||||
<source>Hardware</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="57"/>
|
||||
<source>Slot Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="71"/>
|
||||
<source>Slot Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="129"/>
|
||||
<location filename="tokentool.ui" line="668"/>
|
||||
<source>Hardware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="158"/>
|
||||
<location filename="tokentool.ui" line="694"/>
|
||||
<source>Firmware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="189"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="207"/>
|
||||
<source>Token Present</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="226"/>
|
||||
<source>Removable Device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="245"/>
|
||||
<source>Hardware Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="266"/>
|
||||
<source><Library></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="280"/>
|
||||
<source>Cryptoki Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="332"/>
|
||||
<source>Library Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="358"/>
|
||||
<source>Library Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="418"/>
|
||||
<source>Token Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="434"/>
|
||||
<source>Label:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="486"/>
|
||||
<source>Model:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="512"/>
|
||||
<source>Serial Number:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="538"/>
|
||||
<source>Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="564"/>
|
||||
<source>RW Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="590"/>
|
||||
<source>PIN Length:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="616"/>
|
||||
<source>Public Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="642"/>
|
||||
<source>Private Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="720"/>
|
||||
<source>UTC Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="750"/>
|
||||
<source>General Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="768"/>
|
||||
<source>Random Number Generator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="787"/>
|
||||
<source>Clock On Token</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="806"/>
|
||||
<source>Write Protected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="825"/>
|
||||
<source>Protected Authentication Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="844"/>
|
||||
<source>Login Required</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="863"/>
|
||||
<source>Dual Crypto Operations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="882"/>
|
||||
<source>User PIN Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="901"/>
|
||||
<source>Token Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="920"/>
|
||||
<source>Restore Key Not Needed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="939"/>
|
||||
<source>Secondary Authentication</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="955"/>
|
||||
<source>User PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="973"/>
|
||||
<location filename="tokentool.ui" line="1064"/>
|
||||
<source>Count Low</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="992"/>
|
||||
<location filename="tokentool.ui" line="1083"/>
|
||||
<source>Final Try</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1011"/>
|
||||
<location filename="tokentool.ui" line="1102"/>
|
||||
<source>Locked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1030"/>
|
||||
<location filename="tokentool.ui" line="1121"/>
|
||||
<source>To Be Changed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1046"/>
|
||||
<source>SO PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1210"/>
|
||||
<source>PIN:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1245"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1255"/>
|
||||
<source>Delete Selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1258"/>
|
||||
<source>Delete selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1261"/>
|
||||
<source>Del</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="100"/>
|
||||
<location filename="tokentool.ui" line="306"/>
|
||||
<location filename="tokentool.ui" line="460"/>
|
||||
<source>Manufacturer ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1167"/>
|
||||
<source>Certificates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1195"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1200"/>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1240"/>
|
||||
<source>Slots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="194"/>
|
||||
<source>Valid Since</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="198"/>
|
||||
<source>Valid Until</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="202"/>
|
||||
<source>Certificate Serial Number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="206"/>
|
||||
<source>Subject Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="224"/>
|
||||
<source>Issuer Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="262"/>
|
||||
<source>E-Mail</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="263"/>
|
||||
<source>URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="265"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject alternate name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="272"/>
|
||||
<source>Organization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="274"/>
|
||||
<source>Common Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="276"/>
|
||||
<source>Locality</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="278"/>
|
||||
<source>Organizational Unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="280"/>
|
||||
<source>Country</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="282"/>
|
||||
<source>State or Province</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="284"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject info</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
373
src/tokentool_fr.ts
Normal file
373
src/tokentool_fr.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="fr_FR">
|
||||
<defaultcodec>UTF-8</defaultcodec>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="main.cxx" line="39"/>
|
||||
<source>tokentool</source>
|
||||
<comment>application name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="52"/>
|
||||
<source>Usage: %1 [OPTIONS...]
|
||||
Options:
|
||||
-h, --help show this help text
|
||||
Environment:
|
||||
LANGUAGE "de", "en", ... (actual: %2)
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="64"/>
|
||||
<source>Too few arguments.
|
||||
Try: %1 --help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>tokentool</name>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="25"/>
|
||||
<source>Hardware</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="57"/>
|
||||
<source>Slot Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="71"/>
|
||||
<source>Slot Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="129"/>
|
||||
<location filename="tokentool.ui" line="668"/>
|
||||
<source>Hardware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="158"/>
|
||||
<location filename="tokentool.ui" line="694"/>
|
||||
<source>Firmware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="189"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="207"/>
|
||||
<source>Token Present</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="226"/>
|
||||
<source>Removable Device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="245"/>
|
||||
<source>Hardware Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="266"/>
|
||||
<source><Library></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="280"/>
|
||||
<source>Cryptoki Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="332"/>
|
||||
<source>Library Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="358"/>
|
||||
<source>Library Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="418"/>
|
||||
<source>Token Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="434"/>
|
||||
<source>Label:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="486"/>
|
||||
<source>Model:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="512"/>
|
||||
<source>Serial Number:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="538"/>
|
||||
<source>Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="564"/>
|
||||
<source>RW Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="590"/>
|
||||
<source>PIN Length:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="616"/>
|
||||
<source>Public Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="642"/>
|
||||
<source>Private Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="720"/>
|
||||
<source>UTC Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="750"/>
|
||||
<source>General Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="768"/>
|
||||
<source>Random Number Generator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="787"/>
|
||||
<source>Clock On Token</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="806"/>
|
||||
<source>Write Protected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="825"/>
|
||||
<source>Protected Authentication Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="844"/>
|
||||
<source>Login Required</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="863"/>
|
||||
<source>Dual Crypto Operations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="882"/>
|
||||
<source>User PIN Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="901"/>
|
||||
<source>Token Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="920"/>
|
||||
<source>Restore Key Not Needed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="939"/>
|
||||
<source>Secondary Authentication</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="955"/>
|
||||
<source>User PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="973"/>
|
||||
<location filename="tokentool.ui" line="1064"/>
|
||||
<source>Count Low</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="992"/>
|
||||
<location filename="tokentool.ui" line="1083"/>
|
||||
<source>Final Try</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1011"/>
|
||||
<location filename="tokentool.ui" line="1102"/>
|
||||
<source>Locked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1030"/>
|
||||
<location filename="tokentool.ui" line="1121"/>
|
||||
<source>To Be Changed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1046"/>
|
||||
<source>SO PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1210"/>
|
||||
<source>PIN:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1245"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1255"/>
|
||||
<source>Delete Selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1258"/>
|
||||
<source>Delete selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1261"/>
|
||||
<source>Del</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="100"/>
|
||||
<location filename="tokentool.ui" line="306"/>
|
||||
<location filename="tokentool.ui" line="460"/>
|
||||
<source>Manufacturer ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1167"/>
|
||||
<source>Certificates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1195"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1200"/>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1240"/>
|
||||
<source>Slots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="194"/>
|
||||
<source>Valid Since</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="198"/>
|
||||
<source>Valid Until</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="202"/>
|
||||
<source>Certificate Serial Number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="206"/>
|
||||
<source>Subject Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="224"/>
|
||||
<source>Issuer Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="262"/>
|
||||
<source>E-Mail</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="263"/>
|
||||
<source>URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="265"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject alternate name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="272"/>
|
||||
<source>Organization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="274"/>
|
||||
<source>Common Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="276"/>
|
||||
<source>Locality</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="278"/>
|
||||
<source>Organizational Unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="280"/>
|
||||
<source>Country</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="282"/>
|
||||
<source>State or Province</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="284"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject info</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
373
src/tokentool_it.ts
Normal file
373
src/tokentool_it.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="it_IT">
|
||||
<defaultcodec>UTF-8</defaultcodec>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="main.cxx" line="39"/>
|
||||
<source>tokentool</source>
|
||||
<comment>application name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="52"/>
|
||||
<source>Usage: %1 [OPTIONS...]
|
||||
Options:
|
||||
-h, --help show this help text
|
||||
Environment:
|
||||
LANGUAGE "de", "en", ... (actual: %2)
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="main.cxx" line="64"/>
|
||||
<source>Too few arguments.
|
||||
Try: %1 --help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>tokentool</name>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="14"/>
|
||||
<source>MainWindow</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="25"/>
|
||||
<source>Hardware</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="57"/>
|
||||
<source>Slot Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="71"/>
|
||||
<source>Slot Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="129"/>
|
||||
<location filename="tokentool.ui" line="668"/>
|
||||
<source>Hardware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="158"/>
|
||||
<location filename="tokentool.ui" line="694"/>
|
||||
<source>Firmware Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="189"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="207"/>
|
||||
<source>Token Present</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="226"/>
|
||||
<source>Removable Device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="245"/>
|
||||
<source>Hardware Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="266"/>
|
||||
<source><Library></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="280"/>
|
||||
<source>Cryptoki Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="332"/>
|
||||
<source>Library Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="358"/>
|
||||
<source>Library Version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="418"/>
|
||||
<source>Token Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="434"/>
|
||||
<source>Label:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="486"/>
|
||||
<source>Model:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="512"/>
|
||||
<source>Serial Number:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="538"/>
|
||||
<source>Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="564"/>
|
||||
<source>RW Session Count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="590"/>
|
||||
<source>PIN Length:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="616"/>
|
||||
<source>Public Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="642"/>
|
||||
<source>Private Memory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="720"/>
|
||||
<source>UTC Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="750"/>
|
||||
<source>General Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="768"/>
|
||||
<source>Random Number Generator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="787"/>
|
||||
<source>Clock On Token</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="806"/>
|
||||
<source>Write Protected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="825"/>
|
||||
<source>Protected Authentication Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="844"/>
|
||||
<source>Login Required</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="863"/>
|
||||
<source>Dual Crypto Operations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="882"/>
|
||||
<source>User PIN Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="901"/>
|
||||
<source>Token Initialized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="920"/>
|
||||
<source>Restore Key Not Needed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="939"/>
|
||||
<source>Secondary Authentication</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="955"/>
|
||||
<source>User PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="973"/>
|
||||
<location filename="tokentool.ui" line="1064"/>
|
||||
<source>Count Low</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="992"/>
|
||||
<location filename="tokentool.ui" line="1083"/>
|
||||
<source>Final Try</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1011"/>
|
||||
<location filename="tokentool.ui" line="1102"/>
|
||||
<source>Locked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1030"/>
|
||||
<location filename="tokentool.ui" line="1121"/>
|
||||
<source>To Be Changed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1046"/>
|
||||
<source>SO PIN Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1210"/>
|
||||
<source>PIN:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1245"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1255"/>
|
||||
<source>Delete Selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1258"/>
|
||||
<source>Delete selected Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1261"/>
|
||||
<source>Del</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="100"/>
|
||||
<location filename="tokentool.ui" line="306"/>
|
||||
<location filename="tokentool.ui" line="460"/>
|
||||
<source>Manufacturer ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1167"/>
|
||||
<source>Certificates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1195"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1200"/>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.ui" line="1240"/>
|
||||
<source>Slots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="194"/>
|
||||
<source>Valid Since</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="198"/>
|
||||
<source>Valid Until</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="202"/>
|
||||
<source>Certificate Serial Number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="206"/>
|
||||
<source>Subject Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="224"/>
|
||||
<source>Issuer Info</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="262"/>
|
||||
<source>E-Mail</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="263"/>
|
||||
<source>URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="265"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject alternate name</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="272"/>
|
||||
<source>Organization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="274"/>
|
||||
<source>Common Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="276"/>
|
||||
<source>Locality</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="278"/>
|
||||
<source>Organizational Unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="280"/>
|
||||
<source>Country</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="282"/>
|
||||
<source>State or Province</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="tokentool.hxx" line="284"/>
|
||||
<source>error</source>
|
||||
<comment>unknown certificate subject info</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
16
src/version.cxx.in
Normal file
16
src/version.cxx.in
Normal file
@@ -0,0 +1,16 @@
|
||||
/*! @file
|
||||
|
||||
@id $Id$
|
||||
*/
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace xml {
|
||||
std::string version() {
|
||||
return "@PACKAGENAME@-@VERSION@";
|
||||
}
|
||||
const std::string WHAT("#(@) @PACKAGENAME@-@VERSION@");
|
||||
const std::string IDENT("$Id: @PACKAGENAME@-@VERSION@ $");
|
||||
}
|
Reference in New Issue
Block a user