Skip to content
Matthias Dieter Wallnöfer edited this page Jun 5, 2017 · 28 revisions

OpenSC GUI

OpenSC GUI is a GUI-extension for the well known OpenSC project. It was initiated by the Autonomous Province of Bolzano, South Tyrol in collaboration with the TIS-innovation-park. OpenSC-GUI was developed in C++ with the Qt-Framework in collaboration with KMS-Mechatronics.

OpenSC-GUI provides an easy way to manage the PIN for different smart-cards. It provides an easy to use GUI-interface developed for the end-user.

Information about configuring Internet Explorer to use the OpenSC drivers

https://github.com/OpenSC/OpenSC/wiki/SmartCardHSM

Translations

We will translate using http://qt-project.org/doc/qt-4.8/linguist-manager.html

Compiling

On GNU/Linux (32 bit) for GNU/Linux (32 bit & 64 bit)

Install dependencies:

build-essential g++ cmake libsslcommon2-dev libssl-dev zlibc zlib1g-dev pkg-config libncurses5-dev qt4-default qt4-dev-tools libqt4-dev 

Execute commands to compile the project:

$ cd [OpenSC GUI SRC DIR]
$ mkdir build
$ cd build
$ cmake .. && make

A successful build would look like the following:

:~/OpenSC-GUI/build$ cmake ..
-- Found OpenSSL: /usr/lib/i386-linux-gnu/libssl.so;/usr/lib/i386-linux-gnu/libcrypto.so (found version "1.0.1f") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tesh/OpenSC-GUI/build
:~/OpenSC-GUI/build$ make
[  3%] Generating qrc_buergerkarte.cxx
[  7%] Generating moc_mainwidget.cxx
[ 11%] Generating moc_cardcontrolhandler.cxx
[ 15%] Generating moc_statusbar.cxx
[ 19%] Generating moc_logger.cxx
[ 23%] Generating moc_pukdialog.cxx
[ 26%] Generating moc_aboutdialog.cxx
[ 30%] Generating ui_mainwidget.h
[ 34%] Generating ui_pukdialog.h
[ 38%] Generating ui_aboutdialog.h
Scanning dependencies of target buergerkarte
[ 42%] Building CXX object src/CMakeFiles/buergerkarte.dir/main.cpp.o
[ 46%] Building CXX object src/CMakeFiles/buergerkarte.dir/mainwidget.cpp.o
[ 50%] Building CXX object src/CMakeFiles/buergerkarte.dir/cardcontrolhandler.cpp.o
[ 53%] Building CXX object src/CMakeFiles/buergerkarte.dir/error.cpp.o
[ 57%] Building CXX object src/CMakeFiles/buergerkarte.dir/logger.cpp.o
[ 61%] Building CXX object src/CMakeFiles/buergerkarte.dir/statusbar.cpp.o
[ 65%] Building CXX object src/CMakeFiles/buergerkarte.dir/pukdialog.cpp.o
[ 69%] Building CXX object src/CMakeFiles/buergerkarte.dir/aboutdialog.cpp.o
[ 73%] Building CXX object src/CMakeFiles/buergerkarte.dir/x509certificatehandler.cpp.o
[ 76%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_mainwidget.cxx.o
[ 80%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_cardcontrolhandler.cxx.o
[ 84%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_statusbar.cxx.o
[ 88%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_logger.cxx.o
[ 92%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_pukdialog.cxx.o
[ 96%] Building CXX object src/CMakeFiles/buergerkarte.dir/moc_aboutdialog.cxx.o
[100%] Building CXX object src/CMakeFiles/buergerkarte.dir/qrc_buergerkarte.cxx.o
Linking CXX executable buergerkarte
[100%] Built target buergerkarte

Installers

Generating Installer for Debian/Ubuntu-like

The following script can be used to generate Debian packages (to be found as OpenSC-GUI/installer/deb/createDeb.sh):

#!/bin/sh

version="1.1"

d=`dirname $0`
cd $d
if [ $? -ne 0 ]; then
  echo cannot cd to $d, aborting
  exit 1
fi

rm -rf packages/

mkdir -p packages/buergerkarte/usr/bin
mkdir -p packages/buergerkarte/usr/share/icons/
mkdir -p packages/buergerkarte/usr/share/applications/
mkdir -p packages/buergerkarte/usr/local/share/buergerkarte/
mkdir -p packages/buergerkarte/DEBIAN

cp ../../build/src/buergerkarte packages/buergerkarte/usr/bin
cp ../../icons/provinz_wappen.png packages/buergerkarte/usr/share/icons/
cp buergerkarte.desktop packages/buergerkarte/usr/share/applications/
cp ../OpenSC_PKCS11_Module_V1.2.xpi packages/buergerkarte/usr/local/share/buergerkarte/
cp control_template packages/buergerkarte/DEBIAN/control
echo "Version: $version" >> packages/buergerkarte/DEBIAN/control

cd packages
rm buergerkarte*.deb -f
fakeroot dpkg-deb --build buergerkarte
mv buergerkarte.deb buergerkarte-$version.deb
echo buergerkarte-$version.deb created

Generating Installer for MacOS X

You may use the following script (to be found as OpenSC-GUI/installer/osx/createPkg.sh):

#!/bin/sh

version="1.1"

d=`dirname $0`
cd $d
if [ $? -ne 0 ]; then
  echo cannot cd to $d, aborting
  exit 1
fi

rm -rf Release/

mkdir -p Build/
cd Build/

mkdir -p Release/Buergerkarte.app/Contents/
mkdir Release/Buergerkarte.app/Contents/Resources/
mkdir Release/Buergerkarte.app/Contents/MacOS/

cp ../../../build/src/buergerkarte  Release/Buergerkarte.app/Contents/MacOS/
#cp ../../../lib/opensc/lib/mac_osx/libopensc.dylib Release/Buergerkarte.app/Contents/MacOS/libopensc.3.dylib
cp ../../../lib/opensc/lib/mac_osx/libopensc.3.dylib Release/Buergerkarte.app/Contents/MacOS/libopensc.3.dylib
cp ../../OpenSC_PKCS11_Module_V1.2.xpi Release/Buergerkarte.app/Contents/MacOS/

pkgbuild --identifier buergerkarte.bz.it --version $version --root Release/ --install-location /Applications/ "Buergerkarte for Mac OS X.pkg"

Generating Installer for Windows

Please have a look at the MSI-compatible installer project in the OpenSC-GUI/installer/win32 directory. You will need to rebuild it using Inno Setup (a free installer generator).