# Smart Card Shell

- - Home
- - GPError
  - GPSystem
  - ByteString
  - ByteBuffer
  - TLV
  - TLVList
  - Card
  - Atr
  - Key
  - Crypto
  - Application
  - GPApplication
  - GPSecDomain
- - ASN1
  - CardFile
  - IsoSecureChannel
  - ApplFactory
  - GPXML
  - JsScript
  - CardSim
- - X509
  - CRL
  - KeyStore
  - Signed CMS
  - Enveloped CMS
  - CMS Generator
  - XMLSignature
  - SSS
  - OCSPQuery
  - LDAP
  - SOAP
  - URLConnection
- - PKCS11Provider
  - PKCS11Session
  - PKCS11Object
- - OutlineNode
  - Dialog
  - Task
- - Tools
  - Modules
- - OpenSCDP

# Installing the Smart Card Shell

The Smart Card Shell is a Java program that can be installed on most operating systems for which a Java runtime is available. During development, the shell is tested on Windows, Linux and MacOS.

## Requirements

### Java Runtime

The Smart Card Shell requires a Java Runtime Environment (JRE), which is version 1.11 at minimum. The PC must fulfil the usual requirements of an office system.

### Card Reader

You will need a contact or contactless smart card reader with PC/SC or CT-API driver. PC/SC readers are supported by the default installation.

For CT-API card readers you will need to enter the correct CT-API DLL or shared object into the OCF configuration file. See the configuration documentation for supported readers and special configuration options.

## Installing on Windows

The Smart Card Shell can be installed on any Windows, Linux and MacOS system with a working Java Runtime Environment.

There are two installation options:

- Installing from an IzPack installer file or
- Unpacking from a .ZIP file

If you install from the IzPack file, then all the required entries in the start menu are created automatically.

If you do not have installation privileges for your PC or just don't like to use the installer, then the software is available in a .ZIP archive. This archive is basically a snapshot of a working installation and can be put into any directory you like.

The console version of the shell can be started with the SCSH3.CMD, the graphical version with the SCSH3GUI.CMD file.

## Installing on Linux or Mac OS X

To use the Smart Card Shell on Linux you will need the PC/SC subsystem available as package in your distribution or available at the MUSCLE project. You can also use a CT-API driver, if a Linux version is available for your reader.

To install the Smart Card Shell on Linux or Mac OS X you will need to either use the IzPack installer or unpack the .ZIP file into a directory of your choice.

Shell scripts are provided to start the console and graphical version of the Smart Card Shell. Please make sure the start scripts are marked executable.

### No card readers found on Big Sur or some Linux variants

If no card reader can be found, then most likely the Java runtime does not find the PCSC client library. You will then need to find the folder containing PCSC on MacOSX or libpcsclite.so on Linux and specify that path in the Java system property sun.security.smartcardio.library.

    Examples are
     -Dsun.security.smartcardio.library=/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC
     -Dsun.security.smartcardio.library=lib/x86_64-linux-gnu/libpcsclite.so

See JDK-8252412 for details on the Big Sur issue.

### Launcher still starts the older version installed

You need to run kbuildsycoca5 to update the cache of .desktop files.

## Selecting a Working Directory

When you start the Smart Card Shell, it will ask you for a working directory. Please select a directory which you will use to store the scripts you are writing.

If you do not select a working directory, then the shell will use the installation directory (usually "c:\Program Files\CardContact\Smart Card Shell 3") as default. In most cases this is not convenient, so please try and select your own working directory.

The working directory will be used to store the configuration options (e.g. selected card reader). You can use different working directories, e.g. one for each project.

© Copyright 2003 - 2024 CardContact Systems GmbH , Minden, Germany