Affina User's Guide
Affina User's Guide
Affina User's Guide
User’s Guide
December 2014
This product includes Tagish JAAS Login Modules and is covered under the GNU Lesser
General Public License, which can be found at www.gnu.org/copyleft/lesser.html.
This product includes software developed by the jTDS Project (jtds.sourceforge.net) and
is made available under the terms of the GNU Lesser General Public LIcense which can be
found at www.gnu.org/copyleft/lesser.html.
This product includes software developed by Mozilla as part of the Rhino project. The
Rhino code included with the Program includes no modifications and is provided under
the terms of the Mozilla Public License version 1.1 or later (www.mozilla.org/MPL/MPL‐
1.1.html) and the GNU General Public License version 2.0 or later (www.gnu.org/
licenses/gpl2.html).
Datacard Group
11111 Bren Road West
Minnetonka, MN 55343‐9015
Phone: 952‐933‐1223
Fax: 952‐933‐7971
www.datacard.com
ii
Trademark Acknowledgments
Affina and Maxsys are registered trademarks and Datacard is a registered trademark and
service mark of Entrust Datacard Corporation in the United States and other countries.
All other product names are the property of their respective owners.
Proprietary Notice
The design and information contained in these materials are protected by US and
international copyright laws.
All drawings and information herein are the property of Entrust Datacard Corporation. All
unauthorized use and reproduction is prohibited.
iii
Revision Log
Affina Data Preparation, Affina One Step Issuance, and
Affina Profiles and Scripting User’s Guide
Notes remind or inform you of something you should know before proceeding.
Names of menus, dialog box options, and buttons display in bold type. File names also display in
bold type, and the variable part of the file name is in bold italics (for example, profile name.xml
indicates that you supply the profile name while xml remains constant).
Blue text indicates a jump (link) to the referenced topic for online reading.
iv
Related Manuals
v
Contents
Chapter 1: System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Affina DP Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Affina OSI Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Chapter 2: Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Minimum PC Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Install Prerequisite Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Install Affina Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Upgrade Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Windows Firewall Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Configure Affina Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
License the Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Affina Software Licensable Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Affina OSI Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Affina Data Processing Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
License Administrator Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
License Server ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Product Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Activation Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Default User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
User Access Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Key Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Affina Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Configuration Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Batch Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
vi
Parser Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Smart Card Output Data Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Smart Card Input Data Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
System Configuration Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
MULTOS Data Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Input Data Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
InputSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
InputMag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Input Data Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Data Generation - Magnetic Stripe and Job OID Only . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
InputSC and InputMag — Affina DP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
InputSC — Affina OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Data Generation — Magnetic Stripe and/or Smart Card Input Data . . . . . . . . . . . . . . . 33
InputMag and InputSC — Affina DP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
InputSC — Affina OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Personalization - Smart Card Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
DGI Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
TLV Output Data Key Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
DES Key Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
RSA Key Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
vii
Chapter 5: Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Overview of Application and Script Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Profile Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
GP Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Application Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Card Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Key Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Loadfile Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Datacard Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Application Data Template (ADT) Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Application Profile Input Mapping (APIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Application Profile Output Mapping (APOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
DataSet Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Job Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Product Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
ADT Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Visa Personalization Assistant (VPA) Output File . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
MULTOS ALU Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Profile Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Scripting Language and Profile Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Import the Release and Sample Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Configuration Manager Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
General Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Profile Management Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Profile Creation Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Application-Specific Configuration Manager Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
viii
Affina DP Batch Application Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Setup Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Production Setup Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Monitoring Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Maintenance Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Using Affina DP Software in Production. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Reset the SQL User Password for Batch Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
ix
x
Chapter 1: System Overview
Datacard® Affina® issuance software provides data generation capability
for smart card applications. It includes a set of applications that are
combined in different ways to form three configurations:
Affina DP is a file‐based batch process system that monitors an input directory for files containing
cardholder records. Affina DP uses the magnetic stripe data in the records and data generation
profiles to generate an output file containing smart card application data.
Affina PS uses GlobalPlatform and Datacard‐defined profiles to provide instructions for using an
input file with smart card application data to personalize applications on smart cards.
Affina OSI combines the data generation functionality of Affina DP and the personalization
functionality of Affina PS. It uses an input file containing cardholder magnetic stripe data to
create personalized smart cards in one step.
Configuration Manager The user interface for viewing GlobalPlatform profiles and Affina OSI
creating and editing Datacard profiles. Profiles create Affina PS
configurations for generating data and personalizing cards. Affina DP
Profiles & Scripting The Java‐based Global Platform scripting engine (Affina Affina OSI
Interpreter JVM). Runs data generation procedures defined in profiles. Affina PS
It is invoked from Batch Engine (using DTE.dll Affina DP
software) or from a Datacard® Syntera® Customization
Suite (CS) software application (Affina OSI software). It uses
standard interfaces provided by the PKCS#11 for
cryptographic functions.
Key Management System Provides the user interface through which you manage Affina OSI
(KMS) cryptographic keys. Affina PS
Affina DP
Hardware (or Host) The hardware device that provides secure cryptographic Affina OSI
Security Module (HSM) functions. Affina PS
Affina DP
Crypto Provider Accesses the HSM directly to implement requests from Affina OSI
PKCS#11 components. It also provides information about Affina PS
HSM availability. Affina DP
Batch Applications Gathers necessary information from input data and invokes Affina DP
the Affina PS software interpreter for data generation.
There are four Batch applications:
Batch Import monitors a directory for new input files
and automatically associates a production setup to
change input data into output data. You can also import
data files manually.
Batch Engine performs the processing required to
change input data into output data by calling Affina PS
using the DTE.dll.
Batch Administrator is the user interface through which
you define how input data is changed to output data.
Batch Tracking lets you monitor the processing of input
files. You can also track individual records and view any
errors that may occur.
MX/Maxsys Production Manages the personalization process. It parses input data Affina OSI
Control into records and sends required data to the various
modules of the personalization system. For smart card
operation, Production Control initiates the operation based
on a setup and sends data necessary for personalization to
Syntera CS.
Syntera Customization Provides the environment for developing and running Affina OSI
Suite (CS) server‐based personalization applications. In Affina OSI,
Syntera CS instantiates the personalization process for each
card and calls the Syntera CS application, Affina Profiles and
Scripting, or Datacard® Affina® MULTOS™ Issuance
Software loader for data generation and personalization.
Affina MULTOS Issuance A Syntera CS application for personalizing applications on Affina OSI
MULTOS cards. In Affina OSI, it invokes Affina PS for Affina
generating an application load unit (ALU) and then loads MULTOS
the ALU onto the MULTOS card. Loader
Profiles Affina release and sample data generation profiles. Affina OSI
Affina DP
In addition, Affina DP includes several Application profiles, each with sample data and setups that
you can adapt to your unique environment.
2 System Overview
Data Flow
Data follows different paths depending on whether you are using Affina DP or Affina OSI.
When the Batch Import application is started, it begins to monitor the input directory. As host
files are delivered to the input directory, the Batch Engine begins parsing the data file into records
and fields and calls Affina Profiles and Scripting using the DTE.dll. Affina PS retrieves the keys,
profiles, and scripts and generates the smart card data for each record as specified in the
Application profile.
4 System Overview
Chapter 2: Installation
Minimum PC Requirements
It is strongly recommended that you purchase your PC from Datacard. However, if you choose to
use your own PC, the following minimum requirements must be met:
2.0‐GHz Pentium® 4 processor
1 GB RAM
Windows 7
Windows Windows 8.1 Windows Professional Windows Windows XP
Server 2012 (32 and 64 Server 2008 (32 and 64 Server 2003 Professional
R2 bit) R2 bit) (32 bit) (32 bit)
6 Installation
Install Prerequisite Software
Apply all critical Windows updates before installing and running Affina issuance software.
SQL Server. SQL Server 2008 R2 SP2 Express with Tools and SQL Server 2012 SP2 with Tools
are included in the Third Party Software folder of the installation disc. (Refer to “Install SQL
Server 2008 R2 Express” on page 9 or “Install SQL Server” on page 9 for more information.)
SQL Server 2008 requires Windows Installer v4.5 or above.
SQL Server Express, which is included with Affina software, is adequate for environments
where jobs are small to medium in size. Because a SQL Server Express database is limited in
size, high‐volume installations or installations that need to store a large amount of data for
each record may need to purchase SQL Server.
Affina One Step applications use Windows Authentication to communicate with SQL
Server.
Affina Batch applications use SQL Authentication to communicate with SQL Server.
If you are installing Batch applications and your SQL Server is not running in Mixed
Mode, the Affina installation program will enable Mixed Mode on SQL Server, but
you will not be able to run Batch applications until you restart SQL Server or restart
the computer.
The SQL Server user name for Batch applications is ‘adp’ and the default password is
‘Datacard2010’. The SQL Server connection string file for Batch applications is
encrypted. To reset the password, refer to “Reset the SQL User Password for Batch
Applications” on page 124.
Datacard Software Licensing System 1.1.0.36 or above on one server in your configuration.
Version 1.2 is included on the installation disc. (Refer to “Install the Datacard Software
Licensing System” on page 11 for more information.)
Datacard Syntera Customization Suite (CS) software is required for Affina one step issuance
(OSI) software. (Refer to the Datacard Syntera Customization Suite Installation and
Configuration Guide for step‐by‐step instructions.)
Runtime Crystal Reports 11 if you want to view reports in Affina DP software. (Refer to
“Install Runtime Crystal Reports 11” on page 10 for more information.)
Cryptographic software from your HSM manufacturer must be installed to perform certain
functions not available through the Key Management System. Datacard recommends installing
cryptographic software before Affina software.
.NET Framework 4.x is required to install and run Affina Issuance Software. .NET Framework 3.5
SP1 is required to install SQL Server 2008 R2 Express with Tools, SQL Server 2012 with Tools, and
the SafeNet software.
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
3. Click Microsoft .NET Frameworks. Depending on your operating system, one or more
versions of the .NET Framework display as available for installation.
If the .NET Framework version 3 is already installed, you will see a message asking
whether you want to repair or uninstall it. Select Repair and then Next or select
Cancel.
Windows Installer 4.5 or above is required to install SQL Server 2008 R2 Express on Windows XP
or Windows 2003.
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
2. Click Install Prerequisite Software.
Windows PowerShell 1.0 is required to install SQL Server 2008 R2 Express on Windows XP or
Windows 2003.
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
8 Installation
Install SQL Server 2012
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
4. Click SQL Server 2012 SP2 Express with Tools. The installation begins.
4. Click SQL Server 2008 R2 Express with Tools. The installation begins.
2. Click Exit.
3. Using a text editor such as Notepad, open the file that is appropriate for your installation
X:\Third Party Software\SQL Server 2012\SQLServer 2012 Unattended Install.bat
4. Follow the instructions in the echo statements at the beginning of the file.
5. Save the file to a temporary location on your hard drive.
Runtime Crystal Reports is required for running reports with the Batch Administrator application.
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
2. Click Install Prerequisite Software.
SafeNet HSM
Install the software before you install the coprocessor board in your computer. You will
ignore an error message at the end of the software installation.
It is not necessary to install any SafeNet software included with the SafeNet board. The
SafeNet software required for Affina software is included on the Affina installation disc.
If you are connecting remotely to the SafeNet crypto board it is not necessary to install
any SafeNet software from the Affina installation disc on the client (remote) PC.
Follow these steps to install software and hardware on the PC that is hosting the SafeNet
coprocessor board:
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
Choose SafeNet PCI HSM Access Provider to install the software on the PC where the
SafeNet HSM will be installed.
Choose SafeNet HSM Net Server if the crypto board will be shared across a network or
you are using a 64‐bit operating system.
4. Follow the prompts on the screen. When the installation is complete, the following message
displays:
10 Installation
5. Click OK. (The software was successfully installed.)
6. Turn off the computer and install the coprocessor board, following the installation
instructions provided with the coprocessor board.
9. Select Install automatically on the next page. Follow the prompts on the screen to finish the
wizard.
The Datacard Software Licensing System must be installed to use Affina issuance software.
Perform the following procedure to install the licensing system.
1. Insert the Affina issuance software installation disc into the drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
1. Insert the Affina issuance software installation disc into your drive. The installation program
starts automatically. (If the installation program does not start, use Windows Explorer to
browse to the root directory of the disc and double‐click AffinaIssuance.exe.)
If you select One Step Issuance or Data Preparation, follow the prompts to install the
software.
If you select Custom, you will be prompted to select the components that you want to
install.
Click the icon to the left of any component that you do not want to install and then click
This feature will not be available.
6. Click Finished. At the end of the installation, one of the following message boxes opens. Click
OK to go to the Affina Configuration application (refer to page 14).
12 Installation
If you installed only MULTOS or only the KMS:
Upgrade Instructions
Perform the following procedure to upgrade from a previous version of Affina DP and Affina OSI
software.
2. Install Affina DP or Affina OSI as described in “Install Affina Software” on page 11.
3. Delete any ADTs associated with the current Application profiles, the profiles themselves, and
the associated Product profiles. Then, load the new Application profile(s), reload or recreate
the ADT(s), and then reload or recreate the Product profile(s).
If you do not want to run the Samples provided with Affina DP or update the Release
Application profiles, no further action is necessary.
SQL Browser SQL Browser Service EXE …\Microsoft SQL Server\90\Shared\ sqlbrowser.exe
If you installed only MULTOS or only the KMS, it is necessary to configure only hardware
security modules. The dialog box you see will contain only the relevant information.
14 Installation
Configure License Server
If your License Server is not installed on the same computer as your Affina software, use the
following steps to specify the License Server’s location.
1. In the License Server area of the Affina Configuration dialog box, select On a remote
computer with this IP address and enter the IP address of the License Server computer.
3. Click Save.
Configure Database
1. In the Database area, click Local. The application will attempt to detect local SQL Server
instances.
2. Select the Server name from the list. The application will attempt to connect to the SQL
Server instance selected and a dialog box will indicate whether or not a database was found.
Click OK.
3. If a connection could not be made, enter the SQL Server instance name and then click
Connect. The application will attempt to connect to the SQL Server instance selected and a
dialog box will indicate whether or not a database was found. Click OK.
If a database was not found, click Create Database and then click Connect after the database
has been created.
5. Click OK at the bottom of the Affina Configuration dialog box to close it.
2. Select the Server name from the list. The application will attempt to connect to the SQL
Server instance selected and a dialog box will indicate whether or not a database was found.
Click OK.
3. If a connection could not be made, enter your SQL Server instance name and then click
Connect. The application will attempt to connect to the SQL Server instance selected and a
dialog box will indicate whether or not a database was found. Click OK.
a. To delete the name of the computer you are using (the default value), press BACKSPACE
until the name is erased.
b. To add a computer that contains a SafeNet HSM, press the space bar and then type either
the computer name or the computer’s IP address.
3. Click OK at the bottom of the Affina Configuration dialog box to close it.
4. Restart Object Communicator or Batch Production for your changes to take effect.
If you are using Windows XP or Windows Server 2003 and the Datacard Syntera CS
Communicator Controller service or Datacard Affina PM Object Communicator
Controller service is running under the Local System account, you will need to restart
the computer.
This section explains components of License Administrator that are required to license and
activate Affina software for production use. Additional information relating to the functionality of
License Administrator can be found in the License Administrator Help.
This section also tells how to configure your installation if your License Server is not on the same
computer as Affina DP.
16 Installation
Affina OSI Software
The table below shows the licensable features required for an Affina OSI software configuration.
Card Syntera CS One license (n) for No more than (n) smart cards can
Personalization Connection each programming be personalized at the same time.
(SCPMConn) station connection
—or—
Site License
One Step Process Syntera CS One license (n) for No more than (n) programming
Connection One each programming stations can use the data
Step (ADPScrpt) station connection generation capability at the same
—or— time.
Site License
Profiles and Affina Profiles and One license (n) for No more than (n) smart cards can
Scripting Software Scripting each programming be personalized using Profiles and
Connection (APS) station connection Scripting software at the same
—or— —or— time.
Affina Profiles and Unlimited number of
Scripting Site programming station
License (GP) connections
and/or
MULTOS Issuance MULTOS Issuance One license (n) for No more than (n) smart cards can
Software Connection (AMI) each programming be personalized using MULTOS
—or— station connection Issuance software at the same
MULTOS Issuance —or— time.
Site License Unlimited number of
(MULTOS) programming station
connections
The table below shows the licensable features required for an Affina DP software configuration.
Batch Application Affina DP Batch One license Can only run Batch applications from
for Smart Card (ADPBatch) one PC at a time. Additional licenses
Data Preparation are required to allow more instances to
run at the same time.
The License Server ID is a unique ID tag derived from the PC that License Server is installed on.
The License Server ID is generated using License Administrator.
Product Keys
A product key is a unique alphanumeric identifier of a feature license. When feature licenses are
ordered, the product keys are printed on a label affixed to the envelope containing the
installation disc and on a sheet of paper inside the envelope. Each Affina software licensable
feature (refer to the table above) requires one or more product keys. A single product key can be
used on a single license server.
Activation Keys
Activation keys are the final piece required to activate your Affina software feature license(s).
After the License Server ID is sent to Datacard and your license is verified, an activation key will
be sent for each product key. Activation keys authenticate the product key for a particular license
server. Affina software will operate only when each feature license has a product key and
corresponding activation key entered into License Administrator.
You can use the Remote Product Activation utility to activate the licenses. Refer to the
Licence Administrator Help topic “Using Remote Product Activation” for more details.
18 Installation
Default User Groups
The Affina installation program automatically creates three default user groups: ADP_
Administrator, ADP_Supervisor, and ADP_User. Each has different access rights.
You use the user and group management tools of your Windows operating system to add users to
groups. All Affina users should be members of an ADP user group. Members of the ADP_
Administrator group should also belong to the Windows Administrator group.
The Security Officer role can perform administrative functions, including setting the usage of a
key to Export, while the User role can perform most other functions, including creating Private
keys, as described in the PKCS#11 documentation.
Affina Configuration
Members of the ADP_Operator and ADP_Supervisor groups can view data and perform test
functions.
Configuration Management
Members of the ADP_Operator group can view profiles.
Members of the ADP_Supervisor group can view, import (but not replace), and export profiles.
Batch Applications
In the Batch applications the ADP_Administrator and ADP_Supervisor groups have access to all
commands and the ADP_Operator group can run the Batch Engine and Batch Input applications.
Use the procedure “Review and change access to Affina DP Batch applications” to grant access
rights to your ADP_Operator group.
Access to Affina DP Batch applications is controlled via the Batch Administrator module.
1. Log on to the computer with a user name that has ADP_Administrator user privileges and
start the Affina Data Preparation Launcher (Start > Programs > Datacard > Affina Data
Preparation & One Step> Affina Data Preparation Launcher). On the Launcher, click Batch
Administration.
3. Select the ADP group whose access you want to review, and then expand the listings for each
module and menu as necessary.
4. Remove access by double‐clicking on a module, menu, or command that has a green check
mark next to it. Grant access by double‐clicking on a module, menu, or command that has a
red “no” symbol next to it.
Removing or granting access affects that level and any subordinate levels.
20 Installation
Chapter 3: Data Format
This chapter describes the input data format required to use the default
data parser supplied with Affina issuance software. It also describes the
output data format created by Affina DP using the default magnetic
stripe and smart card data parser.
The output data from Affina DP is usually used as input to a card issuance system. The output of
Affina OSI and Affina PS is not data but cards.
In Datacard issuance systems, input data contains fields that will be used to personalize cards.
Each field can be identified by a character or group of characters called a Start Code. For example,
the $ character might be used to identify the Primary Account Number (PAN) that will be
embossed on the card by the Emboss module, and the " character might identify the magnetic
stripe data that will be encoded on the card by the Magnetic Stripe module. There is also often a
six digit ASCII search code at the beginning of a record that identifies the record number in the
input file, and a record separator, which may be up to seven bytes long, at the end of a record.
The Data setup on Datacard issuance systems identifies the fields in the input data, and the
Product or Card setup specifies which operations each module will execute on a card.
PAN $
Expiration Date )
Cardholder Name #
Magnetic Stripe “
Smart card applications such as Visa Smart Debit Credit (VSDC) and M/Chip 4 include data
elements that are included in legacy magnetic stripe data fields. Therefore, Affina DP and Affina
OSI use magnetic stripe data fields for data generation (Affina DP) and for data generation and
personalization in one step (Affina OSI).
Other data formats may be handled by using a Custom DataSet profile, in which case the
information in this chapter does not apply.
22 Data Format
Track 1 Data Format
Length
(Alphanumeric
Field Characters) Value/Description
Start Sentinel 1 %
Format Code 1 B
Separator 1 ^
Surname Variable
Surname Separator 1 /
Separator 1 ^
Service Code 3
End Sentinel 1 ?
Start Sentinel 1 ;
Separator* 1 =
Service Code* 3
Discretionary Data* Variable Up to 37 numeric data characters from the PAN to the
end of the Discretionary Data
End Sentinel 1 ?
* These fields together, in binary format, comprise Track 2 Equivalent data used in EMV tags.
EMV Tags
A consortium of the financial companies Europay, MasterCard, and Visa (together referred to as
EMV) has defined a common set of standards for financial card issuance. EMV defines a format
for smart card data that uses a Basic Encoding Rules Tag, Length, Value (BER‐TLV) format. The
EMV BER‐TLV encoding rules can be found in EMV Integrated Circuit Card Specifications for
Payment Systems Book 3 Application Specification Annex B, Rules for BER‐TLV Data Objects.
The Affina default parser extracts the following fields from the magnetic stripe data and creates
TLV data for each data element using the Tags listed.
24 Data Format
Smart Card Applications
A distinction should be made between personalization applications for the smart card
management software (such as Affina PS), which are used to load and personalize applications on
a smart card, and smart card applications themselves, which reside on the smart card. Examples
of smart card applications include Visa® Smart Debit/Credit (VSDC) and M/Chip 4 from
MasterCard®.
Smart card applications are written and provided by application providers. Each smart card
application is identified by an Application Identifier (AID). The AID includes a Registered
Application Provider Identifier (RID) to identify the provider and a Proprietary Application
Identifier Extension (PIX) to identify the application. The RID is 5 bytes in length, and the PIX is
variable in length up to 11 bytes.
Each smart card application requires the smart card data field to include specific personalization
data and also requires that data be formatted in a specific way, which is referred to as a data
format.
Smart card data can be used as input data for data generation by Affina DP or Affina OSI. For
example, some issuer parameters, such as the Personal Identification Number (PIN), may vary
from cardholder to cardholder. In that case, issuer parameters in TLV format may be included in
the input smart card data. Individual TLVs inside a DGI are not parsed when DGI format data is
used as input data; therefore DGI format data cannot be used as input data for data generation.
Smart card data generated by Affina DP can be in PIX format or it can include a format identifier
and the name of the personalization application, which is called SCPM format.
Embedded Length 7 ASCII characters 0000782 Length of all smart card data as a
decimal number (excluding this
field).
Application Data
Job OID** Variable ASCII [2B…0501] The OID of the job to be executed.
TLV Format†† 1 Byte 00 00 for EMV TLV and FF for DGI TLV.
26 Data Format
Length and Sample
Field Name* Encoding† Value Description
SCPM Format
SCPM format smart data includes the format identifier and application name. This example also
includes the Job OID.
00000000 7B30 3030 3037 3832 FFFF FFFA 0308 0008 {0000782........
00000010 4166 6669 6E61 5053 02FC 5B32 4230 3630 AffinaPS..[2B060
00000020 3130 3430 3138 3139 3030 4438 3830 3630 1040181900D88060
00000030 3530 315D 1010 0000 02DC 4247 77FF 0000 501]......BGw...
00000040 0000 0000 0001 02CE 9F45 02DA C19F 3602 .........E....6.
PIX Format
PIX format smart card data excludes the format identifier, application name, and Job OID. When
using PIX format data on a Datacard issuance system or simulator, the smart card data must be
concatenated to the Job OID using the Data Setup as described in “One Step Personalization
Setup” on page 97.
00000000 7B30 3030 3037 3338 1010 0000 02DC 4247 {0000738......BG
00000010 77FF 0000 0000 0000 0001 02CE 500B 5649 w...........P.VI
00000020 5341 2043 5245 4449 549F 4502 DAC1 9F36 SA CREDIT.E....6
The default delimiter is the # character. For data elements in the Application profile that have a
Name but not a Tag or when multiple data elements reference the same data element, the Name
must be used. Otherwise, either the Name or the Tag may be used. Tags must be prepended with
the characters 0x. In all cases, the Value must contain the hexadecimal representation of the
data.
For example, for the data element named LanguagePreference (Tag 0x5F2D) with a value of en
(hexadecimal 656E), either of the following representations could be used for the DSV data:
#LanguagePreference#656E
#0x5F2D#656E
You can override the default delimiter in the com.datacard.properties file. Refer to “DSV
Properties” on page 3.
To use DSV data as input data without magnetic stripe data, the data block must begin with
either the characters #DSV# or a custom string of characters defined by the DSV.marker property
in the com.datacard.properties file. Refer to “DSV Properties” on page 3.
In the following example, the data elements ReferencePIN and PEK_VER and the Tag 0x9F58 are
appended to the magnetic stripe data as DSV data. Here is the content of the input data (with a
record separator of #END#):
000001$4247 7758 6985 7153)12/15#VSDC SAMPLE"%
B4247775869857153^SAMPLE/VSDC^1512201123456789012345678901234?
;4247775869857153=15122011234567890123?
#ReferencePIN#81D1670EED69181A#PEK_VER#01#0x9F58#04#END#
28 Data Format
DSV Data Only Example
In the following example, all of the data elements for data generation are included in the input
data using a DSV.marker of *START* and a DSV.delimiter of >. Here is the content of the input
data (with a record separator of #END#):
*START*>PAN>4247775869857153>CardholderName>53414D504C452F4453562054455354>ServiceCode>
0201>ApplicationExpirationDate>141231>Track1DiscretionaryData>123456789012345678901234>
Track2EquivalentData>4247775869857153D15122011234567890123F>ReferencePIN>81D1670E6981A0
0#END#
FORMAT_ID† HEX Specifies the smart card module format identifier. FFFFFFFA
(Format Identifier)
USE_DGI HEX Defines TLV Format; 00 for EMV TLV and any 00
(TLV Format) other value for DGI TLV.
KEK_NAME ASCII Sets the name of the Key Encryption Key (KEK) to KEK
use for encrypting sensitive data.
* The name of the corresponding field in the Smart Card Data Format table is given in parentheses if it differs from this
parameter name.
† Must be used together to create SCPM format.
‡ Using this field will cause fields marked with † to be generated using default values if not otherwise specified.
PIX_OFFSET HEX Changes the offset in the AID (the length of the RID) used
to extract the PIX for mapping by the default parser. Must
be 1 byte in length.
PIX_DATA HEX Sets the value of the PIX to use for mapping by the default
parser. Must be 4 bytes in length.
COMPLIANT_BER HEX Enables the Job to enforce BER‐TLV compliance when set to
any value other than 00.
30 Data Format
MULTOS Data Parameters
The MULTOS data format is described in the MULTOS Issuance Software Data Format and
Operation manual. For Affina DP, the parameters below apply to MULTOS output data, which can
be in either PIX or SCPM format. For Affina OSI, only the MULTOS parameter can be specified.
InputSC
InputSC is used by:
Affina OSI for smart card data and magnetic stripe data
Affina PS for smart card data
Affina DP or Affina OSI for smart card data and magnetic stripe data in smart card (TLV)
format
InputSC must contain the OID of the Job profile in square brackets at the beginning of the InputSC
field ([2B0601040181900D88060501]). In the case of Affina DP, the Job OID may be the only data
that InputSC contains; for Affina OSI and Affina PS, InputSC will typically contain magnetic stripe
data and/or smart card data in PIX or SCPM format.
Magnetic stripe data in InputSC is detected by the presence of the characters %B immediately
following the Job OID. If these characters are not found, the input data must be in smart card
format or an error will be returned.
InputMag
InputMag is only available in Affina DP for magnetic stripe data. It is provided to the parser using
the Production Setup Input Data Field inputMagstripe.
32 Data Format
InputSC — Affina OSI
Affina OSI only has access to the InputSC field, so the magnetic stripe data must be concatenated
to the smart card data (the Job OID in this case), and the InputMag field is empty. For PIX format
data, this can done in the Data Setup on the Datacard issuance system as described in “One Step
Personalization Setup” on page 97.
$inputSC
0000: 5B 32 42 30 36 30 31 30 34 30 31 38 31 39 30 30 > [2B0601040181900
0010: 44 38 38 30 36 30 35 30 31 5D 25 42 34 32 34 37 > D88060501]%B4247
0020: 37 37 35 38 36 39 38 35 37 31 35 33 5E 53 41 4D > 775869857153^SAM
0030: 50 4C 45 2F 56 53 44 43 5E 31 35 31 32 32 30 31 > PLE/VSDC^1512201
0040: 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 > 1234567890123456
0050: 37 38 39 30 31 32 33 34 3F 3B 34 32 34 37 37 37 > 78901234?;424777
0060: 35 38 36 39 38 35 37 31 35 33 3D 31 35 31 32 32 > 5869857153=15122
0070: 30 31 31 32 33 34 35 36 37 38 39 30 31 32 33 3F > 011234567890123?
$inputMag
If the first tag in the smart card application data begins with the tag DF, such as DF01, then the
smart card data must be wrapped in the tag DF. Otherwise, it is not necessary to wrap the data in
the DF tag.
InputMag and InputSC — Affina DP
For Affina DP, the magnetic stripe data can be supplied to InputMag and the smart card data
block can be appended to the Job OID and supplied to InputSC in the Production Setup. In this
example, the Tag DF is used to wrap the Tag DF01.
$inputSC
0000: 5B 32 42 30 36 30 31 30 34 30 31 38 31 39 30 30 > [2B0601040181900
0010: 44 38 38 30 36 30 35 30 31 5D 10 10 00 00 00 1C > D88060501]......
0020: 42 47 77 FF 00 00 00 00 00 00 00 01 00 0E DF 00 > BGw.............
0030: 0B DF 01 08 81 D1 67 0E ED 69 18 1A > ......g..i..
$inputMag
0000: 25 42 34 32 34 37 37 37 35 38 36 39 38 35 37 31 > %B42477758698571
0010: 35 33 5E 53 41 4D 50 4C 45 2F 56 53 44 43 5E 31 > 53^SAMPLE/VSDC^1
0020: 35 31 32 32 30 31 31 32 33 34 35 36 37 38 39 30 > 5122011234567890
0030: 31 32 33 34 35 36 37 38 39 30 31 32 33 34 3F 3B > 12345678901234?;
0040: 34 32 34 37 37 37 35 38 36 39 38 35 37 31 35 33 > 4247775869857153
0050: 3D 31 35 31 32 32 30 31 31 32 33 34 35 36 37 38 > =151220112345678
0060: 39 30 31 32 33 3F > 90123?
$inputUser
. . .
For Affina OSI, which only has access to InputSC, the magnetic stripe data must be included in the
smart card data in TLV format in order to pass in additional issuer parameters (because the
default parser will not parse smart card data if it detects magnetic stripe data in InputSC). In this
example, DF01 is not the first tag in the smart card block, so the block is not wrapped in the tag
DF.
Here is the content of a file in which a smart card field has been added to the file 1_VSDC.dat. In
this file, the magnetic stripe data identified in Table 4: TLVs Created from Magnetic Stripe Data
has been included in TLV format in the smart card input data and the tag DF01 appears at the end
of the data.
00000000 3030 3030 3031 2434 3234 3720 3737 3538 000001$4247 7758
00000010 2036 3938 3520 3731 3533 2931 322F 3135 6985 7153)12/15
00000020 2356 5344 4320 5341 4D50 4C45 2225 4234 #VSDC SAMPLE"%B4
00000030 3234 3737 3735 3836 3938 3537 3135 335E 247775869857153^
00000040 5341 4D50 4C45 2F56 5344 435E 3135 3132 SAMPLE/VSDC^1512
00000050 3230 3131 3233 3435 3637 3839 3031 3233 2011234567890123
00000060 3435 3637 3839 3031 3233 343F 3B34 3234 45678901234?;424
00000070 3737 3735 3836 3938 3537 3135 333D 3135 7775869857153=15
00000080 3132 3230 3131 3233 3435 3637 3839 3031 1220112345678901
00000090 3233 3F7B 3030 3030 3135 37FF FFFF FA00 23?{0000157.....
000000A0 9700 0841 6666 696E 6150 5300 8B5B 3242 ...AffinaPS..[2B
000000B0 3036 3031 3034 3031 3831 3930 3044 3838 0601040181900D88
000000C0 3036 3035 3031 5D10 1000 0000 6B42 4777 060501].....kBGw
000000D0 FF00 0000 0000 0000 0100 5D5A 0842 4777 ..........]Z.BGw
000000E0 5869 8571 535F 200B 5341 4D50 4C45 2F56 Xi.qS_ .SAMPLE/V
000000F0 5344 435F 3002 0201 5F24 0315 1231 9F1F SDC_0..._$...1..
00000100 1831 3233 3435 3637 3839 3031 3233 3435 .123456789012345
00000110 3637 3839 3031 3233 3457 1342 4777 5869 678901234W.BGwXi
00000120 8571 53D1 5122 0112 3456 7890 123F DF01 .qS.Q"..4Vx..?..
00000130 0881 D167 0E69 181A 2345 4E44 23 ...g.i..#END#
34 Data Format
Here is how the data is parsed.
$inputSC
0000: 5B 32 42 30 36 30 31 30 34 30 31 38 31 39 30 30 | [2B0601040181900
0010: 44 38 38 30 36 30 35 30 31 5D 10 10 00 00 00 6B | D88060501].....k
0020: 42 47 77 FF 00 00 00 00 00 00 00 01 00 5D 5A 08 | BGw..........]Z.
0030: 42 47 77 58 69 85 71 53 5F 20 0B 53 41 4D 50 4C | BGwXi.qS_ .SAMPL
0040: 45 2F 56 53 44 43 5F 30 02 02 01 5F 24 03 15 12 | E/VSDC_0..._$...
0050: 31 9F 1F 18 31 32 33 34 35 36 37 38 39 30 31 32 | 1...123456789012
0060: 33 34 35 36 37 38 39 30 31 32 33 34 57 13 42 47 | 345678901234W.BG
0070: 77 58 69 85 71 53 D1 51 22 01 12 34 56 78 90 12 | wXi.qS.Q"..4Vx..
0080: 3F DF 01 08 81 D1 67 0E 69 18 1A | ?.....g.i..
$inputMag
. . .
No MagStripe data
. . .
This example shows how data in DGI format is parsed. This data was generated using Affina DP in
SCPM format with the USE_DGI parameter set to 0x01. Here is the first portion of the file
including the first DGI in the data, 0D01, which contains the tags 9F58, 9F59, 9F53, and 9F54.
00000000 3030 3030 3031 2434 3234 3720 3737 3538 000001$4247 7758
00000010 2036 3938 3520 3731 3533 2931 322F 3135 6985 7153)12/15
00000020 2356 5344 4320 5341 4D50 4C45 2225 4234 #VSDC SAMPLE"%B4
00000030 3234 3737 3735 3836 3938 3537 3135 335E 247775869857153^
00000040 5341 4D50 4C45 2F56 5344 435E 3135 3132 SAMPLE/VSDC^1512
00000050 3230 3131 3233 3435 3637 3839 3031 3233 2011234567890123
00000060 3435 3637 3839 3031 3233 343F 3B34 3234 45678901234?;424
00000070 3737 3735 3836 3938 3537 3135 333D 3135 7775869857153=15
00000080 3132 3230 3131 3233 3435 3637 3839 3031 1220112345678901
00000090 3233 3F7B 3030 3030 3738 39FF FFFF FA03 23?{0000789.....
000000A0 0F00 0841 6666 696E 6150 5303 035B 3242 ...AffinaPS..[2B
000000B0 3036 3031 3034 3031 3831 3930 3044 3838 0601040181900D88
000000C0 3036 3035 3031 5D10 1000 0002 E342 4777 060501]......BGw
000000D0 FF00 0000 FF00 0000 0102 D50D 0115 9F58 ...............X
000000E0 0103 9F59 0107 9F53 0105 9F54 0600 0000 ...Y...S...T....
000000F0 1000 0080 0030 D6C2 891A E395 3C05 FE6A .....0......<..j
Here is a portion of how the data is parsed, with InputSC truncated to show only the first 40
bytes. Notice that the TLV Format byte has a value of 0xFF, indicating DGI format. Only the first
DGI in the input file, 0D01, is included here.
$inputSC
0000: 5B 32 42 30 36 30 31 30 34 30 31 38 31 39 30 30 | [2B0601040181900
0010: 44 38 38 30 36 30 35 30 31 5D 10 10 00 00 02 E3 | D88060501]......
0020: 42 47 77 FF 00 00 00 FF 00 00 00 01 02 D5 0D 01 | BGw.............
0030: 15 9F 58 01 03 9F 59 01 07 9F 53 01 05 9F 54 06 | ..X...Y...S...T.
0040: 00 00 00 10 00 00 80 00 30 D6 C2 89 1A E3 95 3C | ........0......<
. . .
$inputMag
$inputUser
. . .
No MagStripe data
Parse DCC Smartcard data
36 Data Format
TLV Output Data Key Format
When TLV format is used in Affina DP for output data, keys are output as a TLV object in the
format defined in the GlobalPlatform Card Specification Version 2.1.1 (March 2003) as Format 1
(section 9.8.2.3.1):
Variable Key check value (if present; that is, if key check value length is not 0x00)
(1 – n bytes)
38 Data Format
Chapter 4: Key Management
System
HSM
Dumb Terminal
Sensitive key management tasks must be performed in the presence of a Security Officer who is
logged on to the HSM.
Cryptoki is an abstraction layer for generic cryptographic tokens. The PKCS #11 API defines most
commonly used cryptographic object types (RSA keys, DES/Triple DES keys, etc.), along with
In addition, Datacard has extended PKCS #11 to define and support specific objects needed for
financial issuance. For SafeNet HSMs, this is implemented in the Datacard Affina PKCS#11
firmware.
Roles
Cryptoki defines two token user types: Security Officer (SO) and User. An SO is repsonsible for
initializing a token and can set some attributes on public objects that a User cannot. A User, on
the other hand, can create Private objects which an SO cannot access, but only after the User has
been authenticated and granted access to the token.
Datacard has extended the Cryptoki user types to allow multiple individuals to share a role and
also to allow setting a minimum number of users in that role to be required for authentication.
For example, it is possible to create three Users for a token and require that two of them log on in
order to access the token.
User
SO
A session can be a read‐only session or a read/write session. In a read‐only session, token objects
cannot be created, modified, or destroyed. In a read/write session, modifiable objects can be
created, modified, and destroyed. Although Cryptoki defines a read/write public (non‐
authenticated) session, Datacard’s implementation does not allow read/write public sessions.
Affina data preparation and personalization software, with the obvious exception of the Affina
KMS, accesses tokens using read‐only sessions.
The following sections describe usages and attributes common to key objects.
Usage Description
Verify The key may be used for verifying signatures or MAC values.
Wrap The key may be used to wrap (that is, extract) other keys.
Export The key may be used to export other keys. Can be set only by members
of the SO role.
Attribute Description
Sensitive The key's value cannot be revealed in plain text. After a key becomes
sensitive it cannot be modified to be non‐sensitive. Cannot be changed
after it is set to True.
Trusted The key can be trusted for the application for which it was created. Can
be set only by members of the SO role.
Modifiable The object can be modified; that is, the object's attributes can be
changed after creation. This attribute can be set only when an object is
created.
Wrap w/ Trusted The created key can only be wrapped or backed up by a trusted key.
Cannot be changed after it is set to True.
Private The key is visible only after the user is authenticated to the token
where that object is stored. This attribute can be set only when an
object is created. Private object can be created only by members of the
User role.
Unwrap Mask If a key has the usage Unwrap, an Unwrap Mask may also be defined.
When this key unwraps a key, the key that is unwrapped can be used
only to encrypt other keys.
Extractable An extractable key can be wrapped (encrypted with another key) and
then extracted from the HSM. Cannot be changed after it is set to
False.
Derive Mask If a key has the usage Derive, a Derive Mask can be defined. The Derive
Mask can define specific usages for up to five levels of derivation. In
this case, each of the intermediate keys can be used only to derive
another key.
Exportable The key may be backed up (encrypted with another key) but only with
keys marked with the Export usage. Cannot be changed after it is set to
True.
Deletable The key can be deleted. If this is not selected, the adapter must be
tampered to remove the key.
There are two token initialization procedures: “Initialize the AdminToken” and “Initialize a key
token”.
A key token must also be initialized. Keys must be stored in a key token.
3. In the Login dialog box, select Security Officer and then enter the PIN 9999.
6. For Certificate, click Browse and then navigate to the CRT file on the Affina PKCS#11
Firmware disc.
7. For Firmware, click Browse and then navigate to the FM file on the Affina PKCS#11 Firmware
disc.
8. Set the minimum PIN length (default is four). The minimum PIN length is the smallest PIN
length allowed when specifying PINs for the token. The maximum PIN length is 31.
9. For both the Security Officer (SO) and User login modes, select the appropriate mode for the
token that you are initializing.
For PKCS#11:
a. Enter a user name. You can use up to 31 UTF‐8 characters with the exception of the #
character.
b. Enter and then confirm the PIN. You can use up to 31 UTF‐8 characters.
For N of M:
a. Choose the Number in Role (users, a minimum of two and a maximum of ten) and the
number of users required in order to log in (Number for Login).
b. Enter a user name. Use up to 31 UTF‐8 characters with the exception of the # character.
You cannot change the user name without reinitializing the token.
The update process can take some time to complete. Do not perform any other
actions until the update process is finished.
3. In the Login dialog box, select User and then enter the PIN(s) defined when you initialized the
AdminToken.
a. Enter a user name. You can use up to 31 UTF‐8 characters with the exception of the #
character.
b. Enter and then confirm the PIN. You can use up to 31 UTF‐8 characters.
For N of M:
a. Choose the Number in Role (users, a minimum of two and a maximum of ten) and the
number of users required in order to log in (Number for Login).
b. Enter a user name. Use up to 31 UTF‐8 characters with the exception of the # character.
c. Enter and then confirm the PIN. You can use up to 31 UTF‐8 characters.
You cannot change the user name without reinitializing the token.
Administrative Functions
Create slots
You must be logged into the AdminToken as a User in order to perform this task.
3. In the Login dialog box, select User and then enter the PIN.
4. From the menu bar, select Administration > SafeNet > Create Slots.
5. In the dialog box, enter the number of slots you want to create and then click OK. The slots
will display in the token navigator.
Delete slots
You must be logged into the AdminToken as a User in order to perform this task.
3. In the Login dialog box, select User and then enter the PIN(s).
4. In the Token Explorer, select the Slot(s) you want to delete and then click Delete (in the
toolbar).
5. Click OK. The Slots will be removed from the Token Navigator.
Perform the following procedure to download updated Affina firmware to the SafeNet HSM.
You must be logged into the AdminToken as a User in order to perform this task.
1. From the menu bar select Administration > SafeNet > Download.
2. In the Download Affina Firmware dialog box, browse to and then select the FM file on the
Affina PKCS#11 Firmware disc.
4. Click OK.
The firmware will update automatically. The process can take some time to complete. Do not
perform any other actions until the update process is finished.
Perform the following procedure to install updated SafeNet firmware on the SafeNet HSM.
1. From the menu bar select Administration > SafeNet > Install SafeNet Firmware.
2. In the Install SafeNet Firmware dialog box, browse to and then select the SafeNet FW file that
contains the SafeNet Firmware.
3. Click Open. The path displays in the dialog box.
4. Click OK.
The firmware will update automatically. The process can take some time to complete. Do not
perform any other actions until the update process is finished.
Perform the following procedure to configure the adapter’s clock and transport mode.
You must be logged into the AdminToken as a User in order to perform this task.
1. From the menu bar select Administration > SafeNet > Adapter Configuration.
a. For Clock, the current adapter clock date and time is displayed. To change the date and
time, select one of the following:
Manual—To use the keyboard to enter the date and time in their respective boxes.
Computer Clock—To synchronize the adapter clock with the computer’s clock.
Single Shot—The adapter can be removed and replaced once without being
tampered.
Continuous —The adapter can be removed and replaced unlimited times without
being tampered.
3. Click Close.
Perform the following procedure to load a firmware certificate on the SafeNet HSM.
You must be logged into the AdminToken as a Security Officer to load a certificate.
3. In the Login dialog box, select Security Officer and then enter the PIN(s).
4. From the menu bar select Administration > SafeNet > Load Firmware Certificate.
5. In the Download Affina Firmware dialog box, browse to and select the CRT file on the Affina
PKCS#11 Firmware disc.
7. Click OK.
Tampering the adapter wipes out all data and returns the adapter to its factory state. Any
firmware updates will remain.
You must be logged into the AdminToken as a User in order to perform this task.
1. From the menu bar select Administration > SafeNet > Tamper Adapter.
2. Confirm that you want to tamper the adapter in the confirmation dialog box. The adapter will
be tampered.
You must be logged into a token as User(s) to change a User PIN or Security Officer(s) to
change a Security Officer PIN.
1. In the Token Navigator, right‐click the token you are logged into that contains the User or
Security Officer whose PIN you want to change.
3. In the PIN Modification dialog box, select the User Name if there is more than one individual
in the Role, enter the current PIN, and then enter and confirm the new PIN.
4. Click OK.
a. From the menu, select Create > Create Secret Key from Clear Components.
b. For Label, type a descriptive Name, Owner, and Version. For example, type ZMK,
Datacard, 01 (refer to the figure below).
f. Click Next.
j. Click Finish.
k. In the Import Key dialog box, confirm that the KCV is 3A 36 37 and then click Yes.
i. For Key, select the key created in the previous step, for example, ZMK.Datacard.01
ii. For Folder, click Browse, navigate to \Program Files (x86)\Datacard\ ADP\Samples\
KMS, select Backup‐Restore.Datacard.01, and then click Open.
c. Click OK.
4. Restore keys.
a. From the menu, select Import > Restore Object.
i. For Key, select the key created in the previous step, for example, Backup‐
Restore.Datacard.01.
iii. For Folder, click Browse, navigate to \Program Files (x86)\Datacard\ ADP\Samples\
KMS, select Backup‐Restore.Datacard.01.zip, and then click Open.
iv. Click OK.
From the Start button select Programs > Datacard > Affina Issuance Software > Affina KMS.
Creation Tasks
1. From the menu bar select Create > Generate Secret Key.
2. Under Label, enter the Name, Owner, and Version in their respective text boxes.
The Owner, Name, and Version fields must all be completed or they must all be left
blank. In addition, the combination of Owner, Name, and Version must be unique
within the database.
3. Select the key Type from the list. The key’s size (in bits) displays in the Size box.
4. Select the key usage from the available options. (Refer to “Key Usage” on page 42.)
5. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
6. Click Finish.
1. From the menu bar select Create > Generate Key Pair.
2. For the Public Key, under Label, enter the Name, Owner, and Version in their respective text
boxes. The combination of Name, Owner, and Version must be unique within the database.
3. Under Key Type, select the key Type from the list, and then enter the Key Size (in bits) and the
Public Exponent.
4. Select the key pair usage from the available options. (Refer to “Key Usage” on page 42.)
If the Derive or Unwrap usages are selected, the Derive Mask and/or Unwrap Mask
attributes will be available. If these attributes are then selected, the Derive Mask
and/or Unwrap Mask options become available. Refer to “Create a derive mask” on
page 56 and “Create an unwrap mask” on page 56.
6. Click Next.
7. For the Private Key, enter the Name, Attribute, and Usage parameters as above. (The name
must be different.)
This procedure creates a secret key from a selected number of generated components. Each
component can be recorded individually for transport purposes.
1. From the menu bar select Create > Create Secret Key From Clear Components.
2. Under Label, enter the Name, Owner, and Version in their respective text boxes.
The Owner, Name, and Version fields must all be completed or they must all be left
blank. In addition, the combination of Owner, Name, and Version must be unique
within the database.
3. Under Key Type, select the key Type from the list.
4. Select the key usage from the available options. (Refer to “Key Usage” on page 42.)
5. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
If the Derive or Unwrap usages are selected, the Derive Mask and/or Unwrap Mask
attributes will be available. If these attributes are then selected, the Derive Mask
and/or Unwrap Mask options become available. Refer to “Create a derive mask” on
page 56 and “Create an unwrap mask” on page 56.
7. Select whether the components will be entered using the keyboard or via a terminal. If you
will be using the terminal, enter the timeout value (in seconds). This value indicates how long
the KMS will wait to receive a Key Component from a terminal before aborting the operation.
Click Next.
8. If you selected Keyboard/Screen in the previous step, on the number of components entered
in step 6, you will be given a corresponding number of screens with which to view the
components. Click Next at each screen.
10. Click Finish. The key is loaded in the database and displayed in the Token Explorer.
11. Click Generate and Export. The Key Component dialog box opens, showing the key check
value of the first encrypted key component.
13. In the Key dialog box, navigate to the location where you want the key component saved,
enter a file name (a .bin extension will be added), and click Select. The Key Component dialog
box opens as many times as the number of components you selected in step 1. When you
have saved the last component, the key is stored in the database and displays in the Keys
table.
This procedure creates a secret key from a selected number of clear components. Each
component can be recorded individually for transport purposes.
1. From the menu bar select Create > Create Secret Key From Clear Components.
2. Under Label, enter the Name, Owner, and Version in their respective text boxes. The
combination of Name, Owner, and Version must be unique within the database.
3. Under Key Type, select the key Type from the list. The key’s size (in bits) displays in the Size
box.
4. Select the key usage from the available options. (Refer to “Key Usage” on page 42.)
5. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
If the Derive or Unwrap usages are selected, the Derive Mask and/or Unwrap Mask
attributes will be available. If these attributes are then selected, the Derive Mask
and/or Unwrap Mask options become available. Refer to “Create a derive mask” on
page 56 and “Create an unwrap mask” on page 56.
7. Select whether the components will be entered using the keyboard or via a terminal. If you
will be using the terminal, enter the timeout value (in seconds). This value indicates how long
the KMS will wait to receive a Key Component from a terminal before aborting the operation.
Click Next.
8. If you selected Keyboard/Screen in the previous step, based on the number of components
entered in step 6, you will be given a corresponding number of screens with which to view
the components. Click Next at each screen after the information is entered.
This procedure generates a key that can be used to back up and restore an object.
A backup/restore key must have the Import and Export usages. Only a Security Officer
can set the Export usage on an existing key. There are two methods for creating a
backup/restore key.
The Security Officer(s) can log on, create the key, and set the Import and Export
usages. A key created by the Security Officer(s) cannot be Private.
The User(s) can log on, create the key, and then set the Import usage (the key must
also be Modifiable). The Security Officer(s) can then log on and set the Export usage.
Select at least the Sensitive and Exportable attributes. Do not select Private.
This procedure generates a key that can be used to backup and restore a backup key and/or other
objects.
A backup/restore key must have the Import and Export usages. Only a Security Officer
can set the Export usage. There are two methods for creating a backup/restore key from
components.
The Security Officer(s) can log on, create the key, and set the Import and Export
usages.
The User(s) can log on, create the key, and set the Import usage (the key must also be
Modifiable). The Security Officer(s) can then log on and set the Export usage.
3. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
The key should be Sensitive and should not be Exportable.
4. Click Finish.
This procedure generates a key that can be used to wrap and/or unwrap a key.
2. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
The key should at least be Sensitive, Modifiable, and Exportable.
4. Click Finish.
You can use a derive mask to precisely control what a key derived by that key (and so on for each
successive level) is allowed to do.
This function is enabled only if the key has a usage of Derive and an attribute of Derive Mask.
1. For Level1, select the key usage from the available options. If Derive is selected, then Level2
is enabled.
2. Click Finish.
You can use an unwrap mask to precisely control what a key unwrapped by that key is allowed to
do. This function is only enabled if a key has a usage of Unwrap and an attribute of Unwrap Mask.
2. Under Unwrap Template, select the appropriate usage(s) for keys unwrapped by this key.
If you are unwrapping a key with this key or modifying a key unwrapped by this key
and set a usage not allowed by the Unwrap Mask, you will receive the error:
CKR_ERROR: 0x000000D1 ‐ CKR_TEMPLATE_INCONSISTENT.
3. Click Finish.
Restore an object
1. From the menu bar select Import > Restore Object. The Restore Object dialog box opens.
2. Select the import key from the Key list.
3. Select whether the object(s) are in individual files or are contained within a zip file.
4. Browse to and select the file(s) you want to import. Click Open.
5. The objects are displayed in the dialog box. Select those you want to restore and then click
OK.
Unwrap a key
2. Under Key Encryption Key, select the Mode and the KEK from their respective lists.
3. Under Encrypted Key, select the Key Type from the list and then select whether the encrypted
key will be imported from a file, entered using the keyboard, or entered via a terminal.
If loading from a file, click Browse and then navigate to the file you want to import. Click
Open.
4. Under Label (or Private Key Label if you selected CKM_TR31_RSA_PKCS1 for the encryption
mode), enter the Name, Owner, and Version in their respective text boxes. The combination
of Name, Owner, and Version must be unique within the database.
5. Select the key usage from the available options. (Refer to “Key Usage” on page 42.)
6. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
If the Derive or Unwrap usages are selected, the Derive Mask and/or Unwrap Mask
attributes will be available. If these attributes are then selected, the Derive Mask
and/or Unwrap Mask options become available. Refer to “Create a derive mask” on
page 56 and “Create an unwrap mask” on page 56.)
7. If you selected CKM_TR31_RSA_PKCS1 for the encryption mode, click Next and then, under
Public Key Label, enter the Name.
8. Click Finish.
1. From the menu bar select Import > Import Public Key. The Import dialog box opens.
2. Under Key, select the CKK_RSA key from the Type list.
3. Under File Name, click Browse and then navigate to the key file that you want to import.
4. Under Label, enter the Name, Owner, and Version in their respective text boxes.
5. Select the key pair attributes from the available options. (Refer to “Key Attributes” on
page 43.)
6. Select the key pair usage from the available options. (Refer to “Key Usage” on page 42.)
7. Click OK.
Perform the following steps to import a key pair from a file in which the secret key is encrypted in
ASN.1 format and the public key is not encrypted.
1. Unwrap the Secret Key:
a. From the menu bar select Import > Unwrap Key. The Import dialog box opens.
c. Under Encrypted Key, select CKK_RSA for the Key Type from the list.
d. Click Browse and then navigate to the file containing the key pair. Click Open.
e. Under Label, enter the Name, Owner, and Version in their respective text boxes. For RSA
key pairs, the combination of the Owner and Version must be unique within the
database.
f. Select the key usage from the available options. (Refer to “Key Usage” on page 42.)
g. Select the key attributes from the available options. (Refer to “Key Attributes” on
page 43.)
If the Derive or Unwrap usages are selected, the Derive Mask and/or Unwrap
Mask attributes will be enabled. If these attributes are then selected the Derive
Template and/or Unwrap Template options are enabled. Refer to “Create a
derive mask” on page 56 and “Create an unwrap mask” on page 56.)
h. Click Finish.
a. From the menu bar select Import > Import Public Key. The Import dialog box opens.
c. Under File Name, click Browse and then navigate to the folder containing the key pair.
d. Under Label, enter the Name, Owner, and Version in their respective text boxes. For RSA
key pairs, the Owner and Version entered must match the Owner and Version entered in
step 1E above.
e. Select the key pair attributes from the available options. (Refer to “Key Attributes” on
page 43.)
f. Select the key pair usage from the available options. (Refer to “Key Usage” on page 42.)
g. Click OK.
a. From the menu bar select Import > Import Public Key. The Import dialog box opens.
b. Under Key, select CKK_RSA from the key Type list.
c. Under File Name, click Browse and then navigate to the folder containing the key pair.
d. Under Label, enter the Name, Owner, and Version in their respective text boxes.
e. Select the key pair attributes from the available options. (Refer to “Key Attributes” on
page 43.)
f. Select the key pair usage from the available options. (Refer to “Key Usage” on page 42.)
g. Click OK.
If a matching RSA Private key is found, its label will be listed in the Paired Private Key field.
This procedure imports a MULTOS Hash Modulus or a Transport Key Certifying Key (TKCK).
The imported key must be a public key with the Trusted attribute enabled. This attribute
can only be set by a Security Officer and only a Security Officer can modify a Trusted key.
There are two methods for changing the key attribute to Trusted.
The Security Officer can log on, import the key, and then set the Trusted attribute.
A User can log on and then import the key (the key must be modifiable). The Security
Officer must then log on and then set the key attribute to Trusted.
2. From the menu bar select Import > Import Public Key. The Import dialog box opens.
4. Under File Name, click Browse and then navigate to the key file that you want to import.
5. Select the key attributes from the available options. (Refer to “Key Attributes” on page 43.)
Both keys must be Trusted.
6. Select the key usage from the available options. (Refer to “Key Usage” on page 42.) The Hash
Modulus must have Encrypt and the TKCK must have Derive usage.
7. Click OK.
Back up an object
This procedure creates a backup of an object, including its value and all of its attributes.
4. Select whether the object(s) will be exported as individual files or will be contained within a
zip file.
5. Browse to and select the destination folder for the object(s). Click OK.
6. The objects to back up are displayed in the dialog box. Click OK.
Wrap a key
This procedure wraps the value of an extractable secret key or a private key.
2. Select an Encryption Mode from the list. Only keys with a usage of Wrap will display in the
list.
5. Browse to and then select the destination folder for the key(s). Click OK.
6. The key(s) to export are displayed in the dialog box. Click OK.
2. From the menu bar select Export > Extract Public Key.
3. In the Extract Public Key dialog box, browse to the location where you want the key saved and
then click OK.
2. From the menu bar select Export > Export MULTOS Public Key.
3. In the Export MULTOS Public Key dialog box, browse to the location where you want the key
saved and then click OK.
Certificate Tasks
5. Enter a Service ID (the four most significant bytes of the PIX portion of the AID, padded on
the right with \x00 if less than four bytes long). Example: 02020000
6. Select the month and year in which you want the certificate to expire.
7. Browse to and select the folder in which you want the certificate request stored. Click OK.
8. (Optional) Select the Test Certificate check box to create a test certificate as specified by
American Express.
9. Click Finish. The certificate request will be generated with the .dat extension. Test certificate
requests begin with T. Regular requests begin with P. The request and hash file are saved in
the folder you specified.
4. Based on the key selected in step 3, the Public Key Index (hex) and BIN fields will contain
information.
5. Select the month and year in which you want the certificate to expire.
6. Browse to and select the folder in which you want the certificate request stored. Click OK.
5. Enter a Service ID (the four most significant bytes of the PIX portion of the AID, padded on the
right with \x00 if less than four bytes long). Example: 02020000
6. Select the month and year in which you want the certificate to expire.
7. Browse to and select the folder in which you want the certificate request stored. Click OK.
8. (Optional) Select the Test Certificate check box to create a test certificate as specified by
Interac.
9. Click Finish. The certificate request will be generated with the .BIN extension.
4. Based on the key selected in step 3, the Public Key Index (hex) and BIN fields will contain
information.
5. Select the month and year in which you want the certificate to expire.
7. Browse to and select the folder in which you want the certificate request stored. Click OK.
6. Enter a Service ID (the four most significant bytes of the PIX portion of the AID, padded on
the right with \x00 if less than four bytes long). Example: 02020000
7. Select the month and year in which you want the certificate to expire.
8. Browse to and select the folder in which you want the certificate request stored. Click OK.
9. Click Finish. The certificate request will be generated without the INP extension.
4. Based on the key selected in step 3, the Public Key Index (hex) and BIN fields will contain
information.
5. Select the month and year in which you want the certificate to expire.
6. Browse to and select the folder in which you want the certificate request stored. Click OK.
7. Click Finish. The certificate request will be generated with the SIP extension. The request and
the hash file (with the HIP extension) are saved in the folder you specified.
8. Follow the procedure defined by the MasterCard CA to send the request to MasterCard.
3. Select a version.
5. Based on the key selected in step 3, the BIN field will contain information.
10. Click Finish. The certificate request will be generated with the INP extension. The request and
the hash file are saved in the folder you specified.
4. Based on the key selected in step 3, the BIN field will contain information.
8. Browse to and select the folder in which you want the certificate request stored. Click OK.
9. Click Finish. The certificate request will be generated with the INP extension. The file is saved
in the folder you specified.
3. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
4. Click Open. The certificate’s information displays in the Registered ID and AMEX PK index
fields.
5. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
4. Click Open. The certificate’s information displays in the Registered ID, PK Index, and Service
Identifier fields.
5. Click Finish.
3. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
4. Click Open. The certificate’s information displays in the Registered ID and Discover PK index
fields.
5. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
4. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Open.
6. For BIN, enter the Owner of the Issuer Key that has been certified.
7. For Public Key Index (hex), enter the Version of the Issuer Key that has been certified Public
Key Index.
8. For CA PK Index, enter the version in hexadecimal notation of the CA Public Key used to sign
the issuer key.
9. Click Finish.
4. Click Open. The certificate’s information displays in the Registered ID and Interac PK index
fields.
5. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
5. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
6. Click Open. The certificate’s information displays in the BIN, PK Index, and Serial Number
fields.
7. Click Finish.
3. In the Import CA Certificate dialog box, browse to and select the JCB CA Public Key File you
want to import.
7. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
4. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Open. The certificate’s information displays in the Certificate Serial No., Public Key
Index, and CA PK Index fields.
6. Click Finish.
3. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
4. Click Open. The certificate’s information displays in the Registered ID and Jetco PK index
fields.
5. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
3. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Finish.
4. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Open. The certificate’s information displays in the BIN, Public Key Index, and CA PK
Index fields.
6. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
4. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Open. The certificate’s information displays in the BIN, Public Key Index, and CA PK
Index fields.
6. Click Finish.
3. Select a version.
4. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
6. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
3. Select a version.
4. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
5. Click Open. The certificate’s information displays in the Registered ID, PK Index, and Service
Identifier fields.
6. Click Finish.
3. In the Import CA Certificate dialog box, browse to and select the certificate you want to
import.
4. Click Open. The certificate’s information displays in the Registered ID and Visa PK index fields.
5. Click Finish.
You must import the CA certificate before importing the Issuer certificate.
1. From the menu bar, select Certificates > Import Issuer Certificate. The Import Issuer
Certificate dialog box opens.
4. In the Import Issuer Certificate dialog box, browse to and select the certificate you want to
import.
6. Click Finish.
2. Use the Issuer public key (Issuer_PK) to generate the certificate request (refer to “Generate
an American Express certificate request” on page 62 for step‐by‐step instructions).
3. Generate or import the following Issuer application keys (refer to “Generate a secret key” on
page 52 for step‐by‐step instructions). The key Owner must match the BIN derived from the
PAN in the magnetic stripe data. The key Version for the Derivation Master Keys (DMKs) must
match the value defined in the ADT for the Data Element DerivationKeyIndex and the key
Version for the KEK must match the value defined in the ADT for the Data Element KEK_VER.
4. Import the Amex CA and Issuer Certificates (refer to “Import an American Express CA
certificate ” on page 65 and “Import an American Express Issuer certificate” on page 65 for
step‐by‐step instructions).
5. If you are using Affina One Step Issuance software, you must also import the zone master key
(ZMK) and card master key (KMC) into the Key Management System. They come from your
card supplier. Refer to “Create a secret key from clear components” on page 54 for step‐by‐
step instructions.
Key Management System tasks for VSDC, VSDC R2, and VSDC R3
1. Generate the following Issuer keys (refer to “Generate a key pair” on page 52 for step‐by‐step
instructions). The key Owner must match the BIN derived from the PAN in the magnetic
stripe data and the key Version entered must also be defined in the ADT as the value for the
Data Element IssuerPublicKeyIndex.
2. Use the Issuer public key (Issuer_PK) to generate the certificate request (refer to “Generate a
VISA certificate request” on page 65 for step‐by‐step instructions).
4. Import the VSDC CA and Issuer Certificates (refer to “Import a VISA CA certificate” on page 70
and “Import a VISA Issuer certificate” on page 70 for step‐by‐step instructions).
5. If you are using Affina One Step Issuance software, you must also import the zone master key
(ZMK) and card master key (KMC) into the Key Management System. They come from your
card supplier. Refer to “Create a secret key from clear components” on page 54 for step‐by‐
step instructions.
2. Use the Issuer public key (Issuer_PK) to generate the certificate request (refer to “Generate a
MasterCard certificate request” on page 64 for step‐by‐step instructions).
3. Generate or import the following Issuer application keys (refer to “Generate a secret key” on
page 52 for step‐by‐step instructions). The key Owner must match the BIN derived from the
PAN in the magnetic stripe data. The key Version for the Issuer Master Keys (IMKs) must
match the value defined in the ADT for the Data Element “KeyDerivationIndex” and the key
Version for the KEK must match the value defined in the ADT for the Data Element “KEK_
VER”.
5. If you are using Affina One Step Issuance software, you must also import the zone master key
(ZMK) and card master key (KMC) into the Key Management System. They come from your
card supplier. Refer to “Create a secret key from clear components” on page 54 for step‐by‐
step instructions.
The data generation keys described in “Key Management System tasks for VSDC, VSDC R2, and
VSDC R3” on page 72 and “Key Management System tasks for M/Chip4, MICA, MCAM, and D‐
PAS” on page 74 are required along with the following keys.
For MULTOS, the KEK must also have the usage Encrypt.
1. Generate the Application Provider Keyset (refer to “Generate a key pair” on page 52 for step‐
by‐step instructions). The APK version must match the “Application Provider Keyset ID” in the
ALU template that is listed in the ADT in the Data Element APK_VER. The key Owner must
match the BIN derived from the PAN in the magnetic stripe data or the value of the APK_
OWNER in the ADT.
2. Import the MULTOS Hash Modulus and, if using Affina One Step Issuance software, the
Transport Key Certifying Key (TKCK). Refer to “Import the MULTOS Hash Modulus and TKCK”
on page 60 for step‐by‐step instructions.
4. If you are using MICA with PayPass, create or import the Issuer Master Key for CVC3
(IMKcvc3). The key Owner must match the BIN derived from the PAN in the magnetic stripe
data. The key Version for the Issuer Master Keys (IMKs) must match the value defined in the
ADT for the Data Element “KeyDerivationIndex”. The IMKcvc3 must have the usage Derive for
Dynamic CVC3 and Sign for Static CVC3.
The data generation keys described in “Key Management System tasks for VSDC, VSDC R2, and
VSDC R3” on page 72 and “Key Management System tasks for M/Chip4, MICA, MCAM, and D‐
PAS” on page 74 are required along with the following keys.
For step/one, the KEK must also have the usage Encrypt.
1. Import the step/one IMK_KE and IMK_AS. The Owner for both keys must match the value
defined for the Data Element MCD_IssuerID in the ADT and the Version must match the value
defined for the Data Element StepOneIMK_ID. The key Owner must match the BIN derived
from the PAN in the magnetic stripe data.
Configuration
Manager
Database
Batch Applications
Syntera CS/Affina PM
KMS
Cryptographic Device
GP Profiles
There are four types of GP profiles: Application, Card, Key, and Loadfile. GP profiles are read only.
Application Profile
The Application profile serves as a container of information about the smart card application and
its requirements. It defines the external data and key requirements of the application and its
individual scripts. Application profiles contain one to many script fragments that are used for card
customization. Within the context of the Affina Data Preparation (DP) system, only script
fragments that do not use the GP Card object can be used. Generally this is the DataPrep script
fragment.
Card Profile
The Card profile describes a smart card. This card could be a singularly unique card or a card that
shares common characteristics, as defined in the Card profile, with other cards. Depending on
how it is used, it either acts as a base template for a smart card or represents a single smart card
by itself.
Key Profile
The Key profile that describes a cryptographic key, independent of any particular instance of the
key. It acts as a template for creating the actual key.
Loadfile Profile
The Loadfile profile describes the physical file that contains the on‐card executable application
code.
80 Configuration Manager
Datacard Profiles
There are six types of Datacard profiles: Application Data Template (ADT), Application Profile
Input Mapping (APIM), Application Profile Output Mapping (APOM), DataSet, Job, and Product.
Users create or modify Datacard profiles using Configuration Manager.
Application Data Template (ADT) Profile
The ADT profile defines static values for data elements declared in a GP Application profile. The
most common use of the ADT is to define EMV static risk parameters for either the M/Chip or
VSDC financial applications.
Application Profile Input Mapping (APIM)
The APIM profile allows users to “map” data from the output of a DataSet profile to an external
data element of a script fragment defined in an Application profile. In other words, variables
within a script fragment can be dynamically set at runtime by using the APIM to map the input
data.
Application Profile Output Mapping (APOM)
The APOM profile allows users to define data element values of a script fragment to be stored in
the Output DataSet. In the Affina One Step environment, the APOM can be used to select Data
Elements to be listed in the Audit data.
DataSet Profile
The DataSet profile acts as a parser for either input or output data within the context of an
application script fragment.
The input DataSet profile serves as a parser for incoming cardholder data. It is responsible for
creating a common issuer set of ECMAScript variables or objects that can be used later by the
APIM.
The output DataSet profile serves as a formatting tool for cardholder data. It is responsible for
collecting data generated by the APOM after script fragment execution and for formatting the
cardholder data for the output.
A Default embedded DataSet is provided that does not require an APIM or APOM. However, you
can use an APOM to selectively return data to an output file in the Affina DP environment or to
the Audit trail in the One Step environment.
Job Profile
The Job profile defines the highest level of configuration within the Configuration Manager tool.
It specifies which input and output DataSets will be used at runtime as well as which product to
execute.
At runtime, when Syntera CS or a Batch production setup sends a request to the Affina Profiles
and Scripting Interpreter with cardholder data, one or more script fragments will be executed.
The Product profile allows a user to choose which Application profiles will be used at runtime
and, more specifically, which script fragments defined in those Application profiles will be run.
Because the order of script execution is important, the Product profile lets you specify the
ordering of the process steps (AID/Script Fragment pair). You can also define which static values
to use for each script fragment by assigning an ADT to each Application instance within the
Product profile.
ADT Associations
An ADT may be associated with a MULTOS Template or with a Visa Personalization Assistant (VPA)
Output File. After an ADT is associated with a template or an output file, the associated elements
of the template or output file can be viewed in the ADT Tool Association tab. An associated ADT
can be exported from one system and imported into another system as long as the same
template or output file is also provided.
VPA Output Files in XML format may be imported into Configuration Manager and associated
with an ADT. After the ADT is associated with the output file, all Data Element values defined in
the VPA file become Read‐only values in the ADT.
ALU templates (.alt files) may be imported into Configuration Manager and associated with an
ADT. After the ADT is associated with the template, all Data Element values for which
Personalization has been set to Not Allowed in the template become Read‐only values in the
ADT. Data Element values for which Personalization is Allowed are editable in the ADT. Values for
associated Data Elements may not be deleted, and all Data Elements defined in the template are
considered to be Mandatory and to be provided by the ALU Generation System. The values in the
template, including which Data Elements are Read‐Only, can be viewed in the ADT Tool
Association tab.
Profile Associations
The following illustration is a graphical representation of profile interaction within the
Configuration Manager tool. To avoid errors, create profiles in the order specified in “Create a
new job using release profiles” on page 95.
82 Configuration Manager
Loadfile
ADT
Product
APIM APOM
The GlobalPlatform Systems Scripting Language Specification, version 1.0, redefined the script
language used to personalize cards to be ECMAScript, which is popularly known as JavaScript.
ECMAScript itself is defined in the ECMAScript Language Specification (Standard ECMA‐262, 3rd
Edition). The GlobalPlatform Scripting Specification, version 1.1, provides standardized JavaScript
functions for communicating with smart cards and describes how to use these functions to
communicate with cards.
The GlobalPlatform Systems Profiles Specification, version 1.1, defines the Card, Application, Load
File, and Key Profiles that contain the script fragments from which the card personalization script
is built. These profiles are written in the language defined by the W3C working group as
Extensible Markup Language (XML) 1.0 in the W3C Recommendation February 10, 1998.
As defined in the ECMA specification, all variables with “$” as the first character are
reserved for computer‐generated variables.
a. In Configuration Manager, select Import; in the Open dialog box, use the Files of Type list
to select ALU Templates (*.alt), and then navigate to the location where the ALU
template file you will be using is stored, select the file, and then click Open.
b. Associate the Template with the appropriate Sample ADT as described in “Create an ADT
association” on page 89.
c. Edit the Sample ADT to specify the PersonalizerID (for M/Chip4) and any other required
values (as described in the application release notes).
84 Configuration Manager
Configuration Manager Tasks
The tasks you may need to perform can be grouped into general tasks, profile creation tasks, and
profile management tasks. This section also includes a procedure for adapting the release profiles
included with Affina issuance software to your environment.
General Tasks
1. Log on to the computer with a user name that has ADP_Administrator, ADP_Operator, or
ADP_User user privileges and start the Affina Data Preparation Launcher (Start > Programs >
Datacard > Affina Data Preparation > Affina Data Preparation Launcher).
Filtering objects
You can control which objects are displayed in the Token Explorer by using the filter tool.
2. In the Browser Filter, enter the name, Owner, and/or Version of the object(s) you want to
display. You can also select the check box based on the class of object you want displayed.
3. Click OK.
You can select the base object identifier (OID) for objects created in Configuration Manager.
1. From the Configuration Manager menu bar, select Configuration > Configuration Manager
OID. The Configuration Manager Base OID dialog box opens.
2. If you have been issued a base OID, replace the default OID (which was generated for the
computer on which Affina DP is installed) with the OID you have been issued.
3. Select whether you want to input OIDs in Hexadecimal or Decimal notation, and then click
OK.
You can choose whether to view OIDs (object identifiers) in decimal notation or hexadecimal
notation. In addition, you can choose whether to see an alias that may be more understandable
to you.
1. To view OIDs in decimal notation, from the Configuration Manager menu bar, select Options
> OID > View As Decimal.
—or—
To view OIDs in hexadecimal notation, from the menu bar, select Options > OID > View As
Hexadecimal.
2. To see an alias next to the OID, from the menu bar, select Options > OID > Show Alias.
3. Click Edit.
4. Under Choose ADT/Tool Association, click Disassociate.
Import a profile
You can import a profile that was created elsewhere for use in your system.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Import.
5. If any row shows an error in the Status column, the Error Details button becomes available.
You can use this information to correct the error before starting this process again.
86 Configuration Manager
Export a profile
You can export a profile you created for use in another system.
3. Browse to the folder where you want the profile saved or create a new folder.
4. Select Export all child profiles and/or Overwrite existing files as appropriate.
5. Click Export. A Results dialog box opens, showing the name of the file created.
Delete a profile
2. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Delete.
Edit a profile
4. Click Apply Changes to save your work or click Apply to New Revision to save your changes in
a new revision of the profile, leaving the profile you selected in step 1 unchanged.
You can import a VPA output file for use in your system.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Import.
3. Browse to and select the file or files that you want to import, and then click Open.
Information about the files you selected fills the dialog box.
4. If any row has a check mark in the Exists column, you must either select Overwrite existing
file(s) or click Cancel and start the process over, taking care not to select files that already
exist.
5. If any row shows an error in the Status column, the Error Details button becomes available.
You can use this information to correct the error before starting this process again.
7. If necessary, associate the VPA with an ADT. (Refer to “Create an ADT association” on
page 89.)
You can import an Application Load Unit template for use in your system.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Import.
4. Browse to and select the template file or files that you want to import, and then click Open.
Information about the files you selected fills the dialog box.
5. If any row has a check mark in the Exists column, you must either select Overwrite existing
file(s) or click Cancel and start the process over, taking care not to select files that already
exist.
6. If any row shows an error in the Status column, the Error Details button becomes available.
You can use this information to correct the error before starting this process again.
8. If necessary, associate the ALU Template with an ADT. (Refer to “Create an ADT association”
on page 89.)
88 Configuration Manager
Create an ADT association
An Application Data Template may be associated with a MULTOS Template or with a Visa
Personalization Assistant (VPA) Output File. After an ADT is associated with a template or an
output file, the contents of the template or output file can be viewed in the ADT Tool Association
tab. An associated ADT can be exported from one system and imported into another system as
long as the same template or output file is also provided.
VPA Output Files in XML format can be imported into Configuration Manager and associated
with an ADT. After the ADT is associated with the output file, all Data Element values defined
in the VPA file become Read‐only values in the ADT.
M/Chip4 ALU templates (.alt files) can be imported into Configuration Manager and
associated with an ADT. After the ADT is associated with the template, all Data Element
values for which Personalization has been set to “Not Allowed” in the template become
Read‐only values in the ADT. Data Element values for which Personalization is “Allowed” are
editable in the ADT. Values for associated Data Elements may not be deleted, and all Data
Elements defined in the template are considered to be Mandatory and to be provided by the
ALU Generation System. The values in the template, including which Data Elements are Read‐
only, can be viewed in the ADT tab named Tool Association.
1. In Configuration Manager, select an ADT from the left pane. Information about the selected
ADT displays in the right pane.
2. In the right pane, select the Tool Association tab.
3. Click Edit.
An Application Data Template can save work and reduce opportunity for errors if certain
parameters for a product change from time to time—or even from card to card.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Create > ADT.
2. In the Create New ‘ADT’ Profile dialog box enter an Alias (a short name for the profile that will
help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want to enter the OID in decimal or
hexadecimal notation.
4. Select the associated Application profile from the list.
6. Click OK. The Data Elements tab opens in the right pane. It lists all the data elements defined
in the associated Application profile. Data elements defined in parent ADTs are in the top
pane and those available for definition are in the bottom pane. You can select the encoding
method and specify the value for any data element in the bottom pane. If a data element is
marked Read Only, the value you enter here will override what you specify in the APIM.
Mandatory data elements for which you do not specify a value here must be defined in the
APIM (refer to “Create an APIM profile” on page 91). Data elements in the list that are
optional may be empty and will not be included in the output.
7. Click Edit to begin making changes. You can click Apply Changes or Undo Changes at any
time. After you click Apply Changes, you cannot undo any changes you applied. The Edit,
Undo Changes, and Apply Changes buttons apply to all editable tabs for the profile.
8. The Key Elements tab lists all the cryptographic keys defined in the associated Application
profile. Select a key in the left column and then make changes necessary in the lower‐right
pane.
9. The Tool Association tab lets you select and use output tools.
b. From the Associate Tool Output dialog box, select the specific tool from the list of those
previously imported into Configuration Manager.
The ADT Profile Summary displays details about the ADT in the Profile Details area and all
information for the ADT profile in XML format in the Profile Xml area. This tab is read‐only.
90 Configuration Manager
Create an APIM profile
An Application Profile Input Mapping profile lets you “map” data from the output of a DataSet
profile to a specified script fragment defined in an Application profile.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Create > APIM.
2. In the Create New ‘APIM’ Profile dialog box enter an Alias (a short name for the profile that
will help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want the OID displayed in decimal or
hexadecimal notation.
4. Select the associated Application profile and DataSet from the lists.
5. Click OK. The Data Elements tab opens in the right pane. It lists all the data elements defined
in the associated Application profile. You can select any data element and supply a value for it
as a JavaScript expression, such as $dataSet.cardholderName.
6. Click Edit to begin making changes. You can click Apply Changes or Undo Changes at any
time. After you click Apply Changes, you cannot undo any changes you applied.
The APIM Profile Summary displays details about the APIM in the Profile Details area and all
information for the APIM profile in XML format in the Profile Xml area. This tab is read‐only.
An Application Profile Output Mapping profile lets you “map” data from the output of a DataSet
profile to an associated cardholder data field.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Create > APOM.
2. In the Create New ‘APOM’ Profile dialog box enter an Alias (a short name for the profile that
will help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want the OID displayed in decimal or
hexadecimal notation.
4. Select the associated Application profile and DataSet from the lists.
If you are using Affina One Step Issuance, you can associate an APOM with the
default DataSet. In that case data elements added to the APOM for the
personalization script fragment are sent to the personalization system’s Audit record.
5. Click OK. The Data Elements tab opens in the right pane. It lists all the data elements defined
in the associated Application profile. You can select any data element and add it to the data
output.
a. Select a key from the Available Key(s) list and then click Add to ‘Output Key(s)’.
b. To remove a key from the Output Key(s) list, select it and then click Remove Selected
Key(s).
7. The Element Order tab lets you arrange the Data elements and Output Keys you have
selected. Select an object from the list and then click either Move Up or Move Down.
The APOM Profile Summary displays details about the APOM in the Profile Details area and all
information for the APOM profile in XML format in the Profile Xml area. This tab is read‐only.
2. In the Create New ‘DataSet’ Profile dialog box enter an Alias (a short name for the profile that
will help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want the OID displayed in decimal or
hexadecimal notation.
4. Click OK. The DataSet Definition tab opens in the right pane. It lets you write two scripts: read
and write.
5. Choose which script you want to work on, and then click Edit.
6. To write the script, enter JavaScript commands. You can click Apply Changes or Undo
Changes at any time. After you click Apply Changes, you cannot undo any changes you
applied and you must click Edit again to make additional changes. The Edit, Undo Changes,
and Apply Changes buttons apply to all editable tabs for the profile.
The DataSet Profile Summary displays details about the DataSet in the Profile Details area and all
information for the DataSet profile (read script, write script, and identifying information) in XML
format in the Profile Xml area. This tab is read‐only.
92 Configuration Manager
Create a Job profile
The Job profile specifies which input and output DataSets will be used at runtime as well as which
product to execute.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Create > Job.
2. In the Create New ‘Job’ Profile dialog box enter an Alias (a short name for the profile that will
help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want the OID displayed in decimal or
hexadecimal notation.
4. Click OK. The Job Settings tab opens in the right pane.
5. Click Edit to begin making changes. You can click Apply Changes or Undo Changes at any
time. After you click Apply Changes, you cannot undo any changes you applied. The Edit,
Undo Changes, and Apply Changes buttons apply to all editable tabs for the profile.
6. Select the Input DataSet, Output DataSet, and Product to Execute from the lists. If you do not
select a DataSet, the default DataSet will be used.
7. (Optional) Click Edit Product Selections Script. A Script Editor dialog box opens, in which you
can enter JavaScript commands. For example, you might specify circumstances when a
product other than the one you selected for Product to Execute would be used.
8. The Job Parameters tab lets you add or delete your own user‐defined parameters.
a. To add a parameter, click Add New Parameter, enter a name, choose an encoding type,
and enter a default value.
b. To delete a parameter that was previously added, select it and then click Delete Selected
Parameter.
The Job Profile Summary displays details about the Job in the Profile Details area and all
information for the Job profile (input and output DataSets, the Product, and any Job Parameters
you specified) in XML format in the Profile Xml area. This tab is read‐only.
The Product profile lets you choose which script fragments in which Application profiles will be
executed. It also lets you specify the ordering of the process steps and control the input data for
each script fragment.
1. From the Configuration Manager menu bar, select Configuration > Profiles and Tool Outputs
> Create > Product.
2. In the Create New ‘Product’ Profile dialog box enter an Alias (a short name for the profile that
will help you identify it) and a longer Description.
3. (Optional) Change the OID and choose whether you want the OID displayed in decimal or
hexadecimal notation.
4. Click OK. The Product Applications tab opens in the right pane.
5. Click Edit to begin making changes. You can click Apply Changes or Undo Changes at any
time. After you click Apply Changes, you cannot undo any changes you applied. The Edit,
Undo Changes, and Apply Changes buttons apply to all editable tabs for the profile.
d. Click OK.
7. Select from the list the ADT you want to use for this application instance.
8. To delete an Application Instance, select the instance you want to delete and click Remove
Selected Application Instance.
9. The Product Process Steps tab lets you select which script fragments should be executed and
the order in which they are executed.
a. Select an application instance from the Step 1 pane. The script fragments in that
application instance display in the Step 2 pane.
b. Select a script fragment from the Step 2 pane and then click Add to ‘Current Process
Steps’.
c. When all the required steps are listed in the bottom pane, place them in the order to be
executed. To change the order, select a step and click Move Up or Move Down.
d. To view a script, select the process step and then click View Scripts. In the Script Editor
dialog box, choose the script you want to view. Click OK or Cancel to close the Script
Editor dialog box.
94 Configuration Manager
e. To change a script, select the process step and then click Edit Scripts. In the Script Editor
dialog box, choose the script you want to edit and then change or enter JavaScript
commands. Click OK to save your changes or Cancel to close the Script Editor dialog box.
10. The Product Parameters tab lets you add your own parameters to the product.
a. To add a parameter, click Add New Parameter, enter a name, choose an encoding type,
and enter a default value.
b. To delete a parameter that was previously added, select it and then click Delete Selected
Parameter.
11. The Card Profiles tab lets you specify input and output card profiles by selecting from lists.
The Product Profile Summary displays details about the Product in the Profile Details area and all
information for the Product profile in XML format in the Profile Xml area. This tab is read‐only.
Use the following generalized procedure to adapt the release profiles included with Affina
issuance software to your environment.
2. If necessary, import the appropriate application profile from the Program Files\Datacard\
ADP\ Profiles\Release folder. (Refer to “Import a profile” on page 86 for step‐by‐step
instructions.)
3. If necessary, Import all of the key profiles from the same directory.
4. VSDC and M/Chip4 only: Import the Security Domain Application profile for your card (most
likely this will be the Card Manager application). Datacard does not supply a Security Domain
application profile.
5. Create an ADT profile (refer to “Create an APIM profile” on page 91 for step‐by‐step
instructions). Under Select Associated Application Profile, select the appropriate application
profile and then click OK.
6. MULTOS and step/one only: Define the appropriate Issuer risk parameters and application
parameters in the ADT.
7. MULTOS and step/one only: Import the template file that you will be using.
8. Associate the template file with the ADT.
9. Create a Product profile (refer to “Create a Product profile” on page 94 for step‐by‐step
instructions).
VSDC and M/Chip4 only: If you are using Affina OSI software:
a. In the Product Applications tab of the Product profile, click Edit and then select Add
Application Instance.
b. In the Create New Application Instance dialog box, for Application Profile select the
appropriate application and for AID enter the AID of the Security Domain (refer to
documentation from your card supplier for the value to use). Click OK.
c. In the Product Applications tab, select Add Application Instance again.
d. In the Create New Application Instance dialog box, for Application Profile select the
Security Domain application profile and for AID and Security Domain enter the AID of the
Security Domain instance. Click OK.
e. In the Product Applications tab, for Select ADT for Application Instance, select the ADT
you created in step step 5.
f. In the Product Process Steps tab, under Select Available Process Step, select the
appropriate DataPrep script fragment and then click Add to ‘Current Process Steps’.
g. Click Apply Changes to save the Product profile.
11. Create a Job profile (refer to “Create a Job profile” on page 93 for step‐by‐step instructions).
a. In the Job Settings tab, for Product to Execute, select the Product you created in step 9.
b. Select Apply Changes to save the Job profile.
96 Configuration Manager
Chapter 6: One Step
Personalization Setup
This chapter describes creating the setups required to print cards with
Affina OSI software.
Step‐by‐step instructions for this topic can be found in Help for Syntera CS Application
Manager.
Card and Form if data contains both card and forms data.
b. Select an Encoding Type from the list. (Contact the person responsible for generating the
data file and ask what encoding type was used to generate it.)
5. Under Form Information, select the appropriate form Type, Data Field, and Data Field
Location.
a. For the Identifier, enter the hexadecimal values of the identifier characters or click the ^
button to the right of the field, select each character by highlighting it, and then click OK
until you have six Identifier characters.
7. Under Record Separation, select the method used to separate records in the file.
If the file uses a fixed length, select Fixed Length and then enter the length of a record.
If it uses a character sequence, select Character Sequence and then enter the sequence.
You must preface hexadecimal characters (such as 0D) with \x. For example, if it is
#END#, enter #END#; if it is 0D 0A 0D 0A, enter \x0D\x0A\x0D\x0A.
8. Click on the Data Fields tab at the upper left area of the window to display the Data Fields
tab.
9. Click New.
d. For the String, enter the character used to identify the magnetic stripe data. For example,
enter “ (quotation mark).
e. For the End of Field, select the appropriate value from the list.
c. Click OK.
For MULTOS:
a. In the first Source field, right‐click in the Source box, select Value, and then enter the
MULTOS data and the Job OID, for example:
<ONESTEP><JOBOID>2B0601040181900D88100503</ JOBOID><MAG>.
b. In the second Source field, select Magstripe from the list and then click the + button.
13. Click the Save icon in the Maxsys toolbar. The Save Document As dialog box opens.
a. For File Name, enter a name for the specification.
b. Click Save. Your setup displays in the left‐hand pane and the name you specified displays
at the top of the right‐hand pane of the window.
1. Select the CIS Setup menu and then select Data Setup. The Data Setup ‐ [Untitled] window
opens.
2. Select File, Save As, type APSsample in the Save As Filename field, and then select Save As.
3. In the Data Setup ‐ APSsample window, select Actions > Append Field. The Append New Data
Setup Field window opens.
4. Select Data, and then select OK. The Data Setup‐Data Field window opens.
a. (Optional) For Setup Field Name type SEARCH, and then select Next.
b. For Setup Field Name type Magstripe.
5. Select Actions > Append Field. The Append New Data Setup Field window opens.
For Affina PS
For Setup Field Name, type SCRIPT.
In the Value field, type the Format ID, application Name (including the delimiters <
>), and the Job OID (including the delimiters [ ] ):
\xFF\xFF\xFF\xFC<AffinaPS>[JobOID]
For MULTOS
In the Value field, type the Format ID and application Name (including the delimiters
< >).
\xFF\xFF\xFF\xFC<Multos>
Click Next.
In the Value field, type the Job OID (without delimiters). For example, type
2B0601040181900D88100503.
a. Select Composite, and then select OK. The Data Setup‐Composite Field window opens.
For Affina PS
In Defined Fields, double‐click the SCRIPT field and then the P3DATA data field. In the
Field Contents field you will see the following:
{SCRIPT}{Magstripe}
– If the application PIX is not 10100000, you must include the PIX. For example, if
the PIX is 30100000, enter <PIX>30100000</PIX></ONESTEP> and then click
Insert. In the Field Contents field you will see the following:
{Script}"<ONESTEP>""<JOBOID>"{JobOID}"
</JOBOID>""<MAG>"{MAGSTRIPE}"<MAG>""<PIX>30100000</PIX></ONESTEP>"
9. Select Module Feedback, and then select OK. The Data Setup‐Module Feedback Field
window displays.
a. Enter the Feedback fields listed below (select Next after entering each feedback field):
ACCEPTCODE
DLLERROR
TIME
AUDIT_1
AUDIT_2
AUDIT_3
AUDIT_4
AUDIT_5
AUDIT_6
AUDIT_7
AUDIT_8
b. For the final field, type AUDIT_9 and then select Exit. The Data Setup ‐ APSsample
window displays.
10. Select File, Save, and then select File, Exit to close the Data Setup ‐ APSsample window.
1. From the Start menu, select Programs > Datacard > Syntera Customization Suite > HostedSC
SDK v1.0 > Simulator.
2. From the Setup menu, select Data Setup. The Data Setup dialog box opens.
4. For Setup Name, type APS and then click OK. The NK Simulator Data Setup ‐ APS dialog box
opens.
5. Click Append Field. The Select Data Setup Field dialog box opens.
a. (Optional) For Data Type, verify Input Data is selected and then click OK. The Data Setup ‐
Data Field dialog box opens.
v. Click OK.
b. For Data Type, verify Input Data is selected and then click OK. The Data Setup ‐ Data Field
dialog box opens.
iii. For Start of Field, select Start Code and enter “ (quotation mark).
v. Click OK.
c. For Data Type, select Constant and then click OK. The Data Setup ‐ Constant Field dialog
box opens.
For Affina PS
In the Value field, type the Format ID, application Name (including the delimiters <
>), and Job OID (including the delimiters [ ]). For example:
For MULTOS
In the Value field, type the Format ID and application Name (including the delimiters
< >).
\xFF\xFF\xFF\xFC<Multos>
d. (Affina PS only) For Data Type, select Composite and then click OK. The Data Setup ‐
Composite Field dialog box opens.
– If the application PIX is not 10100000, you must include the PIX. For example, if
the PIX is 30100000, in the String field, enter <PIX>30100000</PIX> and then
click Insert. When complete, the following string will be created:
"<JOBOID> 2B0601040181900D88100503""</ JOBOID>"
"<MAG>"{Mag}"</MAG><PIX>30100000</PIX>"
– Otherwise, in the String field, enter </MAG> and click Insert. When complete,
the following string will be created:
"<JOBOID> 2B0601040181900D88100503""</ JOBOID>"
"<MAG>"{Mag}"</MAG>"
f. (MULTOS only) For Data Type, select Composite and then click OK. The Data Setup ‐
Composite Field dialog box opens.
iv. In the String field, enter <ONESTEP> and then click Insert.
vi. In the String field, enter </ONESTEP> and then click Insert.
1. From the Start menu, select Programs > Datacard > Affina Personalization Manager >
Desktop Utility > Datacard Data Parser.
2. In the Datacard Data Parser dialog box, click Configure. The Configure Data File dialog box
opens.
3. For Record Separator, select Character Sequence and enter the appropriate string. For
example, enter #END#.
4. In the Configure Data File dialog box, under field settings: For Field Name, type APS.
b. For Script Data, enter the Job OID in square brackets. For example, enter
[2B0601040181900D876A0501].
c. For Start of Field, select Start Code and enter “ (quotation mark).
6. Navigate to the appropriate directory, type a name for the configuration, and then click Save.
Production Setup
You will use the Batch Administrator application to create a production setup for each distinct
smart card product you produce. The production setup specifies the directory in which input files
will be placed, the DLL to use in parsing the information in the input file, the fields contained in
each input record, additional fields to be generated during data preparation, the order in which
processes are to be performed, and how the output file is to be stored.
Batch Production
During card production, Batch Engine and Batch Import must be running on your Affina DP
computer. If you have created any production setups, Batch Engine and Batch Import will start
automatically when you start your computer. You can minimize the windows.
Batch Tracking
While you are setting up and testing your Affina DP environment, it may be useful to run the
Batch Tracking application. Batch Tracking shows the progress and results of each job you run. If
any errors occur, you can view them by clicking the input file in Batch Tracking.
* Sample data and scripts included in this product are intended only as a supplement to the documentation. THIS MATERIAL
AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
1. Start the Batch Administrator (on the Launcher, click Batch Administrator).
2. From the menu bar select Setup > Production Setup. The Select Production dialog box opens.
6. Start Batch Engine and Batch Import (on the Launcher, click Batch Production).
10. To view the data produced, click the lowest branch of the job name and then click the Job
Data tab.
You can specify the label that will display in dialog boxes referring to Batch Import.
1. In the Batch Administrator menu bar, select Modules > Batch Import > Batch Import.
—or—
In the Batch Import menu bar, select Setup > Setup Batch Import.
2. To change the label for Batch Import, in the Application Information area, type the label you
want displayed to users.
You can specify the label of the Batch Engine that will display in dialog boxes referring to the
Engine, view information about the server where the Engine is installed, and specify directories
to be used during processing.
1. In the Batch Administrator menu bar, select Modules > Batch Engine > Batch Engine.
—or—
In the Batch Engine menu bar, select Setup > Setup Batch Engine.
2. To change the label of the Batch Engine, in the Application Information area, type the label
you want displayed to users.
3. To view the name of the server, click Refresh next to the Host Name text box.
4. To change the Listen Port Service, type the new port number in the text box.
5. To change the maximum number of processes that can be run simultaneously, type the new
number in the text box.
The Input Shared, Input Temp, and Output Temp directories are purged automatically after
processing the input file. Input files with errors will be stored in the Error Directory.
7. Click Save and then click Exit.
The Job Mnemonics dialog box displays all the constants in the File Identification Records (FIRs)
recognized by the system when processing input files. The standard CSM mnemonics are loaded
during installation. If a mnemonic is not defined in the list, it will be added automatically by the
Batch Engine when processing a file containing the new mnemonic.
1. In the Batch Administrator menu bar, select System > Job Mnemonic Setup.
To delete a mnemonic
1. Click Backup.
2. In the Backup File dialog box, browse to the location where you want the backup stored.
4. Click Open.
1. Click Restore.
2. In the Restore File dialog box, browse to the location where the backup is stored and select it.
3. Click Open.
You can define the display colors for the various states of each file processing step visible in the
Batch Tracking application.
In the Batch Administrator menu bar, select System > Status Color Setup.
Status Definitions
Status Description
Started Started.
Done Completed.
2. Click the color you want displayed and then click OK.
Select a language
You can choose the language of the Batch application user interfaces.
1. From the Batch Administrator menu bar select Utilities > Setup Language.
2. Select the language for the user interface and then click Save.
You will create a production setup for each distinct smart card product you produce.
1. From the Batch Administrator menu bar select Setup > Production Setup.
a. (Recommended) Change the text in the Production Label edit box to something
meaningful.
c. If you want whole records displayed in tracking reports, select Display Full Input Record.
If you do not select this check box, only the fields defined in Input Data Fields which are
loaded and not Hidden will be displayed in Batch Tracking.
d. To document the creation date, click Add in the History area. Your user name and the
date are added; you can supply a Step Label and Description.
a. Click Add in the Import Directories area and browse to the directory where input files will
be located (by default a subdirectory of C:\Program Files\Datacard\ADP\Batch\Input).
Select the directory and click OK.
b. You can enter selection criteria for files to be imported from the directory. The default
value, *.*, processes all files in the directory. An entry of *.txt would process only files
with a TXT extension in the file name. You can specify several filters separated by |
characters (pipes). Example: *.txt|*.dat
c. Under Interval you can specify the number of seconds between scans of this Import
Directory.
d. Choose the Priority for this input file source: Low, Normal, or High.
An input DLL can be used for multiple product setups that use the same record
separator. In_Ref_DTE.dll, In_Ref_MC4.dll, and In_Ref_VSDC.dll are copies of In_
Ref.dll with different record separator specifications. (Refer to “Change the input
DLL record separator” on page 122.)
h. To have the system check for and reject duplicate input files, select Check Duplicated
Files. The method for checking for duplicates is based on the file contents, not just on the
file name. Thus, any file whose size or checksum is identical to an existing file in the
database will be rejected if Check Duplicated Files is selected.
i. To save rejected files in an error folder, select Archive Error File. Each time a file fails, a
sequentially‐numbered folder will be created in the Program Files\Datacard\ADP\File
Handler\Files\Error directory. Within that folder, the input file will be stored with the
name
where input file name is the original input file name; yyyymmdd is the year, month, and
day the file processing job was started; hhmmss is the hour, minute, second when the file
processing job was started; and ext is the extension of the input file.
j. In the Input Processing area, select the name of the Batch Engine processing module
from the list. (If only one module is installed, there will be no list.)
k. To allow the engine to activate the import process, select Enabled. (If only one module is
installed, the check box will be selected.)
l. In the Time Out column, enter the number of seconds after which the processing will be
considered as failed for taking too much time. If a process times out, it will be interrupted
and the data saved in the ADP database will be erased. A 0 (zero) in the Time Out column
means processing can continue indefinitely.
m. In the Max Error column, enter the maximum number of consecutively rejected files after
which processing will be stopped. If this number is reached, you must restart the engine
to continue processing. A 0 (zero) in the Max Error column means processing can
continue indefinitely.
n. In the Max Proc column, enter the maximum number of files that can be processed
simultaneously. Simultaneous processing optimizes file processing time by running tasks
in parallel. The number of tasks run in parallel depends on the available CPU time on the
machine hosting the program.
Generated Data Field generated directly by the Input DLL (for example, a security
field).
d. Change the name of the new field to something meaningful (do not use any of the words
listed in “Reserved Words for Input Fields” on page 109) and then press the ENTER key.
The name you entered displays in the Data Field Name text box.
O (Optional) Select if the field is not always present in the file (not available for
Formula fields).
H (Hidden) Select to make the field invisible in the Batch Tracking module.
L (Loaded) Select for fields that should be loaded into the database. Loading
data may be useful for troubleshooting. Conversely, not loading
data will prevent the database from filling up as quickly. Your
system will operate correctly without loading fields in the
database.
Position Enter the start/end position of the field, where the first position of
the record is set to 1.
Code Enter the code (delimiter) to identify the start or end of the field.
Do not use the \ character; it is used to specify binary values.
Example: % and &
End of Record Select if the field continues to the end of the record.
You can use a file containing a sample record to determine start and end positions for
fields. Click Sample Record and browse to a file that contains a single record with the
structure of the records in your data file. The sample file should not have a header (FIR),
so you can find the positions of the various fields directly from the start of the file. When
you select the field in the window, the field’s Start Position, Length, and End Position are
displayed in the Sample Data area to the right. Right‐click and select a command (Add or
Modify) and a Start and End Definition method. A new record is added to the list of fields
or, if you chose Modify, the record that was highlighted is changed to reflect your
selections.
For Formula fields, click Expression. The Formula Field dialog box opens.
h. (Data Fields only) For Output, if the start definition is a code, you have the option of
copying the start code and/or end code field definitions to the output field. Select Use
field definitions in output to copy the start code to the output field. In addition, you can
select Copy field end code in output to copy the end code to the output field.
i. Select the appropriate field format, which determines how the field will be stored in the
database and what kind of type checking will be done against the data. (If the data read
does not match its declared type, an error occurs and the file is rejected.)
6. On the Chained Process tab, you can specify how processes are linked together: sequentially
or in parallel.
a. To add a process to the list, click Add. The Select Process dialog box opens.
b. Choose one of the process types, DLL or Formula, and then select from the list of
available processes. After you click OK, the process displays in the Process list. (For DLLs,
the Input DLL you specified on the Input Files tab is the process that displays in the list.)
c. To move a DLL or formula up or down the production chain, select it and then click the up
or down arrow buttons.
d. To have two processes run in parallel, place them one after the other in the Processes list
and then select Parallel for each one.
7. On the Dispatching tab:
The file name must not contain the following characters: \ / : * ? " < > >
iii. To confirm the formula and close the Field Formula dialog box, click Save Script. The
formula is updated in the Job File Name field.
b. To add a header record to the production file, select Add FIR and then, in the FIR
Definition area, enter the file header ID string and the field separator that will be used for
header information.
c. Specify the record delimiter. You can mix ASCII and binary characters. For example,
[END]\x0D\x0A means [END] followed by a carriage return‐line feed.
d. Specify the directory where all production files will be created by entering the full path or
browsing to the directory. If your input data has multiple FIRs, you can merge the output
data into a single file by selecting Merge Job.
e. In the Error Output Directory area, select whether you want the program to save the
error records and, if so, enter the full path or browse to the directory where you want the
error records saved.
i. Select Skip Record to prevent the inclusion of bad records in the output file.
ii. Select Copy Input Record to Output File to copy the original input record (without
any smart card data) to the output file.
iii. Select Add Template to Output File to use a bad record template to format the
output file. Create a bad record template (the format will depend on the
requirements of your system), and then click From File to browse to the location of
the template file. Click Clear to remove the template information.
g. In the Production Record area, select those fields from the left column (the ones you
defined in the Input Data Fields tab) that should be in the record used for card
production. You must select one field at a time and then click Add. After fields are copied
to the right column, you can re‐order them by selecting a field and clicking the up or
down arrow button.
h. In the Record Order area you define how the output file records will be sorted:
ii. Click Add again and select a different “Char” field from the list. Repeat this step until
all relevant fields have been selected.
iii. Select the field that will have the highest precedence and, if necessary, click the up
arrow until it is at the top of the list. Repeat until the fields are in the correct order.
iv. For each field, select ASC if it should be sorted in ascending order or select DESC if it
should be sorted in descending order.
Datacard recommends that you back up your production setups to removable media.
1. From the Batch Administrator menu bar select Setup > Production Setup.
2. In the Select Production dialog box select a setup from the Production List and then click
Backup.
3. Browse to the location where you want the backup stored and then click Open.
1. Purge input files associated with the production setup. (Refer to “Purge input files” on
page 124.)
2. From the Batch Administrator menu bar select Setup > Production Setup.
3. In the Select Production Setup dialog box, select the production setup you want to delete
and then click Delete.
You can change the record separator specified by the input DLL if your environment requires it.
1. Use Windows Explorer to copy In_Ref.dll under a different name and In_Ref.ini under a
corresponding name. The In_Ref.dll and In_Ref.ini files are stored in the \Program Files\
Datacard\ADP\File Handler\DLL\Input directory.
2. From the Batch Administrator menu, select DLL > Input DLL.
3. In the Setup DLL dialog box, select the DLL you want to change and then click Setting.
4. In the Display Ini dialog box, expand RECORD and then click Rec_Mark.
5. In the Rec_Mark area, change the record separator as required and then click Save.
6. Click Exit in the Display Ini dialog box and again in the Setup DLL dialog box.
Monitoring Tasks
You can view Batch Application event logs if your user name belongs to a group with that
privilege.
1. From the Batch Administrator menu bar select Utilities > View Log.
2. Select the log you want to view. Log entries display with the most recent at the top of the list.
You can view a list of all user actions on the Affina DP server if your user name belongs to a group
with that privilege.
1. From the Batch Administrator menu bar select Utilities > View User Action.
2. Select the module for which you want to review user actions. Actions display with the most
recent at the top of the list.
You can create a report explaining the file errors encountered when preparing data.
1. From the Batch Administrator menu bar select Report > File Error or A4 File Error. The
BATCH_Report (File Error) dialog box opens.
2. Enter or select the start and end dates for the report, and then click Preview.
3. To print the report, click the Print Report button in the left‐most position of the toolbar.
You can create a report summarizing the files processed with a specified Production Setup.
1. From the Batch Administrator menu bar select Report > File Summary or A4 File Summary.
The BATCH_Report (File Summary) dialog box opens.
2. Select a Production Setup from the list, and then click Preview.
3. To print the report, click the Print Report button in the left‐most position of the toolbar.
You can create a report that lists all user access events in a specified period.
1. From the Batch Administrator menu bar select Report > User Access or A4 User Access. The
BATCH_Report (User Access) dialog box opens.
2. Enter or select the start and end dates for the report, and then click Preview.
3. To print the report, click Print Report in the left‐most position of the toolbar.
Maintenance Tasks
You can remove user actions from the database, reducing disk space required, if your user name
belongs to a group with that privilege.
1. From the Batch Administrator menu bar select Utilities > Purge User Action.
2. Select or type the date of the oldest user action you want to retain.
3. Click Clean.
You can remove input files from the database, reducing disk space required, if your user name
belongs to a group with that privilege.
1. From the Batch Administrator menu bar select Utilities > Purge Input File.
2. Select the production setup for which you want to remove input files.
3. Select or type the date of the oldest input file you want to retain.
4. Click Clean.
When password complexity policy is enforced, new passwords must meet the following
guidelines:
Must not contain all or part of the account name of the user. Part of an account name is
defined as three or more consecutive alphanumeric characters delimited on both ends by
white space (space, tab, or return) or any of the following characters: comma (,), period (.),
hyphen (‐), underscore (_), or number sign (#).
a. From the Start menu, select All Programs > Microsoft SQL Server 20xx > SQL Server
Management Studio.
b. If necessary, select the Server name and Authentication method, and then click Connect.
c. In the Object Explorer pane, double‐click Security and then double‐click Logins.
d. Under Logins, double‐click adp.
e. In the Login Properties –adp dialog box, enter the new password in the Password and
Confirm Password fields and then click OK.
3. Open the file …\Datacard\ADP\File Handler\Batch_Admin.ini and delete the following line
from the file:
BATCH=DB_LINK
b. In the Data Link Properties dialog box, for Provider select Microsoft OLE DB Provider for
SQL Server and then click Next.
c. Click Connection.
d. Click the arrow under server name and select your SQL Server instance name.
f. For Password, enter your password. The default password is Datacard2010. Be sure to
use a complex password.
i. Click Test Connection. If the Test Connection Succeeded dialog box opens, click OK.
Otherwise, correct your settings and try again.
j. Click OK.
k. Click OK. The connection string shown in the dialog box will be saved in the …\Datacard\
ADP\File Handler\DB_LINK file and will be immediately encrypted by the Batch_
Admin.exe application.
Depending on how your products are set up and your production volume, you may accumulate
large amounts of historical data in your Affina system. Periodic purging of unnecessary data can
reduce the amount of disk space required.
Datacard recommends that you establish a regular schedule for backing up your Databases and
for backing up, archiving, or purging your Event Logs. The frequency of your backups will vary
depending on your production volume. High volume users may need to back up as often as once
a month.
Databases
The Affina installation program installs the ADP database. Use your SQL Server product to back up
and maintain your database.
Event Logs
Affina DP uses two types of event logs: Windows Event Logging and Application Logs.
You view the Datacard Affina event log with the Windows Event Viewer. To start the Event Viewer,
right‐click the My Computer icon on your desktop, select Manage, expand System Tools, expand
Event Viewer, and then select Datacard Affina. The event log is not removed when you uninstall
Affina software. When it has grown to the maximum size, new events replace the oldest ones.
The default maximum size is 16 MB. Both the maximum size and the action taken when the log
reaches maximum size can be changed through the log’s Properties dialog box.
Each of the Batch Applications keeps an event log in the Program Files\Datacard\ADP\File
Handler\Log directory. You can view these logs through the Batch Administration application.
Refer to “View event logs” on page 122 for step‐by‐step instructions.
When a Batch Application log file reaches 385 KB, it is copied to a file called logname.bak and
purged. You can move backup files to removable storage or delete them if your security policies
allow. Or you can move or delete the log files on a regular basis (before they reach the maximum
size). A new log file will be created automatically when needed.
128 Maintenance
Chapter 9: Troubleshooting
This chapter lists problems you may encounter when setting up your
Affina Data Preparation or Affina One Step Issuance environment, along
with possible solutions.
This chapter is not meant to be read from beginning to end. Instead, use the Find
function in Adobe Reader to search for your error.
Cannot open database “Database_EP3R” requested by the login. The login failed. (DB_LINK
not found)
Multiple‐step OLE DB operation generated errors. Check each OLE DB status value, if
available. No work was done. (Incorrect connection string in DB_LINK. )
Possible Solution: Recreate the data link for all Batch applications as described in “Reset the SQL
User Password for Batch Applications” on page 124.
Running reports from Batch Administrator gives an error message: Class not registered.
Solution: Install the Crystal Reports Run‐time from the installation disc. Refer to “Install Runtime
Crystal Reports 11” on page 10.
Investigation: Check the Windows Event Viewer under Datacard Affina for an error message
similar to the following:
Probable Cause: A Data Element in the APIM or ADT has been set as ReadOnly and data had been
passed in the input data file or parsed from the magnetic stripe data by the default parser which
does not match the value defined in the ADT or APIM.
Possible Solution: Uncheck Read‐Only in the ADT or APIM. To change a value typically parsed from
the magnetic stripe data, change the value in the input file.
Tracking returns an error “Script Failed” and “Error returned by the function Compute
File”
Investigation: Check the Windows Event Viewer under Datacard Affina for errors.
Possible Solutions: If the message in Event Viewer is: Failed to Load Object <nnnnnnnn>, then
Object <nnnnnnnn> is missing from Configuration Manager or specified incorrectly in the Batch
Administrator Production Setup.
1. Verify that field definitions in the Production Setup match objects loaded in Configuration
Manager.
b. Start the Batch Administrator application, edit the Production Setup, and click the Input
Data Fields tab.
c. Check that all field definitions in the Fields Definition area match the corresponding
objects in Configuration Manager. For example, the Job OID in the Production Setup
Input Data fields tab must match the Job OID in Configuration Manager, as in the
following illustration. If it does not, change the Production Setup to match Configuration
Manager.
130 Troubleshooting
2. Verify that Rec_Mark specified in your input DLL matches the end of record identifier in your
input file.
a. Start the Batch Administrator application, edit the Production Setup, and click the Input
Files tab. Note the Input DLL specified in the Input Process area.
b. Click the Input Data Fields tab, click Sample Record, navigate to a data file that contains a
single record, and click Open. Note the end of record identifier. Common values are
#END# and [END]\x0D\x0A.
c. Close the Production Setup and, from the menu bar, select DLL > Input DLL.
d. In the Setup DLL dialog box select the Input DLL you noted in step A, and then click
Setting.
f. If the value does not match what you noted in step B above, do one of the following:
If no other Production Setups use the DLL, use the Display Ini dialog box to change
the Rec_Mark value.
Select a DLL that has the correct Rec_Mark value. Change the Input DLL specification
in the Production Setup.
If other Production Setups use the DLL, use Windows Explorer to save copies of the
DLL and its associated INI file under a different file name. Use the Display Ini dialog
box to change the Rec_Mark value in the copied INI file. Change the Input DLL
specification in the Production Setup.
Investigation: Verify that the Input DLL and/or its associated INI file specified in the Production
Setup Input Files tab exists in the Program Files\Datacard\ ADP\File Handler\DLL\Input
directory.
Possible Solution: If the Input DLL and/or its associated INI file does not exist, use Windows
Explorer to save copies of In_Ref.dll and In_Ref.ini under the file name specified in the Production
Setup Input Files tab. If necessary, use the Display Ini dialog box (from the menu bar, select DLL >
Input DLL) to change the Rec_Mark value in the copied INI file.
132 Troubleshooting
Tracking reports an error: Error in opening Table Card request
Investigation: Drilling down on the item displays a message: SELECT permission denied on object
‘TB_CARD_RQT_2’ database ‘ADP’.
Probable Cause: This may happen if the user is not logged in as an Administrator.
Probable Cause: The Production Setup for the job has a field defined on the Input Data Fields tab
that was not found in the input data.
Possible Solution: Change your Production Setup to match your input data.
Possible Solution: Use the Batch Administrator program to create or restore a Production Setup. If
Batch Engine is running, close it, and then start Batch Production.
Probable Cause: Affina issuance software has just been installed and SQL Server was not in Mixed
Mode.
Possible Solution: Restart SQL Server or the computer so that SQL Server will be running in Mixed
Mode.
When attempting to import a script, the error “Error occurred during insert/update of
profile” displays and/or when attempting to create a profile, Blank or Database error
Investigation: If the error occurs when importing a script, the Windows Event Viewer under
Datacard Affina shows: Unexpected error occurred: System.Exception: Error occurred during
insert/update of profile: Profile:
profile oid: Oid: 0x2B0601040181900D88100501
profile type: Key
Probable Cause: TCP/IP is not enabled in Protocols for SQL Server 2005 Network Configuration
and Client Protocols.
1. Select Start > Programs > Microsoft SQL Server 2005 > Configuration Tools > SQL Server
Configuration Manager.
2. Expand SQL Server 2005 Network Configuration and Protocols for <your SQL instance>.
4. Expand SQL Native Client Configuration, enable TCP/IP, and make it first in Order.
5. Restart the SQL Server 2005 services. Make sure SQL Server and the SQL Server Browser
service is running.
134 Troubleshooting
When attempting to start Configuration Manager, the error message “Unauthorized
Access – You are not authorized to run ‘Configuration Manager’” displays.
Possible Solution: Add the user to one of the groups listed above.
Possible Cause: You are using a named instance of SQL Server and the SQL Server Browser service
is not running. For example, your SQL Server instance name is ComputerName\SQLEXPRESS.
Possible Solution: Enable and start the SQL Server Browser service as described in the Affina
Issuance Release Notes under the Limitations section.
KMS Problems
After starting the KMS, the Token Navigator is empty or displays an error
Possible Solution: Run Affina Issuance Setup (Start > Programs > Datacard > Affina Issuance
Software > Affina Issuance Setup), verify that the Name of the Server containing the Crypto
board is entered correctly, and then click Close. Restart the KMS.
0x000000B6 - CKR_SESSION_EXISTS
Possible Cause: An exclusive session is required for this action and other sessions exist.
Possible Solution: Shut down the KMS and then reset the HSM. From the Command Prompt
running As Administrator, enter hsmreset and then enter y to reset the HSM.
Possible Cause: The User(s) must be logged in to perform the requested action.
0x80000106 - CKR_SO_NOT_LOGGED_IN
Possible Cause: The Security Officer(s) must be logged in to perform the requested action.
0x00000110 - CKR_WRAPPED_KEY_INVALID
Possible Cause: The import or unwrap key being used for the requested action is the wrong one
or the wrong type.
Possible Solution: Select the appropriate key and try the function again.
0x000000D1 - CKR_TEMPLATE_INCONSISTENT
Possible Cause: A usage has been defined that is not allowed by a Template such as one defined
by an Unwrap mask.
Possible Solution: Unwrap the key using an unwrap key with a mask that will allow the required
action to be performed.
Possible Solution: Add the user to one of the groups listed above.
Possible Cause: The key Name, Owner, or Version was entered incorrectly in the KMS.
Possible Solution: Verify that the key Name, Owner, and Version match the expected values. If
not, edit them so that they match.
Possible Cause: The key does not exist in the requested token.
136 Troubleshooting
com.datacard.pkcs.pkcs11.wrapper.PKCS11Exception: 0x00000068 - CKR_KEY_
FUNCTION_NOT_PERMITTED
Possible Cause: The key usage in the KMS may not allow the requested action to be performed.
Possible Solution: If the key is modifiable, edit the key usage in the KMS. If not, recreate the key
with the required usage.
Possible Cause: The GP key profile for a key may not allow the requested action to be performed.
Possible Solution: Modify the key profile to allow the required usage and reload the key profile
using Configuration Manager.
Possible Cause: Affina Issuance Software has just been installed or re‐installed.
Investigation: If using the Syntera CS Simulator, an error message displays. If using a high‐capacity
personalization system, an error dialog box will display if your system is so configured. Check the
Windows Event Viewer under Datacard Affina for errors.
Probable Cause: If the message in Event Viewer is: Failed to Load Object <nnnnnnnn>, then
Object <nnnnnnnn> is missing from Configuration Manager or specified incorrectly in the Data
Setup Script constant.
Investigation: Check the Windows Event Viewer under Datacard Affina for errors.
Probable Cause: If the message in Event Viewer is: Failed to locate Key (Key name), then the (Key
name) listed is not in the KMS.
Possible Solution: Add the missing key to the KMS. Refer to procedures for importing and
generating keys in “Key Management System Tasks” on page 52 for step‐by‐step instructions.
Possible Solution: Add the user to one of the groups listed above.
Possible Solution: Add the user to one of the groups listed above.
After changing HSM settings, the new settings do not seem to take effect or the
personalization system returns an error similar to: 0x000000E0 - CKR_TOKEN_NOT_
PRESENT.
Possible Cause: The Datacard SCS Communicator Controller service or Datacard Affina PM Object
Communicator Controller service is running under the Local System account.
The adapter is fitted with a 3.6 volt Lithium battery which is used to maintain keys and on‐board
Real Time Clock (RTC) on the adapter when there is no PCI power (that is, when the host
computer is shut down).
For reasons of safety and reliability do not attempt to replace the battery in the field.
Follow formal board replacement procedures if you determine that the Lithium battery
needs to be replaced.
The expected life of the battery is ten years, therefore it should not require replacement in the
normal lifetime of the adapter.
The PC specifications determine whether power is applied to the PCI slot/adapter when the PC is
powered down but still connected to an active electrical source. Do not assume all PCs have
powered PCI slots.
138 Troubleshooting
If the battery loses power and then afterwards the PC is powered down and no power is available
to the PCI slot, the on‐board RTC and any keys will be lost.
If the battery loses power while the adapter is in a powered computer, the RTC keeps its setting
and keys survive (keys are not protected against intentional power‐off, power outage, or removal
of the adapter from its slot).
If the PC and PCI slot lose all power, a fully charged Lithium battery in good condition will be able
to sustain keys and RTC for up to 6 months. (Apply power for 24 hours to completely recharge the
battery.)
If the Lithium battery is dead, the tamper resistant setting (Never, Move once, Move many) is
irrelevant; the keys and RTC are lost immediately when the board is not powered.
Even if the Lithium battery is dead and PCI power is completely removed, the PC can be powered
up and all keys on the adapter can be re‐installed from backup or manually generated.
Determining the Condition of the Battery
The adapter has a built in battery voltage sensor that will give a Yes/No indication of the battery
state. You can use the utilities provided with the adapter to query the state of the battery. For
example, if Protect Toolkit C is being used then the ctconf utility will display the sate of the
battery.
If you have a voltage meter (that is, a digital multi‐meter) you can measure the voltage from the
battery. You can do this with the adapter installed in the PCI slot or removed from the slot. It does
not matter if the PCI bus power is applied or not. Most operators power down the host computer
before removing its covers to access the PCI bus bay where the adapter is installed. The battery is
nominally 3.6 volts but a level of 3.68 is normal. If the battery reads 3.52 volts or lower then it is
considered to have a low charge and should be replaced.
This appendix lists and defines abbreviations and key terms used in this
document.
GP. GlobalPlatform
KCV. Key Check Value, a way of distinguishing cryptographic keys from each other without
revealing plain text values
M/Chip 4 for MULTOS. The MasterCard implementation of the EMV specifications for use on
smart cards that use the MULTOS operating system
VSDC. Visa Smart Debit Credit, the Visa implementation of the EMV2000 specification
A-2
Appendix B: Configuration
Parameters and Initialization
Settings
Affina DP and Affina OSI software behavior can be controlled by the
following Configuration Parameters and Java Virtual Machine (JVM)
initialization settings.
Configuration Parameters
Configuration parameters are stored in the com.datacard.properties file which is installed in the
...\Program Files\Datacard\ADP\Java directory. Parameters preceded by a # character are
ignored. In One Step mode, Object Communicator must be restarted after changes are made to
configuration parameters.
Example:
sql.driver=net.sourceforge.jtds.jdbc.Driver
sql.connectionString=jdbc:jtds:sqlserver://ADP‐XP/ADP;instance=AFFINA
stdout Data may be viewed in a DOS window. Refer to “JVM Initialization Settings” on
page 4.
eventViewer Data is written to the AffinaPS log in the Windows Event Viewer.
A detailed description of how to set the format of the data returned in debug mode can be found
at: http://logging.apache.org/log4j/1.2/apidocs/org/appache/log4j/PatternLayout.html
log4j.appender.ps=org.apache.log4j.RollingFileAppender
log4j.appender.ps.File=C:/Program Files/Datacard/ADP/Affina.data/adp_ps.log
log4j.appender.ps.layout=org.apache.log4j.PatternLayout
#Conversion pattern controls log content ‐ %d is date and {ISO8601} is date format
log4j.appender.ps.layout.ConversionPattern=%d{ISO8601} %5p [%t] (%F:%L) ‐ %m%n
#File size at which a new log will be created ‐ default size is 10 MB
#log4j.appender.ps.MaxFileSize=5MB
#Number of logs to keep ‐ default number is 1
#log4j.appender.ps.MaxBackupIndex=99
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%m%n
log4j.appender.eventViewer=com.datacard.ps.EventLogAppender
log4j.appender.eventViewer.layout=org.apache.log4j.PatternLayout
log4j.appender.eventViewer.layout.ConversionPattern=%5p [%t] (%F:%L) ‐ %m%n
Example:
AffinaPKCS11.slotId=0 AffinaPKCS11.token=AffinaToken
B-2
Configuration Manager Parameters
Configuration Manager parameters include the SQL Server provider type and connection string as
well as OID parameters which may be set in the Configuration Manager user interface by
selecting the appropriate submenus from the Configuration and Options menus.
Example:
configMgr.connectionString=Data Source=ADP‐XP\AFFINA;Initial
Catalog=ADP;Integrated Security=True
configMgr.dbProviderType=SqlClient
configMgr.baseOid=
configMgr.viewOidAsHex=1
configMgr.showAlias=1
configMgr.testMode=0
configMgr.lastImportDir=C:\Program Files\Datacard\ADP\Profiles
configMgr.lastExportDir=C:\Program Files\Datacard\ADP\Samples
DSV Properties
Delimiter‐separated value (DSV) data parameters include the data block marker and the delimiter
character. If you define a DSV marker, you must also define a DSV delimiter.
Example:
DSV.marker=*START*
DSV.delimiter=>
Batch Properties
If you will be running Affina DP in an unattended mode, you may wish to disable the batch system
tray job status icon.
Example:
batch.disableTray=true
Runtime Properties
When the COMPLIANT_BER parameter is set to True, the system will enforce BER‐TLV compliance
for all Jobs running on the system. As a result, any TLV that is not BER‐TLV compliant will generate
a TLV exception.
Example:
COMPLIANT_BER=true
Debug
When the debug value is set to 1 (debug=1), stdout debug data will be written to a DOS window.
Example:
debug=1
JVM Location
The location of the jvm.dll that Affina uses.
Example:
location=C:\Program Files (x86)\Datacard\ADP\jre7\bin\client\jvm.dll
B-4