This project is read-only.

SCOTT - Smart-Card Open Test Toolkit


SCOTT - Smart Card Open Test Toolkit
Copyright (C) 2009 Andrea Angella.

SCOTT is a toolkit aimed to support the automated testing of
smart-card based applications. Its core resides in the SCOTT Shell, a
command-line interpreter which can be driven by scripts that can
manipulate smart-card devices via commands made available by
card-specific plug-ins.

The SCOTT toolkit has been designed with portability in mind.
The Currently supported platforms are Linux and Windows.

The main components of SCOTT are:

- SCOTT Core Library ( or scott.dll)
- SCOTT Shell (scottsh)
- SCOTT Plugins ( or pcsc.dll, or
iso7816.dll, ...)
- SCOTT Plugin Creator (scottpc)

The SCOTT Core Library is a dynamic library that contains the SCOTT
Core features. A SCOTT Plugin is a container of features. The SCOTT
Shell is the front-end to access all SCOTT features.

The main features of SCOTT are:

- Displaying all available shell commmands
- Displaying syntax and description of a specific shell command
- Displaying installed plugins
- Displaying plugin types and commands available
- Displaying syntax and description of a specific plugin command
- Displaying information about a specific plugin type
- Displaying all defined shell variables
- Displaying a shell variable content using custom formatting options
- Displaying shell settings
- Loading a plugin
- Creation and initialization of a shell variable
- Automatic variables mechanism
- Implicit variables mechanism
- Automatic result visualization mechanism
- Exporting data to files using custom formatting options
- Execution of a plugin command
- Automatic execution of commands at the start using the SCOTT
Configuration File


First, you have to configure the software. Autoconf will try to
check whether your system satisfies compile-time dependencies:

$ ./configure

This configures assuming an installation prefix of /usr/local.
If you desire a different one, then use a statement like this:

$ ./configure --prefix=/usr/local/scott

Then, you can compile the scott core library and scottsh interpreter:

$ make

Finally, you can install the software into the installation prefix:

$ make install

The latter command assumes the installation prefix is accessible to
yourself (i.e., either it resides in your home subtree, or it does
not but you are the root user). In other cases, you may want to
use sudo:

$ sudo make install


In order to extend SCOTT, for example to support a new smart-card API
or device, you need to write a plug-in.

Creating a SCOTT Plugin is a simple three steps process:

- Create the SCOTT Plugin Descriptor (an xml file) to define the
- Use the tool SCOTT Plugin Creator (scottpc) to generate plugin
source files
- Insert plugin custom code inside command handlers


SCOTT is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 2 of the License, or (at your
option) any later version.

SCOTT is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
for more details. You should have received a copy of the GNU General
Public License along with SCOTT. If not, see

For more information, check out the COPYING.txt file.

Last edited Oct 25, 2009 at 9:54 AM by angellaa, version 6


No comments yet.