migrated to new build system

This commit is contained in:
Marc Wäckerlin
2015-11-11 12:30:39 +00:00
parent 1c5e2a72bb
commit 7395530e93
60 changed files with 6506 additions and 4216 deletions

View File

@@ -10,12 +10,12 @@
#include <tokentool.hxx>
#include <QtGui/QApplication>
#include <QtCore/QTranslator>
#include <QtCore/QTextCodec>
#include <QtCore/QLocale>
#include <QtCore/QProcess>
#include <QtCore/QFileInfo>
#include <QApplication>
#include <QTranslator>
#include <QTextCodec>
#include <QLocale>
#include <QProcess>
#include <QFileInfo>
#include <iostream>
int main(int argv, char** argc) try {
@@ -30,10 +30,6 @@ int main(int argv, char** argc) try {
}
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",

View File

@@ -1,107 +1,70 @@
## @file
## @id $Id$
##
## $Id: makefile.am 7 2010-03-01 14:55:44Z marc $
## This file has been added:
## - by bootstrap.sh
## - on Wed, 11 November 2015 12:59:08 +0100
## Feel free to change it or even remove and rebuild it, up to your needs
##
## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
include_HEADERS =
bin_PROGRAMS = tokentool
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
## required to enable the translation feature
LANGUAGE_FILE_BASE = tokentool
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = @PACKAGENAME@.pc
pkgconfig2dir = $(datarootdir)/pkgconfig
pkgconfig2_DATA = $(pkgconfig_DATA)
## list here the Qt plugins your project depends on
## required to build Mac OS-X app-bundle
QT_PLUGINS = iconengines imageformats platforms
mypkgdir = ${datarootdir}/@PACKAGENAME@
mypkg_SCRIPTS =
mypkg_DATA = @PACKAGENAME@.xpm resources/@PACKAGENAME@.png
#### enable if you deliver a KDE/Gnome desktop file
#applicationsdir = /applications
#dist_applications_DATA = tokentool.desktop
applicationsdir = ${datarootdir}/applications
dist_applications_DATA = @PACKAGENAME@.desktop
#### enable (ev. instead of bin_PROGRAMS) if you build a library
#lib_LTLIBRARIES = tokentool.la
#tokentool_la_SOURCES = libmain.cxx version.cxx
## noop to prevent:
## «src/makefile.am: error: object 'version.$(OBJEXT)' created both with
## libtool and without»
#tokentool_la_CXXFLAGS = $(AM_CXXFLAGS)
EXTRA_DIST = $(pkgconfig_DATA).in resources *.cxx *.hxx *.ui *.ts *.qrc
## list headers that are required for build, but that are not installed
noinst_HEADERS = version.hxx
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)
## list all %.hxx files with Q_OBJECT as moc_%.cxx
tokentool_MOCFILES = moc_tokentool.cxx
QMAKE_PROJECT = qmake.pro
QMAKE_MAKEFILE = makefile.qmake
## list all %.ui files as ui_%.hxx
tokentool_UIFILES = ui_tokentool.hxx
QMAKE_TARGET = @PACKAGENAME@
## list all %.qrc resource files as qrc_%.cxx
## note: if there exists a directory %, the file %.qrc is generated from that
tokentool_RESOURCES = qrc_languages.cxx # qrc_resources.cxx
TARGETS = ${QMAKE_TARGET}
## list all final translation files, list all supported languages here
tokentool_TRANSLATIONS = ${LANGUAGE_FILE_BASE}_en.qm \
${LANGUAGE_FILE_BASE}_de.qm \
${LANGUAGE_FILE_BASE}_fr.qm \
${LANGUAGE_FILE_BASE}_it.qm
all: ${TARGETS} $(LANGS:%=@PACKAGENAME@_%.ts)
## list all C++ files that need translation
tokentool_TR_FILES = main.cxx version.cxx
rebuild-ts: $(LANGS)
${LUPDATE} @LUPDATE_ARGS@ ${QMAKE_PROJECT}
## automatic assembly, no need to change
tokentool_SOURCES = ${tokentool_TR_FILES} ${BUILT_SOURCES}
${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
## automatic assembly, no need to change
BUILT_SOURCES = ${tokentool_MOCFILES} ${tokentool_UIFILES} ${tokentool_TRANSLATIONS} ${tokentool_RESOURCES}
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}"
## automatic assembly, no need to change
EXTRA_DIST_TR = ${tokentool_MOCFILES:moc_%.cxx=%.hxx} ${tokentool_UIFILES:ui_%.hxx=%.ui}
## automatic assembly, no need to change
## except: adapt the pre-delivered qt_%.qm list (language files you copy from qt
EXTRA_DIST = ${EXTRA_DIST_TR} ${tokentool_RESOURCES:qrc_%.cxx:%.qrc} ${tokentool_TRANSLATIONS:%.qm=%.ts} qt_de.qm qt_fr.qm
@PACKAGENAME@_%.qm: @PACKAGENAME@_%.ts
${LRELEASE} $<
## automatic assembly, no need to change
LANGUAGE_FILES = ${EXTRA_DIST_TR} ${tokentool_TR_FILES}
%.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}
MAINTAINERCLEANFILES = makefile.in

View File

@@ -1,28 +0,0 @@
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@

View File

@@ -8,15 +8,24 @@
#ifndef __Tokentool_HXX__
#define __Tokentool_HXX__
#include <QtGui/QMainWindow>
#include <QtCore/QDateTime>
#include <QtNetwork/QSslCertificate>
#include <QMainWindow>
#include <QMessageBox>
#include <QProgressBar>
#include <QDateTime>
#include <QSslCertificate>
#include <ui_tokentool.h>
#include <memory>
#include <QtCore/QDebug>
#include <QDebug>
#include <cryptoki.hxx>
#if QT_VERSION >= 0x050000
namespace QSsl {
typedef AlternativeNameEntryType AlternateNameEntryType;
}
#endif
inline QString qs(const std::string& s) {
return QString::fromStdString(s);
}
@@ -26,43 +35,99 @@ template<std::string::size_type SIZE>
return QString::fromStdString(s);
}
class Progress: public QProgressBar {
public:
Progress() {
reset();
}
Progress& steps(int incr) {
setMaximum(maximum()+incr);
setVisible(value()<maximum());
return *this;
}
Progress& operator++() {
setValue(value()+1);
setVisible(value()<maximum());
if (value()>=maximum()) {
setMaximum(0);
setValue(0);
}
return *this;
}
Progress& reset() {
setMinimum(0);
setMaximum(0);
setValue(0);
setVisible(false);
return *this;
}
};
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);
QMainWindow(p), _slot(0), _progress(new Progress) {
try {
setupUi(this);
statusBar()->addPermanentWidget(_progress, 2);
show();
_progress->steps(3);
_cryptoki = std::auto_ptr<cryptoki::Library>(new cryptoki::Library(lib));
++*_progress;
_certificates->addAction(actionDeleteSelectedCertificate);
libraryInfo(lib);
++*_progress;
on_actionRescan_triggered();
++*_progress;
} catch (...) {
QMessageBox::critical(this, tr("Initialization Failed"),
tr("SmardCard Initialization Failed"));
}
on__certificates_itemSelectionChanged();
}
private Q_SLOTS:
void on_actionRescan_triggered() {
qDebug()<<__PRETTY_FUNCTION__;
static bool lock(false);
if (lock) return;
lock = true;
try {
_slot = 0;
_slots->clear();
_slotList = _cryptoki->slotList(false);
_progress->steps(_slotList.size());
for (cryptoki::SlotList::iterator it(_slotList.begin());
it!=_slotList.end(); ++it) {
qDebug()<<"Add Slot";
QAction* a(_slots->addAction(qs(it->slotinfo().slotDescription)));
a->setCheckable(true);
a->setData((qulonglong)&*it);
assert(connect(a, SIGNAL(triggered(bool)), SLOT(chosen(bool))));
if (!_slot) a->trigger();
++*_progress;
}
qDebug()<<"DONE";
} catch (...) {} // ignore
lock = false;
on__certificates_itemSelectionChanged();
}
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());
->setEnabled(_certificates->selectedItems().size()
&&!_pin->text().isEmpty());
}
void chosen(bool checked) {
if (!checked) return;
void on__pin_textChanged(const QString&) {
on__certificates_itemSelectionChanged();
}
void chosen(bool) {
_pin->clear();
QAction* a(qobject_cast<QAction*>(sender()));
a->setChecked(true);
QMenu* m(qobject_cast<QMenu*>(a->parent()));
QObjectList actions(m->children());
for (QObjectList::iterator it(actions.begin());it!=actions.end(); ++it)
@@ -73,15 +138,22 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
}
void setup() {
try {
if (!_slot) return;
slotInfo(_slot->slotinfo());
tokenInfo(_slot->tokeninfo());
certificates(*_slot);
} catch (...) {}
_progress->steps(3);
slotInfo();
++*_progress;
tokenInfo();
++*_progress;
certificates();
++*_progress;
objects();
} catch (...) {
_progress->reset();
on_actionRescan_triggered();
}
}
void libraryInfo(std::string lib) {
_soname->setTitle(qs(lib));
cryptoki::Info inf(_cryptoki.info());
_soname->setText(qs(lib));
cryptoki::Info inf(_cryptoki->info());
_libraryCryptokiVersion->setText(QString("%1.%2")
.arg(inf.cryptokiVersion.major)
.arg(inf.cryptokiVersion.minor));
@@ -91,97 +163,141 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
.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 slotInfo() {
try {
if (!_slot) return;
_hardware->setTabEnabled(1, true);
cryptoki::SlotInfo slotInfo(_slot->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);
} catch (...) {
_hardware->setTabEnabled(1, false);
}
}
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")
void tokenInfo() {
try {
if (!_slot) return;
_hardware->setTabEnabled(2, true);
_hardware->setTabEnabled(3, true);
cryptoki::TokenInfo tokenInfo(_slot->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.maxRwSessionCount)))
(tokenInfo.maxSessionCount)))
.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)))
(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);
_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);
} catch (...) {
_hardware->setTabEnabled(2, false);
_hardware->setTabEnabled(3, false);
}
}
void certificates(cryptoki::Slot& slot) {
void certificates() {
try {
_certificates->clear();
cryptoki::Session session(slot);
if (!_slot) return;
_certificates->setEnabled(true);
cryptoki::Session session(*_slot);
cryptoki::ObjectList certs
(session.find(cryptoki::Attribute(CKA_CLASS)
.from<CK_OBJECT_CLASS>(CKO_CERTIFICATE)));
_progress->steps(certs.size());
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);
++*_progress;
}
} catch (...) {}
} catch (...) {
_certificates->setEnabled(false);
}
}
void objects() {
try {
_objects->clear();
if (!_slot) return;
_objects->setEnabled(true);
cryptoki::Session session(*_slot);
cryptoki::ObjectList objs(session.find());
_progress->steps(objs.size());
for (cryptoki::ObjectList::iterator obj(objs.begin());
obj!=objs.end(); ++obj) {
_objects->addTopLevelItem
(new QTreeWidgetItem
(QStringList()
<<qs(obj->attribute(CKA_LABEL).value)
<<qs(crypto::hex(obj->attribute(CKA_ID).value))));
++*_progress;
}
_objects->resizeColumnToContents(0);
_objects->resizeColumnToContents(1);
} catch (...) {
_objects->setEnabled(false);
}
}
void addCertificate(const std::string& label, const std::string& id,
const QSslCertificate& cert) {
@@ -210,11 +326,17 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
si=(QSslCertificate::SubjectInfo)((int)si-1))
if (!cert.subjectInfo(si).isEmpty()) {
it->addChild
((new QTreeWidgetItem(subjectInfo(cert, si))));
((new QTreeWidgetItem(subjectInfo(si)
<<utfConv(cert.subjectInfo(si)))));
}
it->setExpanded(true);
QMultiMap<QSsl::AlternateNameEntryType, QString>
asns(cert.alternateSubjectNames());
#if QT_VERSION <0x050000
asns(cert.alternateSubjectNames())
#else
asns(cert.subjectAlternativeNames())
#endif
;
for (QMultiMap<QSsl::AlternateNameEntryType, QString>::iterator
asn(asns.begin()); asn!=asns.end(); ++asn)
it->addChild
@@ -228,7 +350,8 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
si=(QSslCertificate::SubjectInfo)((int)si-1))
if (!cert.issuerInfo(si).isEmpty())
it->addChild
((new QTreeWidgetItem(subjectInfo(cert, si))));
((new QTreeWidgetItem(subjectInfo(si)
<<utfConv(cert.issuerInfo(si)))));
it->setExpanded(true);
_certificates->resizeColumnToContents(0);
_certificates->resizeColumnToContents(1);
@@ -236,13 +359,21 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
private:
void deleteCert(QTreeWidgetItem* item) {
if (!_slot) return;
if (_pin->text().isEmpty()) {
QMessageBox::critical(this, tr("PIN required"), tr("Please enter PIN"));
return;
}
if (item->parent()) return deleteCert(item->parent());
QByteArray qid(QByteArray::fromHex(item->data(0, Qt::UserRole).toByteArray()));
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());
try {
session.login(_pin->text().toStdString());
} catch (...) {
QMessageBox::critical(this, tr("Login Failed"), tr("Wrong PIN"));
return;
}
cryptoki::ObjectList objs
(session.find(cryptoki::AttributeList()
<<cryptoki::Attribute(CKA_CLASS)
@@ -250,10 +381,10 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
<<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();
QMessageBox::critical(this, tr("Delete Failed"),
tr("Certificate Deletion Failes"));
}
setup();
}
@@ -264,8 +395,7 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
}
return tr("error", "unknown certificate subject alternate name");
}
QStringList subjectInfo(const QSslCertificate& cert,
QSslCertificate::SubjectInfo si) {
QStringList subjectInfo(QSslCertificate::SubjectInfo si) {
QStringList res;
switch (si) {
case QSslCertificate::Organization:
@@ -283,19 +413,30 @@ class tokentool: public QMainWindow, protected Ui::tokentool {
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());
QByteArray value(txt.toLatin1());
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());
}
QStringList utfConv(const QStringList& txts) {
QStringList res;
Q_FOREACH(QString txt, txts) {
QByteArray value(txt.toLatin1());
for (int i(-1); (i=value.indexOf("\\x"))!=-1 && i+3<value.size();) {
value.replace(i, 4, QByteArray::fromHex(value.mid(i+2, 2)));
res<<QString::fromUtf8(value.data(), value.size());
}
}
return res;
}
private:
cryptoki::Init _cryptoki;
std::auto_ptr<cryptoki::Library> _cryptoki;
cryptoki::SlotList _slotList;
cryptoki::Slot* _slot;
Progress* _progress;
};
#endif

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>737</width>
<height>625</height>
<width>640</width>
<height>428</height>
</rect>
</property>
<property name="windowTitle">
@@ -20,1148 +20,6 @@
<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>&lt;Library&gt;</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>
@@ -1222,6 +80,1211 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>Objects</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_11">
<item row="0" column="0">
<widget class="QTreeWidget" name="_objects">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</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>
</layout>
</widget>
<widget class="QWidget" name="">
<attribute name="title">
<string>Hardware</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QTabWidget" name="_hardware">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>PKCS#11</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_6">
<item row="1" 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="1" 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="2" 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="2" 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="3" 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="3" 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="4" 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="4" 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>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Driver-Library:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="_soname">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>294</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>438</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Slot Info</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<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 row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>64</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<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>
<item row="2" column="0">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>397</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Token Info</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<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>
<item>
<spacer name="horizontalSpacer_4">
<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 class="QWidget" name="tab_4">
<attribute name="title">
<string>Token Info Flags</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0" 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="0">
<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="1">
<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>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>108</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>3</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
@@ -1231,7 +1294,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>737</width>
<width>640</width>
<height>23</height>
</rect>
</property>
@@ -1246,8 +1309,17 @@
</property>
<addaction name="actionDeleteSelectedCertificate"/>
</widget>
<addaction name="_slots"/>
<widget class="QMenu" name="menuFile">
<property name="title">
<string>File</string>
</property>
<addaction name="actionRescan"/>
<addaction name="separator"/>
<addaction name="actionQuit"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuEdit"/>
<addaction name="_slots"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionDeleteSelectedCertificate">
@@ -1261,7 +1333,46 @@
<string>Del</string>
</property>
</action>
<action name="actionRescan">
<property name="text">
<string>Rescan Slots</string>
</property>
<property name="shortcut">
<string>F5</string>
</property>
<property name="shortcutContext">
<enum>Qt::ApplicationShortcut</enum>
</property>
</action>
<action name="actionQuit">
<property name="text">
<string>Quit</string>
</property>
<property name="shortcutContext">
<enum>Qt::ApplicationShortcut</enum>
</property>
<property name="menuRole">
<enum>QAction::QuitRole</enum>
</property>
</action>
</widget>
<resources/>
<connections/>
<connections>
<connection>
<sender>actionQuit</sender>
<signal>triggered(bool)</signal>
<receiver>tokentool</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>368</x>
<y>312</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de_DE">
<defaultcodec>UTF-8</defaultcodec>
<TS version="2.1" language="de_DE">
<context>
<name>QObject</name>
<message>
@@ -11,7 +10,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cxx" line="52"/>
<location filename="main.cxx" line="53"/>
<source>Usage: %1 [OPTIONS...]
Options:
-h, --help show this help text
@@ -35,336 +34,413 @@ Try: %1 --help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="25"/>
<location filename="tokentool.ui" line="115"/>
<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>&lt;Library&gt;</source>
<location filename="tokentool.ui" line="125"/>
<source>PKCS#11</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="280"/>
<source>Slot Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="294"/>
<source>Slot Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="352"/>
<location filename="tokentool.ui" line="755"/>
<source>Hardware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="381"/>
<location filename="tokentool.ui" line="781"/>
<source>Firmware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="425"/>
<source>Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="443"/>
<source>Token Present</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="462"/>
<source>Removable Device</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="481"/>
<source>Hardware Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="139"/>
<source>Cryptoki Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="332"/>
<location filename="tokentool.ui" line="85"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="191"/>
<source>Library Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="358"/>
<location filename="tokentool.ui" line="217"/>
<source>Library Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="418"/>
<location filename="tokentool.ui" line="237"/>
<source>Driver-Library:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="505"/>
<source>Token Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="434"/>
<location filename="tokentool.ui" line="521"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="486"/>
<location filename="tokentool.ui" line="573"/>
<source>Model:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="512"/>
<location filename="tokentool.ui" line="599"/>
<source>Serial Number:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="538"/>
<location filename="tokentool.ui" line="625"/>
<source>Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="564"/>
<location filename="tokentool.ui" line="651"/>
<source>RW Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="590"/>
<location filename="tokentool.ui" line="677"/>
<source>PIN Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="616"/>
<location filename="tokentool.ui" line="703"/>
<source>Public Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="642"/>
<location filename="tokentool.ui" line="729"/>
<source>Private Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="720"/>
<location filename="tokentool.ui" line="807"/>
<source>UTC Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="750"/>
<location filename="tokentool.ui" line="858"/>
<source>Token Info Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="874"/>
<source>General Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="768"/>
<location filename="tokentool.ui" line="892"/>
<source>Random Number Generator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="787"/>
<location filename="tokentool.ui" line="911"/>
<source>Clock On Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="806"/>
<location filename="tokentool.ui" line="930"/>
<source>Write Protected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="825"/>
<location filename="tokentool.ui" line="949"/>
<source>Protected Authentication Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="844"/>
<location filename="tokentool.ui" line="968"/>
<source>Login Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="863"/>
<location filename="tokentool.ui" line="987"/>
<source>Dual Crypto Operations</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="882"/>
<location filename="tokentool.ui" line="1006"/>
<source>User PIN Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="901"/>
<location filename="tokentool.ui" line="1025"/>
<source>Token Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="920"/>
<location filename="tokentool.ui" line="1044"/>
<source>Restore Key Not Needed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="939"/>
<location filename="tokentool.ui" line="1063"/>
<source>Secondary Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="955"/>
<location filename="tokentool.ui" line="1079"/>
<source>User PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="973"/>
<location filename="tokentool.ui" line="1064"/>
<location filename="tokentool.ui" line="1097"/>
<location filename="tokentool.ui" line="1188"/>
<source>Count Low</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="992"/>
<location filename="tokentool.ui" line="1083"/>
<location filename="tokentool.ui" line="1116"/>
<location filename="tokentool.ui" line="1207"/>
<source>Final Try</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1011"/>
<location filename="tokentool.ui" line="1102"/>
<location filename="tokentool.ui" line="1135"/>
<location filename="tokentool.ui" line="1226"/>
<source>Locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1030"/>
<location filename="tokentool.ui" line="1121"/>
<location filename="tokentool.ui" line="1154"/>
<location filename="tokentool.ui" line="1245"/>
<source>To Be Changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1046"/>
<location filename="tokentool.ui" line="1170"/>
<source>SO PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1210"/>
<location filename="tokentool.ui" line="68"/>
<source>PIN:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1245"/>
<location filename="tokentool.ui" line="1308"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1255"/>
<location filename="tokentool.ui" line="1314"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1327"/>
<source>Delete Selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1258"/>
<location filename="tokentool.ui" line="1330"/>
<source>Delete selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1261"/>
<location filename="tokentool.ui" line="1333"/>
<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"/>
<location filename="tokentool.ui" line="1338"/>
<source>Rescan Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1341"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1349"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="165"/>
<location filename="tokentool.ui" line="323"/>
<location filename="tokentool.ui" line="547"/>
<source>Manufacturer ID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1167"/>
<location filename="tokentool.ui" line="25"/>
<source>Certificates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1195"/>
<location filename="tokentool.ui" line="53"/>
<location filename="tokentool.ui" line="101"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1200"/>
<location filename="tokentool.ui" line="58"/>
<location filename="tokentool.ui" line="106"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1240"/>
<location filename="tokentool.ui" line="1303"/>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="194"/>
<location filename="tokentool.hxx" line="79"/>
<source>Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="80"/>
<source>SmardCard Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="304"/>
<source>Valid Since</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="198"/>
<location filename="tokentool.hxx" line="308"/>
<source>Valid Until</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="202"/>
<location filename="tokentool.hxx" line="312"/>
<source>Certificate Serial Number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="206"/>
<location filename="tokentool.hxx" line="316"/>
<source>Subject Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="224"/>
<location filename="tokentool.hxx" line="335"/>
<source>Issuer Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="262"/>
<location filename="tokentool.hxx" line="352"/>
<source>PIN required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="352"/>
<source>Please enter PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Login Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Wrong PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="375"/>
<source>Delete Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="376"/>
<source>Certificate Deletion Failes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="382"/>
<source>E-Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="263"/>
<location filename="tokentool.hxx" line="383"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="265"/>
<location filename="tokentool.hxx" line="385"/>
<source>error</source>
<comment>unknown certificate subject alternate name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="272"/>
<location filename="tokentool.hxx" line="391"/>
<source>Organization</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="274"/>
<location filename="tokentool.hxx" line="393"/>
<source>Common Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="276"/>
<location filename="tokentool.hxx" line="395"/>
<source>Locality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="278"/>
<location filename="tokentool.hxx" line="397"/>
<source>Organizational Unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="280"/>
<location filename="tokentool.hxx" line="399"/>
<source>Country</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="282"/>
<location filename="tokentool.hxx" line="401"/>
<source>State or Province</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="284"/>
<location filename="tokentool.hxx" line="403"/>
<source>error</source>
<comment>unknown certificate subject info</comment>
<translation type="unfinished"></translation>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<defaultcodec>UTF-8</defaultcodec>
<TS version="2.1" language="en_US">
<context>
<name>QObject</name>
<message>
@@ -11,7 +10,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cxx" line="52"/>
<location filename="main.cxx" line="53"/>
<source>Usage: %1 [OPTIONS...]
Options:
-h, --help show this help text
@@ -35,336 +34,413 @@ Try: %1 --help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="25"/>
<location filename="tokentool.ui" line="115"/>
<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>&lt;Library&gt;</source>
<location filename="tokentool.ui" line="125"/>
<source>PKCS#11</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="280"/>
<source>Slot Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="294"/>
<source>Slot Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="352"/>
<location filename="tokentool.ui" line="755"/>
<source>Hardware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="381"/>
<location filename="tokentool.ui" line="781"/>
<source>Firmware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="425"/>
<source>Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="443"/>
<source>Token Present</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="462"/>
<source>Removable Device</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="481"/>
<source>Hardware Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="139"/>
<source>Cryptoki Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="332"/>
<location filename="tokentool.ui" line="85"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="191"/>
<source>Library Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="358"/>
<location filename="tokentool.ui" line="217"/>
<source>Library Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="418"/>
<location filename="tokentool.ui" line="237"/>
<source>Driver-Library:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="505"/>
<source>Token Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="434"/>
<location filename="tokentool.ui" line="521"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="486"/>
<location filename="tokentool.ui" line="573"/>
<source>Model:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="512"/>
<location filename="tokentool.ui" line="599"/>
<source>Serial Number:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="538"/>
<location filename="tokentool.ui" line="625"/>
<source>Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="564"/>
<location filename="tokentool.ui" line="651"/>
<source>RW Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="590"/>
<location filename="tokentool.ui" line="677"/>
<source>PIN Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="616"/>
<location filename="tokentool.ui" line="703"/>
<source>Public Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="642"/>
<location filename="tokentool.ui" line="729"/>
<source>Private Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="720"/>
<location filename="tokentool.ui" line="807"/>
<source>UTC Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="750"/>
<location filename="tokentool.ui" line="858"/>
<source>Token Info Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="874"/>
<source>General Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="768"/>
<location filename="tokentool.ui" line="892"/>
<source>Random Number Generator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="787"/>
<location filename="tokentool.ui" line="911"/>
<source>Clock On Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="806"/>
<location filename="tokentool.ui" line="930"/>
<source>Write Protected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="825"/>
<location filename="tokentool.ui" line="949"/>
<source>Protected Authentication Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="844"/>
<location filename="tokentool.ui" line="968"/>
<source>Login Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="863"/>
<location filename="tokentool.ui" line="987"/>
<source>Dual Crypto Operations</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="882"/>
<location filename="tokentool.ui" line="1006"/>
<source>User PIN Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="901"/>
<location filename="tokentool.ui" line="1025"/>
<source>Token Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="920"/>
<location filename="tokentool.ui" line="1044"/>
<source>Restore Key Not Needed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="939"/>
<location filename="tokentool.ui" line="1063"/>
<source>Secondary Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="955"/>
<location filename="tokentool.ui" line="1079"/>
<source>User PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="973"/>
<location filename="tokentool.ui" line="1064"/>
<location filename="tokentool.ui" line="1097"/>
<location filename="tokentool.ui" line="1188"/>
<source>Count Low</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="992"/>
<location filename="tokentool.ui" line="1083"/>
<location filename="tokentool.ui" line="1116"/>
<location filename="tokentool.ui" line="1207"/>
<source>Final Try</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1011"/>
<location filename="tokentool.ui" line="1102"/>
<location filename="tokentool.ui" line="1135"/>
<location filename="tokentool.ui" line="1226"/>
<source>Locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1030"/>
<location filename="tokentool.ui" line="1121"/>
<location filename="tokentool.ui" line="1154"/>
<location filename="tokentool.ui" line="1245"/>
<source>To Be Changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1046"/>
<location filename="tokentool.ui" line="1170"/>
<source>SO PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1210"/>
<location filename="tokentool.ui" line="68"/>
<source>PIN:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1245"/>
<location filename="tokentool.ui" line="1308"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1255"/>
<location filename="tokentool.ui" line="1314"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1327"/>
<source>Delete Selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1258"/>
<location filename="tokentool.ui" line="1330"/>
<source>Delete selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1261"/>
<location filename="tokentool.ui" line="1333"/>
<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"/>
<location filename="tokentool.ui" line="1338"/>
<source>Rescan Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1341"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1349"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="165"/>
<location filename="tokentool.ui" line="323"/>
<location filename="tokentool.ui" line="547"/>
<source>Manufacturer ID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1167"/>
<location filename="tokentool.ui" line="25"/>
<source>Certificates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1195"/>
<location filename="tokentool.ui" line="53"/>
<location filename="tokentool.ui" line="101"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1200"/>
<location filename="tokentool.ui" line="58"/>
<location filename="tokentool.ui" line="106"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1240"/>
<location filename="tokentool.ui" line="1303"/>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="194"/>
<location filename="tokentool.hxx" line="79"/>
<source>Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="80"/>
<source>SmardCard Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="304"/>
<source>Valid Since</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="198"/>
<location filename="tokentool.hxx" line="308"/>
<source>Valid Until</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="202"/>
<location filename="tokentool.hxx" line="312"/>
<source>Certificate Serial Number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="206"/>
<location filename="tokentool.hxx" line="316"/>
<source>Subject Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="224"/>
<location filename="tokentool.hxx" line="335"/>
<source>Issuer Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="262"/>
<location filename="tokentool.hxx" line="352"/>
<source>PIN required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="352"/>
<source>Please enter PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Login Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Wrong PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="375"/>
<source>Delete Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="376"/>
<source>Certificate Deletion Failes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="382"/>
<source>E-Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="263"/>
<location filename="tokentool.hxx" line="383"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="265"/>
<location filename="tokentool.hxx" line="385"/>
<source>error</source>
<comment>unknown certificate subject alternate name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="272"/>
<location filename="tokentool.hxx" line="391"/>
<source>Organization</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="274"/>
<location filename="tokentool.hxx" line="393"/>
<source>Common Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="276"/>
<location filename="tokentool.hxx" line="395"/>
<source>Locality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="278"/>
<location filename="tokentool.hxx" line="397"/>
<source>Organizational Unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="280"/>
<location filename="tokentool.hxx" line="399"/>
<source>Country</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="282"/>
<location filename="tokentool.hxx" line="401"/>
<source>State or Province</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="284"/>
<location filename="tokentool.hxx" line="403"/>
<source>error</source>
<comment>unknown certificate subject info</comment>
<translation type="unfinished"></translation>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fr_FR">
<defaultcodec>UTF-8</defaultcodec>
<TS version="2.1" language="fr_FR">
<context>
<name>QObject</name>
<message>
@@ -11,7 +10,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cxx" line="52"/>
<location filename="main.cxx" line="53"/>
<source>Usage: %1 [OPTIONS...]
Options:
-h, --help show this help text
@@ -35,336 +34,413 @@ Try: %1 --help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="25"/>
<location filename="tokentool.ui" line="115"/>
<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>&lt;Library&gt;</source>
<location filename="tokentool.ui" line="125"/>
<source>PKCS#11</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="280"/>
<source>Slot Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="294"/>
<source>Slot Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="352"/>
<location filename="tokentool.ui" line="755"/>
<source>Hardware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="381"/>
<location filename="tokentool.ui" line="781"/>
<source>Firmware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="425"/>
<source>Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="443"/>
<source>Token Present</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="462"/>
<source>Removable Device</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="481"/>
<source>Hardware Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="139"/>
<source>Cryptoki Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="332"/>
<location filename="tokentool.ui" line="85"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="191"/>
<source>Library Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="358"/>
<location filename="tokentool.ui" line="217"/>
<source>Library Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="418"/>
<location filename="tokentool.ui" line="237"/>
<source>Driver-Library:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="505"/>
<source>Token Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="434"/>
<location filename="tokentool.ui" line="521"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="486"/>
<location filename="tokentool.ui" line="573"/>
<source>Model:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="512"/>
<location filename="tokentool.ui" line="599"/>
<source>Serial Number:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="538"/>
<location filename="tokentool.ui" line="625"/>
<source>Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="564"/>
<location filename="tokentool.ui" line="651"/>
<source>RW Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="590"/>
<location filename="tokentool.ui" line="677"/>
<source>PIN Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="616"/>
<location filename="tokentool.ui" line="703"/>
<source>Public Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="642"/>
<location filename="tokentool.ui" line="729"/>
<source>Private Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="720"/>
<location filename="tokentool.ui" line="807"/>
<source>UTC Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="750"/>
<location filename="tokentool.ui" line="858"/>
<source>Token Info Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="874"/>
<source>General Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="768"/>
<location filename="tokentool.ui" line="892"/>
<source>Random Number Generator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="787"/>
<location filename="tokentool.ui" line="911"/>
<source>Clock On Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="806"/>
<location filename="tokentool.ui" line="930"/>
<source>Write Protected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="825"/>
<location filename="tokentool.ui" line="949"/>
<source>Protected Authentication Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="844"/>
<location filename="tokentool.ui" line="968"/>
<source>Login Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="863"/>
<location filename="tokentool.ui" line="987"/>
<source>Dual Crypto Operations</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="882"/>
<location filename="tokentool.ui" line="1006"/>
<source>User PIN Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="901"/>
<location filename="tokentool.ui" line="1025"/>
<source>Token Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="920"/>
<location filename="tokentool.ui" line="1044"/>
<source>Restore Key Not Needed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="939"/>
<location filename="tokentool.ui" line="1063"/>
<source>Secondary Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="955"/>
<location filename="tokentool.ui" line="1079"/>
<source>User PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="973"/>
<location filename="tokentool.ui" line="1064"/>
<location filename="tokentool.ui" line="1097"/>
<location filename="tokentool.ui" line="1188"/>
<source>Count Low</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="992"/>
<location filename="tokentool.ui" line="1083"/>
<location filename="tokentool.ui" line="1116"/>
<location filename="tokentool.ui" line="1207"/>
<source>Final Try</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1011"/>
<location filename="tokentool.ui" line="1102"/>
<location filename="tokentool.ui" line="1135"/>
<location filename="tokentool.ui" line="1226"/>
<source>Locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1030"/>
<location filename="tokentool.ui" line="1121"/>
<location filename="tokentool.ui" line="1154"/>
<location filename="tokentool.ui" line="1245"/>
<source>To Be Changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1046"/>
<location filename="tokentool.ui" line="1170"/>
<source>SO PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1210"/>
<location filename="tokentool.ui" line="68"/>
<source>PIN:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1245"/>
<location filename="tokentool.ui" line="1308"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1255"/>
<location filename="tokentool.ui" line="1314"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1327"/>
<source>Delete Selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1258"/>
<location filename="tokentool.ui" line="1330"/>
<source>Delete selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1261"/>
<location filename="tokentool.ui" line="1333"/>
<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"/>
<location filename="tokentool.ui" line="1338"/>
<source>Rescan Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1341"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1349"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="165"/>
<location filename="tokentool.ui" line="323"/>
<location filename="tokentool.ui" line="547"/>
<source>Manufacturer ID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1167"/>
<location filename="tokentool.ui" line="25"/>
<source>Certificates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1195"/>
<location filename="tokentool.ui" line="53"/>
<location filename="tokentool.ui" line="101"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1200"/>
<location filename="tokentool.ui" line="58"/>
<location filename="tokentool.ui" line="106"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1240"/>
<location filename="tokentool.ui" line="1303"/>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="194"/>
<location filename="tokentool.hxx" line="79"/>
<source>Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="80"/>
<source>SmardCard Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="304"/>
<source>Valid Since</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="198"/>
<location filename="tokentool.hxx" line="308"/>
<source>Valid Until</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="202"/>
<location filename="tokentool.hxx" line="312"/>
<source>Certificate Serial Number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="206"/>
<location filename="tokentool.hxx" line="316"/>
<source>Subject Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="224"/>
<location filename="tokentool.hxx" line="335"/>
<source>Issuer Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="262"/>
<location filename="tokentool.hxx" line="352"/>
<source>PIN required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="352"/>
<source>Please enter PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Login Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Wrong PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="375"/>
<source>Delete Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="376"/>
<source>Certificate Deletion Failes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="382"/>
<source>E-Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="263"/>
<location filename="tokentool.hxx" line="383"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="265"/>
<location filename="tokentool.hxx" line="385"/>
<source>error</source>
<comment>unknown certificate subject alternate name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="272"/>
<location filename="tokentool.hxx" line="391"/>
<source>Organization</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="274"/>
<location filename="tokentool.hxx" line="393"/>
<source>Common Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="276"/>
<location filename="tokentool.hxx" line="395"/>
<source>Locality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="278"/>
<location filename="tokentool.hxx" line="397"/>
<source>Organizational Unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="280"/>
<location filename="tokentool.hxx" line="399"/>
<source>Country</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="282"/>
<location filename="tokentool.hxx" line="401"/>
<source>State or Province</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="284"/>
<location filename="tokentool.hxx" line="403"/>
<source>error</source>
<comment>unknown certificate subject info</comment>
<translation type="unfinished"></translation>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="it_IT">
<defaultcodec>UTF-8</defaultcodec>
<TS version="2.1" language="it_IT">
<context>
<name>QObject</name>
<message>
@@ -11,7 +10,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="main.cxx" line="52"/>
<location filename="main.cxx" line="53"/>
<source>Usage: %1 [OPTIONS...]
Options:
-h, --help show this help text
@@ -35,336 +34,413 @@ Try: %1 --help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="25"/>
<location filename="tokentool.ui" line="115"/>
<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>&lt;Library&gt;</source>
<location filename="tokentool.ui" line="125"/>
<source>PKCS#11</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="280"/>
<source>Slot Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="294"/>
<source>Slot Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="352"/>
<location filename="tokentool.ui" line="755"/>
<source>Hardware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="381"/>
<location filename="tokentool.ui" line="781"/>
<source>Firmware Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="425"/>
<source>Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="443"/>
<source>Token Present</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="462"/>
<source>Removable Device</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="481"/>
<source>Hardware Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="139"/>
<source>Cryptoki Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="332"/>
<location filename="tokentool.ui" line="85"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="191"/>
<source>Library Description:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="358"/>
<location filename="tokentool.ui" line="217"/>
<source>Library Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="418"/>
<location filename="tokentool.ui" line="237"/>
<source>Driver-Library:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="505"/>
<source>Token Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="434"/>
<location filename="tokentool.ui" line="521"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="486"/>
<location filename="tokentool.ui" line="573"/>
<source>Model:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="512"/>
<location filename="tokentool.ui" line="599"/>
<source>Serial Number:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="538"/>
<location filename="tokentool.ui" line="625"/>
<source>Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="564"/>
<location filename="tokentool.ui" line="651"/>
<source>RW Session Count:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="590"/>
<location filename="tokentool.ui" line="677"/>
<source>PIN Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="616"/>
<location filename="tokentool.ui" line="703"/>
<source>Public Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="642"/>
<location filename="tokentool.ui" line="729"/>
<source>Private Memory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="720"/>
<location filename="tokentool.ui" line="807"/>
<source>UTC Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="750"/>
<location filename="tokentool.ui" line="858"/>
<source>Token Info Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="874"/>
<source>General Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="768"/>
<location filename="tokentool.ui" line="892"/>
<source>Random Number Generator</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="787"/>
<location filename="tokentool.ui" line="911"/>
<source>Clock On Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="806"/>
<location filename="tokentool.ui" line="930"/>
<source>Write Protected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="825"/>
<location filename="tokentool.ui" line="949"/>
<source>Protected Authentication Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="844"/>
<location filename="tokentool.ui" line="968"/>
<source>Login Required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="863"/>
<location filename="tokentool.ui" line="987"/>
<source>Dual Crypto Operations</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="882"/>
<location filename="tokentool.ui" line="1006"/>
<source>User PIN Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="901"/>
<location filename="tokentool.ui" line="1025"/>
<source>Token Initialized</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="920"/>
<location filename="tokentool.ui" line="1044"/>
<source>Restore Key Not Needed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="939"/>
<location filename="tokentool.ui" line="1063"/>
<source>Secondary Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="955"/>
<location filename="tokentool.ui" line="1079"/>
<source>User PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="973"/>
<location filename="tokentool.ui" line="1064"/>
<location filename="tokentool.ui" line="1097"/>
<location filename="tokentool.ui" line="1188"/>
<source>Count Low</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="992"/>
<location filename="tokentool.ui" line="1083"/>
<location filename="tokentool.ui" line="1116"/>
<location filename="tokentool.ui" line="1207"/>
<source>Final Try</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1011"/>
<location filename="tokentool.ui" line="1102"/>
<location filename="tokentool.ui" line="1135"/>
<location filename="tokentool.ui" line="1226"/>
<source>Locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1030"/>
<location filename="tokentool.ui" line="1121"/>
<location filename="tokentool.ui" line="1154"/>
<location filename="tokentool.ui" line="1245"/>
<source>To Be Changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1046"/>
<location filename="tokentool.ui" line="1170"/>
<source>SO PIN Flags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1210"/>
<location filename="tokentool.ui" line="68"/>
<source>PIN:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1245"/>
<location filename="tokentool.ui" line="1308"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1255"/>
<location filename="tokentool.ui" line="1314"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1327"/>
<source>Delete Selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1258"/>
<location filename="tokentool.ui" line="1330"/>
<source>Delete selected Certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1261"/>
<location filename="tokentool.ui" line="1333"/>
<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"/>
<location filename="tokentool.ui" line="1338"/>
<source>Rescan Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1341"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1349"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="165"/>
<location filename="tokentool.ui" line="323"/>
<location filename="tokentool.ui" line="547"/>
<source>Manufacturer ID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1167"/>
<location filename="tokentool.ui" line="25"/>
<source>Certificates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1195"/>
<location filename="tokentool.ui" line="53"/>
<location filename="tokentool.ui" line="101"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1200"/>
<location filename="tokentool.ui" line="58"/>
<location filename="tokentool.ui" line="106"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.ui" line="1240"/>
<location filename="tokentool.ui" line="1303"/>
<source>Slots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="194"/>
<location filename="tokentool.hxx" line="79"/>
<source>Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="80"/>
<source>SmardCard Initialization Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="304"/>
<source>Valid Since</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="198"/>
<location filename="tokentool.hxx" line="308"/>
<source>Valid Until</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="202"/>
<location filename="tokentool.hxx" line="312"/>
<source>Certificate Serial Number</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="206"/>
<location filename="tokentool.hxx" line="316"/>
<source>Subject Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="224"/>
<location filename="tokentool.hxx" line="335"/>
<source>Issuer Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="262"/>
<location filename="tokentool.hxx" line="352"/>
<source>PIN required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="352"/>
<source>Please enter PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Login Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="363"/>
<source>Wrong PIN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="375"/>
<source>Delete Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="376"/>
<source>Certificate Deletion Failes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="382"/>
<source>E-Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="263"/>
<location filename="tokentool.hxx" line="383"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="265"/>
<location filename="tokentool.hxx" line="385"/>
<source>error</source>
<comment>unknown certificate subject alternate name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="272"/>
<location filename="tokentool.hxx" line="391"/>
<source>Organization</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="274"/>
<location filename="tokentool.hxx" line="393"/>
<source>Common Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="276"/>
<location filename="tokentool.hxx" line="395"/>
<source>Locality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="278"/>
<location filename="tokentool.hxx" line="397"/>
<source>Organizational Unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="280"/>
<location filename="tokentool.hxx" line="399"/>
<source>Country</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="282"/>
<location filename="tokentool.hxx" line="401"/>
<source>State or Province</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="tokentool.hxx" line="284"/>
<location filename="tokentool.hxx" line="403"/>
<source>error</source>
<comment>unknown certificate subject info</comment>
<translation type="unfinished"></translation>

33
src/version.hxx Normal file
View File

@@ -0,0 +1,33 @@
/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
#include <string>
namespace NAMESPACE {
/// get package string which consists of package name and package version
std::string package_string();
/// get package name
std::string package_name();
/// get package version
std::string version();
/// get code build date
std::string build_date();
/// get author, i.e. copyright holder
std::string author();
/// get short package description (1st line of README)
std::string description();
/// get long package description (starting at 3rd line in README)
std::string readme();
/// get package logo file name
std::string logo();
/// get package icon file name
std::string icon();
/// used for <code>what filename</code>
extern const std::string WHAT;
/// used for <code>ident filename</code>
extern const std::string IDENT;
}