IDENTIKEY Authentication Server SDK Programmer's Guide
IDENTIKEY Authentication Server SDK Programmer's Guide
IDENTIKEY Authentication Server SDK Programmer's Guide
3.14
Disclaimer of Warranties and Limitations of Liabilities
Intellectual Property
VASCO Software, documents and related materials (“Materials”) made available on the Site contain pro-
prietary and confidential information. All title, rights and interest in VASCO Software and Materials,
updates and upgrades thereof, including software rights, copyrights, patent rights, trade secret rights,
sui generis database rights, and all other intellectual and industrial property rights, vest exclusively in
VASCO or its licensors. No VASCO Software or Materials published in this Site may be downloaded,
copied, transferred, disclosed, reproduced, redistributed, or transmitted in any form or by any means,
electronic, mechanical or otherwise, for any commercial or production purpose, except as otherwise
marked or when expressly permitted by VASCO in writing.
Disclaimer
VASCO accepts no liability for the accuracy, completeness, or timeliness of Site content, or for the reli-
ability of links to and content of external or third party websites.
VASCO shall have no liability under any circumstances for any loss, damage, or expense incurred by
you, your company, or any third party arising from the use or inability to use VASCO Software or Mater-
ials, or any third party material available or downloadable from the Site. VASCO will not be liable in rela-
tion to any loss/damage caused by modification of these Legal Notices or Site content.
Reservation
VASCO reserves the right to modify these Notices and the content at any time. VASCO likewise reserves
the right to withdraw or revoke consent or otherwise prohibit use of the VASCO Software or Materials if
such use does not conform to the terms of any written agreement between VASCO and you, or other
applicable terms that VASCO publishes from time to time.
Trademarks
VASCO®, VACMAN®, IDENTIKEY®, aXsGuard®, DIGIPASS®, CertiID®, CRONTO™, MYDIGIPASS.COM™,
the MYDIGIPASS.COM MD Lock logo, the DP+ logo, the VASCO ‘V’ logo, and the CRONTO logo are
registered or unregistered trademarks of VASCO Data Security, Inc. and/or VASCO Data Security Inter-
national GmbH in the U.S. and other countries.
VASCO reserves all rights to the trademarks, service marks and logos of VASCO and its subsidiaries.
Copyright
Copyright © 2008–2017 VASCO Data Security, Inc., VASCO Data Security International GmbH. All rights
reserved.
Table of Contents
1. Introduction 7
1.3. SDK Overview 9
2.3. SOAP API 13
2.4. Wrappers 14
3. SDK Installation 15
3.2. Prerequisites 15
Table Index
1. Introduction
The IDENTIKEY Authentication Server SDK Programmer's Guide provides information for developers using the
IDENTIKEY Authentication Server Software Development Kit (SDK), including both administration and authentication
aspects. This guide provides the information on creating custom client applications that integrate IDENTIKEY
Authentication Server functionality, or integrating custom authentication mechanisms into IDENTIKEY Authentic-
ation Server.
This guide serves as an introduction to dedicated SDK guides for .NET, Java and SOAP.
This guide also provides information on integrating custom authentication mechanisms into IDENTIKEY Authentic-
ation Server. This implies the development of an IDENTIKEY Authentication Server authentication engine.
Warning
The SDK cannot be used to administer user and DIGIPASS information for IDENTIKEY Authentication Server when
Active Directory is used as the data store.
This guide is designed for developers using IDENTIKEY Authentication Server products. It is designed primarily for
software developers who design and develop IDENTIKEY Authentication Server authentication engines, or custom
client applications integrating IDENTIKEY Authentication Server functionality.
n Online authentication and authorisation tools and protocols, including SOAP, RADIUS, WSDL, SSL, XML,
HTML and TCP/IP.
n Windows and Linux security software environments including IIS, Active Directory and ODBC.
n Administration tasks including user management , policy, scheduling, reports, and performance mon-
itoring.
n Password management and encryption techniques.
n EMV-CAP and other e-commerce transaction standards.
n Programming languages, especially Java and ASP.NET.
Custom client application developers using this document should, at a minimum, be familiar with one of the fol-
lowing programming languages:
n Java
n ASP.NET
n TCP/IP
n HTTP
n SSL
In addition, custom application developers connecting their application directly to the IDENTIKEY Authentication
Server SOAP interface should be familiar with the following technologies/standards:
n Web services
n XML
n XML schema
n SOAP
Custom authentication engine developers should also to be familiar with the C programming language and the
development of dynamic linked libraries.
Users of the IDENTIKEY Authentication Server SDK are required to have working knowledge of key IDENTIKEY
Authentication Server concepts, in addition to any API knowledge requirements. As such, VASCO assumes that you
have read and understood the IDENTIKEY Authentication Server Product Guide, with emphasis on the following
chapters:
n Overview
n User Authentication
n Software DIGIPASS Provisioning
n EMV-CAP
n Reporting
n IDENTIKEY Authentication Server Product Guide: introduces the features and concepts of IDENTIKEY
Authentication Server and explains various usage options.
n IDENTIKEY Authentication Server Getting Started Guide: provides a walkthrough on deploying a standard
setup of IDENTIKEY Authentication Server and testing its key features.
n IDENTIKEY Authentication Server Installation Guide for Windows: provides comprehensive instructions
about installing IDENTIKEY Authentication Server on a Windows platform.
n IDENTIKEY Authentication Server Installation Guide for Linux: provides comprehensive instructions about
installing IDENTIKEY Authentication Server on a supported Linux distribution.
n IDENTIKEY Authentication Server Administrator Guide: in-depth information about the administration and
management of IDENTIKEY Authentication Server.
n IDENTIKEY Authentication Server Administrator Reference: detailed IDENTIKEY Authentication Server ref-
erences, including data attributes, utility commands, schema information, and other related information.
n IDENTIKEY Authentication Server Performance and Deployment Guide: information about common deploy-
ment models and performance statistics.
n IDENTIKEY Authentication Server Release Notes: latest information about corresponding IDENTIKEY
Authentication Server releases.
n IDENTIKEY Authentication Server Data Migration Guide: provides comprehensive information about the vari-
ous paths available when updating IDENTIKEY Authentication Server to a higher version.
n IDENTIKEY Authentication Server SDK Programmer's Guide: in-depth information required to develop using
the IDENTIKEY Authentication Server Software Development Kit (SDK), with dedicated guides for .NET,
Java, and SOAP:
n IDENTIKEY Authentication Server SDK Programmer's Guide for Java
n IDENTIKEY Authentication Server SDK Programmer's Guide for .NET
n IDENTIKEY Authentication Server SDK SOAP Reference
n IDENTIKEY Authentication Server SDK Plug-In Engine Guide
n IAS Authentication SDK Programmer's Guide: in-depth information required to develop using the
IAS Authentication SDK, with dedicated guides for .NET, Java, and SOAP:
n IAS Authentication SDK Programmer's Guide for .NET
n IAS Authentication SDK Programmer's Guide for Java
n IAS Authentication SDK SOAP Reference
n DIGIPASS App Getting Started Guide: provides general information on the DIGIPASS App and how to install
it.
n DIGIPASS Gateway Getting Started Guide: provides general information on DIGIPASS Gateway and how to
install it.
n DIGIPASS Gateway Integration Guide: provides information how to configure DIGIPASS Gateway and how
to integrate it with mobile devices.
n Push Notification Getting Started Guide: provides information about the Push Notification feature in gen-
eral and details on the required components and the system setup.
Comprehensive Help Files including context-sensitive assistance are available via IDENTIKEY Authentication Server
user interfaces. For more information, please visit http://www.vasco.com.
1.3. SDK Overview
Using the SDK, you can create custom client applications that integrate the following IDENTIKEY Authentication
Server functionality:
n Authentication
n EMV-CAP compliant authentication
n Digital signatures
n Administration
n Provisioning
n Reporting
Image 1: SOAP Interface
You can create authentication engines and load these engines into IDENTIKEY Authentication Server. These authen-
tication engines allow you to integrate custom authentication mechanisms into IDENTIKEY Authentication Server,
and they can be used to integrate custom back-end systems or as a stand-alone module.
The SDK supports integration of several IDENTIKEY Authentication Server functionalities into custom client applic-
ations. For more information about client integration, see 2. Client Integration Overview
The SDK also supports integration of back-end authentication. Back-end integration involves integration of custom
authentication mechanisms into IDENTIKEY Authentication Server. These custom authentication mechanisms can
then be referred to in authentication policies, and thus be included in processing user authentication requests. For
more information about back-end integration, see 5. Authentication Back-End Integration.
A Web Service is an application allowing client appplications to perform remote procedure calls on servers. The cli-
ent applications and the server communicate with each other using XML messages formatted following the SOAP
standard. The server publishes its supported remote operations via the WSDL standard for self description.
IDENTIKEY Authentication Server supports the communication with client applications via SOAP over HTTP or
HTTPS.
IDENTIKEY Authentication Server comes with WSDL files for each of its supported SOAP interfaces.
VASCO provides high-level Application Programming Interfaces to simplify the integration of IDENTIKEY Authentic-
ation Server functionality into client applications. These high-level APIs wrap the IDENTIKEY Authentication Server
SOAP interfaces, and are bundled into an integration module.
This wrapper module abstracts the developer from all low-level SOAP and HTTP related details, and is available in
the following high-level programming languages:
n Java
n .NET
Keep in mind that a developer is still required to understand key IDENTIKEY Authentication Server concepts such as
component type, password format, and the like.
2.3. SOAP API
This type of client integration method requires the client application developer to generate SOAP client applications
based on the IDENTIKEY Authentication Server WSDL files. IDENTIKEY Authentication Server comes with the fol-
lowing WSDL files describing the different SOAP interfaces:
You can find these files in <sdk_install_dir>/wsdl/ (e.g. C:\Program Files\VASCO\IDENTIKEY Authentication Server
SDK 3.14\wsdl\ in Windows).
This client integration type requires a developer to understand SOAP-related details on top of IDENTIKEY Authentic-
ation Server concepts. Because of the required level of SOAP knowledge, this API is more appropriate for advanced
users who want to have low level access to IDENTIKEY Authentication Server.
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
This message structure is used both in SOAP requests and SOAP responses.
The root element of a SOAP message is the Envelope XML element. This element contains the following other ele-
ments:
The Envelope element can specify one or more namespace reference attributes. These attributes have the fol-
lowing format:
xmlns:<namespace>
2.4. Wrappers
VASCO provides standard interface wrappers for the following programming languages as part of the SDK:
n Java
n ASP.NET
These standard wrappers provide a high-level interface to the following IDENTIKEY Authentication Server authen-
tication functionalities:
These standard wrappers abstract the developer from all details relating to SOAP and XML. Additionally, these
standard wrappers provide a basic fail-over mechanism.
These wrappers rely on SOAP client stubs that have been generated based on the IDENTIKEY Authentication Server
authentication wsdl file.
For more information about Java and ASP.NET wrappers for IDENTIKEY Authentication Server, refer to either the
IDENTIKEY Authentication Server SDK Programmer's Guide for Java or IDENTIKEY Authentication Server
SDK Programmer's Guide for .NET.
3. SDK Installation
The IDENTIKEY Authentication Server SDK is distributed as a ZIP archive. This archive includes platform and archi-
tecture-independent libraries for both ASP.NET and Java color QR code technologies.
The IDENTIKEY Authentication Server SDK is supported on the following operating systems
Windows
n Windows Server 2012 R2
n Windows Server 2012
n Windows Server 2008 R2 with Service Pack 1
Linux
n CentOS 7, 64-bit
n CentOS 6, 64-bit
n Red Hat Enterprise Linux 7, 64-bit
n Red Hat Enterprise Linux 6, 64-bit
n SUSE Linux Enterprise Server 11, 64-bit
n Ubuntu Server 16.04 LTS, 64-bit
n Ubuntu Server 14.04 LTS, 64-bit
Windows
n Windows 8.1
n Windows 8
n Windows 7 Service Pack 1
3.2. Prerequisites
The following table summarizes the prerequisites for this SDK, depending on integration type and the level of SDK
usage:
Client Integration - Java Web server and servlet container supporting Java Servlet Java IDE of your choice
specification 2.4 and JavaServer Pages specification (JSP)
2.0 . (Example: NetBeans or Eclipse with
JDK integrated)
(Example: Apache Tomcat 7.0)
Client Integration - ASP.NET Internet Information Services (IIS) 7.0, IIS 7.5, IIS 8.0, or IIS Microsoft Visual Studio 2010
8.5 with .NET Framework 3.0 support enabled.
Client Integration - SOAP Generic SOAP client A SOAP library of your choice which you
integrate into your client applications.
(Example: SoapUI)
(Example: gSOAP)
Back-end Integration IDENTIKEY Authentication Server 3.14 A C compiler of your choice, capable of
generating a .dll or .so file, depending
(Plug-In Engine) on the selected platform.
The Java sample Website provided in this SDK requires the following:
The Java sample Website has been tested successfully in the following environment:
The ASP.NET sample Website provided in this SDK requires the following:
n Microsoft Internet Information Services (IIS) 7.0, IIS 7.5, IIS 8.0, or IIS 8.5
n Microsoft .NET Framework 3.0
The ASP.NET sample Website has been tested successfully in the following environment:
Before setting up a sample website, ensure that IDENTIKEY Authentication Server is installed properly. For instruc-
tions, refer to the IDENTIKEY Authentication Server Windows Installation Guide or IDENTIKEY Authentication Server
Linux Installation Guide.
IDENTIKEY Authentication Server must also be configured accordingly in order to install the SDK sample website.
You can apply all the required settings via Configuration Utility. These settings are as follows:
If you want to use the authentication or EMV-CAP authentication functionality of the sample websites, check that
an authentication SOAP client component has been defined on the IDENTIKEY Authentication Server with the fol-
lowing properties:
If you want to use the signature validation functionality of the sample websites, check that a signature validation
SOAP client component has been defined on the IDENTIKEY Authentication Server with the following properties:
If you want to use the Secure Channel authentication functionality of the sample websites, check that a Secure
Channel authentication SOAP client component has been defined on IDENTIKEY Authentication Server with the fol-
lowing properties:
If you want to use the Secure Channel signature functionality of the sample websites, check that a Secure Channel
signature SOAP client component has been defined on IDENTIKEY Authentication Server with the following prop-
erties:
If you want to use the Multi-Device Licensing Provisioning functionality of the sample websites, check that a Multi-
Device Licensing Provisioning SOAP client component has been defined on IDENTIKEY Authentication Server with
the following properties:
Once these settings are applied, you can now install the sample websites as required. For more information about
installing sample websites, refer to the IDENTIKEY Authentication Server SDK Programmer's Guide for Java or
IDENTIKEY Authentication Server SDK Programmer's Guide for .NET, respectively.
Each sample website comes with a default homepage providing an overview of the functionality that can be
tested.
The functionality provided by the sample websites is divided into the following functional groups:
n Authentication
n EMV-CAP Authentication
n Signature Validation
n Administration
n DP110 provisioning
n DP4 mobile provisioning
VASCO also provides standard wrappers for integrating IDENTIKEY Authentication Server features into custom
applications. For more information about wrappers provided by VASCO in the IDENTIKEY Authentication Server SDK,
see 2.4. Wrappers.
The Authentication SOAP interface supports the following command types to be sent to the IDENTIKEY Authentic-
ation Server:
Users attempting to perform this type of integration should be familiar with the following standards:
n XML
n XML Schema
n SOAP
To integrate IDENTIKEY Authentication Server authentication functionality with a custom application via SOAP API,
you will need to be familiar with the following standards:
n XML
n XML Schema
n SOAP
The SOAP authentication API exposes the following SOAP operations that can be used to perform the authen-
tication commands specified above:
n authUser
n cancelAuthUser
n getChallenge
n getSecureChallenge
n getPreparedSecureChallenge
n updatePassword
n changeEncStatPwd
n changeBackendPassword
4. Import the IDENTIKEY Authentication Server SSL server certificate as trusted root certificate on the
machine where your client application is running.
This will allow your SOAP client application to connect to IDENTIKEY Authentication Server securely via SSL.
5. Send the SOAP request to IDENTIKEY Authentication Server. By default, the SOAP request should be com-
municated over HTTPS with the IDENTIKEY Authentication Server.
IDENTIKEY Authentication Server is configured by default to accept SOAP requests on port 8888.
For more information about the structure of SOAP messages, see 2.3.1. SOAP Message Structure.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:authUser>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</credentialAttributeSet>
</aut:authUser>
</soapenv:Body>
</soapenv:Envelope>
The SOAP Body element should only contain an authUser element (line 8). This element has been defined in the
namespace aut. Therefore, the aut namespace should be declared in the Envelope element as an attribute.
n attributeID (required): the attribute identifier. The supported credential attribute identifiers are lis-
ted in the IDENTIKEY Authentication Server SDK SOAP Reference.
n value (required): the attribute value. This element also requires the specification of the value type using
the following attribute definition xsi=type=”xsd:<type>.
n attributeOptions (optional): this element provides directive information about how IDENTIKEY
Authentication Server should handle the attribute value during request processing. Following options are
supported for this element:
n NULL: indicates that the specified attribute should be set to zero.
n NEGATIVE: used for search criteria to say NO when searching for a specific attribute.
n MASKED: used to indicate IDENTIKEY Authentication Server to mask the attribute value (e.g. when
auditing the SOAP request).
To set an attribute option, add the option element in the attributeOptions element and give the option
element a value true.
Example
To set the MASKED option, add the following:
<attributeOptions><masked>true</masked> </attributeOptions>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:authUserResponse>
<authUserResults xsi:type="AUTH-TYPES:AuthUserResults">
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<attributeOptions xsi:type="BASIC-TYPES:AttributeOptions">
<masked>true</masked>
</attributeOptions>
<value xsi:type="xsd:string">1234</value>
<attributeID>CREDFLD_STATIC_PASSWORD</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
<userattributelist>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">master</value>
<attributeID>CREDFLD_DOMAIN</attributeID>
</attributes>
</userattributelist>
</aut:authUserResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element of an authUser SOAP response only contains an authUserResponse element (line 9).
This element always contains the following elements:
n results (required)
n userattributelist (optional)
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultattribute element, in this case, is used to refer to credential attributes elements.
The userattributelist contains zero or more user attributes elements. This element is only specified if the following
conditions are met:
n A userattribute group attribute has been specified in the corresponding SOAP request.
n User authentication was successful.
n User attributes with the specified user attribute group have been defined for the specified user.
For more information on how attribute elements are structured, refer to 4.1.1. SOAP authUser Request Structure.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:getChallenge>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</credentialAttributeSet>
</aut:getChallenge>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a getChallenge element (line 8). This element has been defined in the
namespace aut. Therefore, the aut namespace should be declared in the Envelope element as an attribute.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:getChallengeResponse>
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">????</value>
<attributeID>!!!!!!!!!!!!!</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</aut:getChallengeResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a getChallengeResponse element (line 9). The getChal-
lengeResponse element always contains a results element, which in turn contains the following elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultattribute element, in this case, is used to refer to credential attributes elements.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:updatePassword>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</credentialAttributeSet>
</aut:updatePassword>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a updatePassword element (line 8). This element has been defined in
the namespace aut. Therefore, the aut namespace should be declared in the Envelope element as an attribute.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:updatePasswordResponse>
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">????</value>
<attributeID>!!!!!!!!!!!!!</attributeID>
</attributes>
...
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</aut:updatePasswordResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a getChallengeResponse element (line 9). The getChal-
lengeResponse element always contains a results element, which in turn contains the following elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultattribute element, in this case, is used to refer to credential attributes elements.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:getSecureChallenge>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:unsignedInt">0</value>
<attributeID>CREDFLD_PASSWORD_FORMAT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">user1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">VDS0000001-1</value>
<attributeID>CREDFLD_SERIAL_NO</attributeID>
</attributes>
<attributes>
<attributeID>CREDFLD_CHALLENGE_MESSAGE</attributeID>
</attributes>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
</credentialAttributeSet>
</aut:getSecureChallenge>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element must only contain a single getSecureChallenge element. This element has been defined
in the namespace aut. Therefore, the aut namespace must be declared in the Envelope element as an attribute.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:BASIC-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/BasicTypes.xsd"
xmlns:AUTH-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication"
xmlns:CREDENTIAL-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/CredentialTypes.xsd"
<soapenv:Body>
<AUTH-TYPES:getSecureChallengeRespond>
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">user1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">master</value>
<attributeID>CREDFLD_DOMAIN</attributeID>
</attributes>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">1481259140</value>
<attributeID>CREDFLD_CHALLENGE_KEY</attributeID>
</attributes>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">VDS0000001-7</value>
<attributeID>CREDFLD_SERIAL_NO</attributeID>
</attributes>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value
xsi:type="xsd:string">00C1C3E400000128202D43FCAE28021F7B7195F9073C3B5B096B1EEAFEE89BBD
5949</value>
<attributeID>CREDFLD_REQUEST_MESSAGE</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"></errorStack>
</results>
</AUTH-TYPES:getSecureChallengeRespond>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element must only contain a single getSecureChallengeRespond element. This element always
contains a single result element, which in turn contains the following sub-elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
For this SOAP response, the resultAttribute element refers to credential attribute elements.
A Response-Only operation performs user authentication using an OTP and/or a static password. To execute this
operation, the registered client application should send an authUser SOAP request to the IDENTIKEY Authentic-
ation Server.
This operation can be used to perform the following types of user authentication:
For all supported types of Response-Only user authentication, the one-time password, static password, and Server
PIN have to be specified, if used, as credential attributes for the authUser request. For more information on the
structure of an authUser request, refer to 4.1.1. SOAP authUser Request Structure.
The authUser SOAP request supports two formats to specify the static password or one-time password. To
indicate the password format in the authUser SOAP request, the credential attribute CREDFLD_PASSWORD_
FORMAT should be included with the correct value.
The following password format specification methods in the authUser SOAP request are supported:
n One password attribute combining all user credentials: this attribute will hold a password string which is a
concatenation of all different authentication elements (static password and/or one-time password and/or
Server PIN). This concatenated password string should be specified via the credential field attribute
CREDFLD_PASSWORD. The password format attribute should be included with value 0.
n A separate attribute for each user credential: this method requires specifying a credential attribute for
each authentication information element like static password, one-time password, Server PIN. The pass-
word format attribute CREDFLD_PASSWORD_FORMAT should be included with value 4.
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_PASSWORD_FORMAT
n OTP specified either via credential attribute CREDFLD_PASSWORD or via credential attribute CREDFLD_
DP_RESPONSE depending on the chosen password format.
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command to
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:authUser>
<credentialAttributeSet>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:unsignedInt">4</value>
<attributeID>CREDFLD_PASSWORD_FORMAT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">321469</value>
<attributeID>CREDFLD_DP_RESPONSE</attributeID>
</attributes>
</credentialAttributeSet>
</aut:authUser>
</soapenv:Body>
</soapenv:Envelope>
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_PASSWORD_FORMAT
n Static password specified either via credential attribute CREDFLD_PASSWORD or via credential attribute
CREDFLD_STATIC_PASSWORD depending on the chosen password format
n Server PIN specified either via credential attribute CREDFLD_PASSWORD or via credential attribute
CREDFLD_CURRENT_PIN.
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_PASSWORD_FORMAT
n Static password specified either via credential attribute CREDFLD_PASSWORD or via credential attribute
CRED_STATIC_PASSWORD
Other supported authentication types combine functions such as Response-Only one-time password, Static pass-
word and Server PIN. The combination authentication types will not be described in detail.
The getChallenge operation sends a requests to IDENTIKEY Authentication Server to generate a server chal-
lenge. The returned challenge could then be used in a one-step Challenge/Response user authentication.
Two types of server challenges can be generated with the getChallenge operation:
In order for a getChallenge operation to succeed, the following administrative tasks should be performed on
the IDENTIKEY Authentication Server:
1. Define an authentication policy that supports the generation of a 1-step server-based challenge.
2. Register a client application, assigning the newly defined authentication policy
3. Import DIGIPASS supporting Challenge/Response (CR) user authentication
4. Define users and assign the DIGIPASS.
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
To execute a getChallenge operation, the registered client application should send a getChallenge
SOAP command to the IDENTIKEY Authentication Server. For more information, refer to 4.1.3. SOAP getChallenge
Request Structure.
In order for the IDENTIKEY Authentication Server to generate a server challenge, the getChallenge command
should specify the CREDFLD_COMPONENT_TYPE. This credential field attribute indicates the client application
type.
For user-specific server challenges, the getChallenge command should specify the CREDFLD_COMPONENT_
TYPE and CREDFLD_USERID. The latter is the user ID for which a server challenge should be generated
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command to
request a challenge for user test1:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:getChallenge>
<credentialAttributeSet>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
</credentialAttributeSet>
</aut:getChallenge>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:getChallengeResponse>
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">32792</value>
<attributeID>CREDFLD_CHALLENGE</attributeID>
</attributes>
<attributes xsi:type="CREDENTIAL-TYPES:CredentialAttribute">
<value xsi:type="xsd:string">862532550</value>
<attributeID>CREDFLD_CHALLENGE_KEY</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</aut:getChallengeResponse>
</soapenv:Body>
</soapenv:Envelope>
In this example, the result attribute CREDFLD_CHALLENGE_KEY specifies the challenge identifier used by the
IDENTIKEY Authentication Server. A Challenge/Response authentication operation for this challenge should add
this attribute into its authentication request.
The following administrative tasks should be performed on the IDENTIKEY Authentication Server in order for this
getChallenge operation to succeed:
Procedure 3: Configuring IDENTIKEY Authentication Server for Challenge/Response DIGIPASS authentication oper-
ations
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
1-Step Challenge/Response
This operation type assumes that a DIGIPASS challenge has already been generated before. This challenge
might be generated by the IDENTIKEY Authentication Server via the getChallenge operation (Server chal-
lenge), or it might be generated by the client application (Any challenge).
To execute this operation, the registered client application should send an authUser SOAP command to
IDENTIKEY Authentication Server. This authUser should, at a minimum, specify the following credential
field attributes:
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_CHALLENGE_KEY (in case the challenge has been generated by the IDENTIKEY Authentication
Server)
n CREDFLD_CHALLENGE (in case the challenge has NOT been generated by the IDENTIKEY Authentication
Server)
n CREDFLD_PASSWORD_FORMAT
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command to per-
form a Challenge/Response-based DIGIPASS authentication for user test1:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:AUTH-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<AUTH-TYPES:authUser>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:string">testuser</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">5656</value>
<attributeID>CREDFLD_CHALLENGE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:unsignedInt">0</value>
<attributeID>CREDFLD_PASSWORD_FORMAT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">1682703</value>
<attributeID>CREDFLD_PASSWORD</attributeID>
</attributes>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
</credentialAttributeSet>
</AUTH-TYPES:authUser>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
2-Step Challenge/Response
This operation request a server challenge as a first step. In its second step, a user authentication is per-
formed. This second step is identical to a 1-step Challenge/Response request described earlier.
To perform the first step in the 2-step Challenge/Response operation, the registered client application should
send an authUser SOAP command to IDENTIKEY Authentication Server, requesting the generation of a chal-
lenge keyword. This keyword should be specified in the authentication policy associated with the registered
client application.
For this step to succeed, the authUser command should, at a minimum, specify the following set of cre-
dential field attributes:
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_PASSWORD_FORMAT
n Keyword specified either via credential attribute CREDFLD_PASSWORD or CREDFLD_STATIC_PASSWORD,
depending on the chosen password format.
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command
to perform step 1 in a 2-step Challenge/Response -based DIGIPASS authentication for user test1:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:authUser>
<credentialAttributeSet>
<attributes>
<value xsi:type="xsd:unsignedInt">4</value>
<attributeID>CREDFLD_PASSWORD_FORMAT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">getchallenge</value>
<attributeID>CREDFLD_STATIC_PASSWORD</attributeID>
</attributes>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
</credentialAttributeSet>
</aut:authUser>>
</soapenv:Body>
</soapenv:Envelope>
For this request, it assumed that specified client application component has an associated policy that has the 2-
step Challenge/Response keyword set to getChallenge.
This operation requests IDENTIKEY Authentication Server the to change the Server PIN of a specified user. Such a
request always has to be confirmed with Response-Only one-time password, to be specified as credential attrib-
ute in the SOAP request.
To execute this operation, the registered client application should send an authUser SOAP command to
IDENTIKEY Authentication Server. This authUser command should, at a minimum, specify the following cre-
dential field attributes:
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n CREDFLD_PASSWORD_FORMAT
n CREDFLD_CURRENT_PIN
n New PIN specified either via credential attribute CREDFLD_PASSWORD or via credential attribute
CREDFLD_NEW_PIN depending on the chosen password format.
n New PIN Confirmation specified either via credential attribute CREDFLD_PASSWORD or via credential attrib-
ute CREDFLD_CONFIRM_NEW_PIN depending on the chosen password format.
n one-time password specified either via credential attribute CREDFLD_PASSWORD or CREDFLD_DP_
RESPONSE, depending on the chosen password format.
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command to
request a Server PIN change for user test1:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:authUser>
<credentialAttributeSet>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:unsignedInt">4</value>
<attributeID>CREDFLD_PASSWORD_FORMAT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_DP_RESPONSE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">1234</value>
<attributeID>CREDFLD_NEW_PIN</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">1234</value>
<attributeID>CREDFLD_CONFIRM_NEW_PIN</attributeID>
</attributes>
</credentialAttributeSet>
</aut:authUser>
</soapenv:Body>
</soapenv:Envelope>
This operation requests IDENTIKEY Authentication Server to update the static password for a specified user. To
execute this operation, the registered client application should send an updatePassword SOAP command to
IDENTIKEY Authentication Server. This updatePassword command should, at a minimum, specify the fol-
lowing credential field attributes:
n CREDFLD_USERID
n CREDFLD_COMPONENT_TYPE: indicates the client application component type
n Current static password specified via credential attribute CREDFLD_PASSWORD
n New static password specified via credential attribute CREDFLD_NEW_STATIC_PASSWORD
n New static password confirmation specified via credential attribute CREDFLD_CONFIRM_NEW_STATIC_
PASSWORD
Example
A client application with component type SOAP Auth Client will typically send the following SOAP command to
request a static password change for user test1:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<soapenv:Header/>
<soapenv:Body>
<aut:updatePassword>
<credentialAttributeSet>
<attributes>
<attributeID>CREDFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>CREDFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">oldpassword</value>
<attributeID>CREDFLD_STATIC_PASSWORD</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">newpassword</value>
<attributeID>CREDFLD_NEW_STATIC_PASSWORD</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">newpassword</value>
<attributeID>CREDFLD_CONFIRM_NEW_STATIC_PASSWORD</attributeID>
</attributes>
</credentialAttributeSet>
</aut:updatePassword>
</soapenv:Body>
</soapenv:Envelope>
This operation requests IDENTIKEY Authentication Server to change the user's static Active Directory password with
a configured back end of IDENTIKEY Authentication Server. To execute this operation, the
changeBackendPassword SOAP command is sent to IDENTIKEY Authentication Server. This
changeBackendPassword command should, at a minimum, specify the following parameters:
Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<aut:changeBackendPassword xmlns:aut="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Authentication">
<componentType>SOAP-LocalAuth</componentType>
<user>
<userID>user_pws</userID>
<domain>MASTER</domain>
</user>
<credential>
<staticPassword>Test1234</staticPassword>
</credential>
<newStaticPassword>newPass1</newStaticPassword>
</aut:changeBackendPassword>
</soapenv:Body>
</soapenv:Envelope>
Note
If the Password Randomization feature of IDENTIKEY Authentication Server is used, the policy used in IDENTIKEY
Authentication Server must not apply password proxying for the changeBackendPassword SOAP com-
mand because this would lead to a user with a randomized password being able to change their password.
To perform authentication using the Secure Channel feature, the following two operations must be executed in
this order:
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
Procedure 4: Configuring IDENTIKEY Authentication Server for the Get Secure Challenge operations
1. Use the ( IDENTIKEY Authentication with Secure Channel) policy or define a policy that inherits from this
policy.
2. Register a client component and assign the policy to it.
3. Import DIGIPASS devices that are compliant with the Multi-Device Licensing and support the Secure Chan-
nel feature.
4. Create users, assign a DIGIPASS license to them, and activate a new DIGIPASS instance for their device.
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication ServerAdministrator
Guide.
The Get Secure Challenge operation enables a user to generate a request message which can be used to initiate
an authentication process using the Secure Channel feature.
The Get Secure Challenge operation can send two types of requests to IDENTIKEY Authentication Server:
1. A request which includes a challenge message and, optionally, a transaction title (which will be used to
generate a request body and the request message).
2. A request which includes a custom request body (which will be transparently used to generate the request
message).
For more information on how to generate a custom request body, refer to the Secure Messaging SDK Server Integ-
ration Guide, which is included in the DIGIPASS for APPS SDK.
At a minimum, the getSecureChallenge command requires the following set of authentication field attrib-
utes in order to perform this operation:
n CREDFLD_COMPONENT_TYPE
n CREDFLD_USERID
To execute a Get Secure Challenge operation, the request must also include a CREDFLD_ CHALLENGE_
MESSAGE authentication field attribute with, optionally, a CREDFLD_ TRANSACTION_ TITLE authen-
tication field attribute, or include a CREDFLD_REQUEST_BODY authentication field attribute. For more inform-
ation, refer to 4.1.7. SOAP getSecureChallenge Request Structure .
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Secure Channel Authenticate User operation enables a user to perform user authentication using the Secure
Channel feature.
At a minimum, the authUser command requires the following set of authentication field attributes in order to
perform user authentication:
n CREDFLD_USERID
n CREDFLD_DOMAIN
n CREDFLD_CHALLENGE_KEY
n CREDFLD_PASSWORD
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Password Replacement
This allows the user to log in with just a one-time password in an environment where the password of a leg-
acy authentication system is required.
In order to integrate back-end authentication into IDENTIKEY Authentication Server, the following administrative
tasks should be performed:
Developing an IDENTIKEY Authentication Server authentication engine requires the creation of a dynamically-
loaded library which implements the IDENTIKEY Authentication Server Authentication engine API.
Under Windows, the dynamically-loaded library should be implemented as a dynamic linked library (.dll).
Under Linux, the dynamically-loaded library should be implemented as a shared object file (.so).
ikey_initialize
This function should initialize the custom authentication engine. This function implementation could retrieve
custom engine configuration settings by calling the function pointer getProperty specified as first para-
meter.
Custom authentication engine configuration settings should be specified during installation of the authen-
tication engine using the IDENTIKEY Authentication Server Configuration Utility or directly into the IDENTIKEY
Authentication Server Configuration file (identikeyconfig.xml). For more information, refer to 5.3. Authentic-
ation Engine Definition Via Configuration Utility or 5.2. Authentication Engine Definition Via Configuration File.
ikey_authenticate
This function verifies the specified password for the identified user. The user is identified by the following
mandatory parameters:
n szUserID
n szDomain
ikey_terminate
This function is called when the dynamically loaded library is about to be unloaded by the IDENTIKEY
Authentication Server.
You can define an authentication engine for back-end authentication via IDENTIKEY Authentication Server con-
figuration file, i.e. identikeyconfig.xml. This file is located in:
/etc/vasco/ias/ (Linux)
<install_dir>\bin\ (Windows)
where <install_dir> is the installation directory of IDENTIKEY Authentication Server (typically C:\Program
Files\VASCO\IDENTIKEY Authentication Server)
In the IDENTIKEY Authentication Server configuration file, all custom authentication engines are defined in the
Engines main section. The following snippet shows a typical Engines section containing a custom engine
entry:
Example
<Engines>
<!-- 0-1 occurrences (enabled if missing) - Whether the entire custom backend manager is enabled (if false, then no custom
backend DLLs should be loaded) -->
<Engine01>
<!-- 0-1 occurrences (enabled if missing) - Whether this particular custom DLL is enabled (it must not be loaded if it is not
enabled) -->
<!-- 1-1 occurrences - Display-Name is completely arbitrary and is meant for display purposes in the config gui -->
<!-- 1-1 occurrences - The protocol ID string used to refer to this particular authenticator from within a policy -->
<!-- 1-1 occurrences - The library path to the DLL that is the custom backend authenticator (the DLL is of course user defined)
-->
<!-- 0-1 occurrences - This is a special XML element that allows for user defined configuration data -->
<Plugin-Config>
<!-- 0-n occurrences (must be of type string) - Any string type entries in here are completely aribtrary. -->
</Plugin-Config>
</Engine01>
</Engines>
You can define an authentication engine for back-end authentication via the Configuration Utility. To do so, per-
form the following procedure:
Procedure 6: Defining an authentication engine for back-end authentication via the IDENTIKEY Authentication
Server Configuration Utility
3. Click the Add button. Doing so should open an Add Plugin Engine dialogue.
5. Click OK to add the specified plugin engine. The Configuration Utility features test facilities through which
you can test these plugin engines later on.
6. After adding a plugin engine, it should now be available in the Available Engines section of the Plugin
Engines menu. Select the plugin engine you just added.
7. Click the Test button. Doing so will open the Authenticate Plugin Engine dialogue.
During startup and shutdown, IDENTIKEY Authentication Server will perform steps to load and unload the custom
authentication engine and associated libraries.
IDENTIKEY Authentication Server performs the following startup actions for each defined custom authentication
engine:
If step 2 fails, unload the engine plugin library from the server process.
During shutdown, IDENTIKEY Authentication Server performs the following actions for each defined custom authen-
tication engine:
VASCO also provides standard wrappers for integrating IDENTIKEY Authentication Server features into custom
applications. For more information about wrappers provided by VASCO in the IDENTIKEY Authentication Server SDK,
see 2.4. Wrappers.
Integrating the signature validation can be done by using the standard operations or the Secure Channel
operations; for more information on these different signature validation operations, refer to the relevant sections
below.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sig="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Signature"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<sig:genRequest>
<attributeSet>
<attributes>
<attributeID>SIGNFLD_COMPONENT_TYPE</attributeID>
<value xsi:type="xsd:string">[ClientApplication]</value>
</attributes>
<attributes>
<attributeID>SIGNFLD_USERID</attributeID>
<value xsi:type="xsd:string">[UserID]</value>
</attributes>
<attributes>
<attributeID>SIGNFLD_DOMAIN</attributeID>
<value xsi:type="xsd:string">[UserDomain]</value>
</attributes>
</attributeSet>
<dataFieldList>
<dataField>
<key>[key1]</key>
<value>[value1]</value>
</dataField>
</dataFieldList>
</sig:genRequest>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element must only contain a single genRequest element. This element has been defined in the
namespace sig. Therefore, the sig namespace must be declared in the Envelope element as an attribute.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:BASIC-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/BasicTypes.xsd"
xmlns:SIGN-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Signature"
xmlns:SIGNATURE-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/SignatureTypes.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SIGN-TYPES:genRequestResponse>
<results xsi:type="SIGNATURE-TYPES:SignatureResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="SIGNATURE-TYPES:SignatureAttributeSet">
<attributes xsi:type="SIGNATURE-TYPES:SignatureAttribute">
<attributeID>SIGNFLD_USERID</attributeID>
<value xsi:type="xsd:string">[userID]</value>
</attributes>
<attributes xsi:type="SIGNATURE-TYPES:SignatureAttribute">
<attributeID>SIGNFLD_DOMAIN</attributeID>
<value xsi:type="xsd:string">[UserDomain]</value>
</attributes>
<attributes xsi:type="SIGNATURE-TYPES:SignatureAttribute">
<attributeID>SIGNFLD_SERIAL_NO</attributeID>
<value xsi:type="xsd:string">[SerialNumberOfApplicableDIGIPASS]</value>
</attributes>
<attributes xsi:type="SIGNATURE-TYPES:SignatureAttribute">
<attributeID>SIGNFLD_REQUEST_KEY</attributeID>
<value xsi:type="xsd:string">1964160839</value>
</attributes>
<attributes xsi:type="SIGNATURE-TYPES:SignatureAttribute">
<attributeID>SIGNFLD_REQUEST_MESSAGE</attributeID>
<value xsi:type="xsd:string">00C1C3E40F42B83CF9148F387513B69524E30A22
8FA9D81970B517266302E474E05CFCB03CA81DDBD79BCAC4AD521B90DCDCC0D27AD7A
940881E989971DAADEC327CAEFC418C66C356659148136BBD73EAB4A6D18440658530
E6F8ACD8F00D4F943B</value>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</SIGN-TYPES:genRequestResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The SOAP body element must only contain a single genRequestResponse element. This element always contains
a single result element, which in turn contains the following sub-elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
For this SOAP response, the resultAttribute element refers to signature attribute elements.
This operation performs a time-based signature validation on a real-time signature. Signature validation is per-
formed within the current time window.
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
At a minimum, the authSignature command requires the following set of signature field attributes in order
to perform signature validation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
n SIGNFLD_SIGNATURE
Example
A client application with component type SOAP Signature Client will typically send the following SOAP command
to perform a real-time signature validation operation for user test1:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sig="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Signature">
<soapenv:Header/>
<soapenv:Body>
<sig:authSignature>
<attributeSet>
<attributes>
<attributeID>SIGNFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">11111</value>
<attributeID>SIGNFLD_DATA_FIELD_1</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">11111</value>
<attributeID>SIGNFLD_DATA_FIELD_2</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">11111</value>
<attributeID>SIGNFLD_DATA_FIELD_3</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>SIGNFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">523523</value>
<attributeID>SIGNFLD_SIGNATURE</attributeID>
</attributes>
</attributeSet>
</sig:authSignature>
</soapenv:Body>
</soapenv:Envelope>
If the transaction authentication is successful, IDENTIKEY Authentication Server will return the verified datetime in
the SOAP response if the following conditions are met:
1. The used DIGIPASS authenticator must have the Time Base Algorithm enabled for the signature applic-
ation. This can be verified in the application details for the relevant authenticator in the IDENTIKEY
Authentication Server Web Administration Interface.
2. For the policy used the Online Signature mode must be enabled (i.e. not set to Disabled) in the
DP Control Parameters tab of the relevant policy.
This information will be specified as signature attribute SIGNFLD_VERIFIED_DATETIME in the resultattribute ele-
ment.
This operation performs a time-based signature validation on a signature that has been generated in deferred
time. Signature validation is performed within the time window for the specified deferred time.
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
At a minimum, the authSignature command requires the following set of signature field attributes in order
to perform signature validation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
n SIGNFLD_SIGNATURE
If the transaction authentication is successful, IDENTIKEY Authentication Server will return the verified datetime in
the SOAP response if the following conditions are met:
1. The used DIGIPASS authenticator must have the Time Base Algorithm enabled for the signature applic-
ation. This can be verified in the application details for the relevant authenticator in the IDENTIKEY
Authentication Server Web Administration Interface.
2. For the policy used the Online Signature mode must be enabled (i.e. not set to Disabled) in the DP Control
Parameters tab of the relevant policy.
This information will be specified as signature attribute SIGNFLD_VERIFIED_DATETIME in the resultattribute ele-
ment.
This operation performs an event-based signature validation on a current event signature. Signature validation is
performed within the current event window.
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
At a minimum, the authSignature command requires the following set of signature field attributes in order
to perform signature validation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
n SIGNFLD_SIGNATURE
If the transaction authentication is successful, IDENTIKEY Authentication Server will return the verified event
counter in the SOAP response. This information will be specified as signature attribute SIGNFLD_VERIFIED_EVENT_
VALUE in the resultattribute element.
This operation performs an event-based signature validation on a signature. Signature validation is performed
within the event window of the specified deferred event count.
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
For more information about performing these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
At a minimum, the authSignature command requires the following set of signature field attributes in order
to perform signature validation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
n SIGNFLD_SIGNATURE
n SIGNFLD_DEFERRED_EVENT_COUNT: event count used to generate the deferred event signature.
For more information about required and optional signature validation attributes for authSignature, refer to
the IDENTIKEY Authentication Server SDK SOAP Reference, Section "Signature".
If the transaction authentication is successful, IDENTIKEY Authentication Server will return the verified event
counter in the SOAP response. This information will be specified as signature attribute SIGNFLD_VERIFIED_EVENT_
VALUE in the resultattribute element.
To perform signature validation using the Secure Channel feature, the following two operations must be executed
in this order:
In order for this operation to succeed, the following administrative tasks should be performed in IDENTIKEY
Authentication Server:
Procedure 7: Configuring IDENTIKEY Authentication Server for the Get Signing Request operations
1. Use the ( IDENTIKEY Signature Validation with Secure Channel) policy or define a policy that inherits from
this policy.
2. Register a client component and assign the policy to it.
3. Import DIGIPASS devices that are compliant with the Multi-Device Licensing and support the Secure Chan-
nel feature.
4. Create users, assign a DIGIPASS license to them, and activate a new DIGIPASS instance for their device.
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication ServerAdministrator
Guide.
The Get Signing Request operation enables a user to generate a signed request message which can be used to ini-
tiate a signature validation operation using the Secure Channel feature.
The Get Signing Request operation can send two types of requests to IDENTIKEY Authentication Server:
1. A request which includes a list of key/value data fields (which will be used to generate a request body and
the signed request message).
2. A request which includes a custom request body (which will be transparently used to generate the signed
request message).
For more information on how to generate a custom request body, refer to the Secure Messaging SDK Server Integ-
ration Guide, which is included in the DIGIPASS for APPS SDK.
At a minimum, the genRequest command requires the following set of signature field attributes in order to per-
form this operation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
To execute a Get Signing Request operation, the request must also include at least one key/value dataField in the
dataFieldList element, or include a SIGNFLD_REQUEST_BODY signature field attribute. For more inform-
ation, refer to Section 6.1.1. SOAP genRequest Request Structure.
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Secure Channel Message Signature Validation operation enables a user to verify a signature against a signed
request message using the Secure Channel feature.
At a minimum, the authSignature command requires the following set of signature field attributes in order
to perform signature validation:
n SIGNFLD_COMPONENT_TYPE
n SIGNFLD_USERID
n SIGNFLD_SIGNATURE
n SIGNFLD_REQUEST_KEY
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Client Integration
The IDENTIKEY Authentication Server Provisioning functionality can be integrated into any application that sup-
ports SOAP. This integration can be done at the client level by either:
VASCO also provides standard wrappers for integrating IDENTIKEY Authentication Server features into custom
applications. For more information about wrappers provided by VASCO in the IDENTIKEY Authentication Server
SDK, see 2.4. Wrappers.
Back-End Authentication
You can also integrate back-end authentication in the context of Software DIGIPASS provisioning (standard
and MDL provisioning) or compliant Hardware DIGIPASS (MDL provisioning - DIGIPASS 760).
Integrating provisioning via back-end authentication is useful when a legacy authentication system is used
for the authentication of a historical password. With this type of integration, the historical password is used as
a user credential that must be provided as part of the registration request. Once the historical password is
provided, a Software DIGIPASS is assigned to that user.
For more information, refer to the IDENTIKEY Authentication Server SDK Plug-In Engine Guide.
4. Import the IDENTIKEY Authentication Server SSL server certificate as trusted root certificate on the
machine where your client application is running.
This will allow your SOAP client application to connect to IDENTIKEY Authentication Server securely via SSL.
5. Send the SOAP request to IDENTIKEY Authentication Server. By default, the SOAP request should be com-
municated over HTTPS with the IDENTIKEY Authentication Server.
IDENTIKEY Authentication Server is configured by default to accept SOAP requests on port 8888.
For more information about the structure of SOAP messages, see 2.3.1. SOAP Message Structure.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:PROV-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<SOAP-ENV:Body>
<PROV-TYPES:provisioningExecute>
<cmd>PROVISIONCMD_REGISTER</cmd>
<attributeSet>
<attributes>
<attributeID>PROVFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">testuser</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">master</value>
<attributeID>PROVFLD_DOMAIN</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">1.Password</value>
<attributeID>PROVFLD_STATIC_PASSWORD</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">336619</value>
<attributeID>PROVFLD_CUSTOM_ENCRYPT_PWD</attributeID>
</attributes>
</attributeSet>
</PROV-TYPES:provisioningExecute>
</SOAP-ENV:Envelope>
The SOAP Body element should only contain a provisioningExecute element (line 7). This element has been
defined in the namespace prov. Therefore, the prov should be declared in the Envelope element as an attribute.
n attributeID (required): the attribute identifier. The supported credential attribute identifiers are lis-
ted in the IDENTIKEY Authentication Server SDK SOAP Reference.
n value (required): the attribute value. This element also requires the specification of the value type using
the following attribute definition xsi=type=”xsd:<type>.
n attributeOptions (optional): this element provides directive information about how IDENTIKEY
Authentication Server should handle the attribute value during request processing. Following options are
supported for this element:
n NULL: indicates that the specified attribute should be set to zero.
n NEGATIVE: used for search criteria to say NO when searching for a specific attribute.
n MASKED: used to indicate IDENTIKEY Authentication Server to mask the attribute value (e.g. when
auditing the SOAP request).
To set an attribute option, add the option element in the attributeOptions element and give the option
element a value true.
Example
To set the MASKED option, add the following:
<attributeOptions><masked>true</masked> </attributeOptions>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:BASIC-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/BasicTypes.xsd"
xmlns:PROVISIONING-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/ProvisioningTypes.xsd"
xmlns:PROV-TYPES="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<SOAP-ENV:Body>
<PROV-TYPES:provisioningExecuteResponse>
<results>
<resultCodes>
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute>
<attributes>
<value xsi:type="xsd:string">testuser</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">master</value>
<attributeID>PROVFLD_DOMAIN</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string"/>
<attributeID>PROVFLD_ORGANIZATIONAL_UNIT</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">VDS1000140</value>
<attributeID>PROVFLD_SERIAL_NO</attributeID>
</attributes>
<attributes>
<attributeOptions>
<masked>true</masked>
</attributeOptions>
<value
xsi:type="xsd:string">380801940103564453021010101010101010100123456789ABCDEF030101040
10405011006010107010108010309010F0A01000B01010C01000E01000F0101100101112F12010013
0101140101150C4170706C312020202020202016010117044080F8021801002901062A01062B01002
C01021135120100130101140102150C4170706C32202020202020201601011704408BF8D21801011
901062101062901062A01062B01002C01021141120100130101140103150C4170706C33202020202
020201601011704408BF8D21801031901011A01011B01012101102201102301102901062A01062B0
1002C0102112F120100130101140104150C4170706C342020202020202016010117044080F8021801
002901062A01062B01002C01021135120100130101140105150C4170706C35202020202020201601
011704408BF8D21801011901062101062901062A01062B01002C0102114112010013010114010615
0C4170706C36202020202020201601011704408BF8D21801031901011A01011B0101210110220110
2301102901062A01062B01002C01021000140016583966016262910891</value>
<attributeID>PROVFLD_ACTIVATION_CODE</attributeID>
</attributes>
</resultAttribute>
<errorStack/>
</results>
</PROV-TYPES:provisioningExecuteResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The SOAP Body element should only contain a provisioningExecuteResponse element (line 12). The pro-
visioningExecuteResponse element always contains results element, which in turn contains the following sub-ele-
ments:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultattribute element, in this case, is used to refer to provisioning attributes elements.
n Provisioning registration
n Provisioning activation
A provisioning registration operation is the first step in the provisioning process for DIGIPASS devices; it registers
the specified user for device provisioning. Refer to Section 7.2.1. Provisioning Registration Operation for more
information.
The registration operation is followed by a provisioning activation operation. Refer to 7.2.2. Provisioning Activation
Operation for more information.
IDENTIKEY Authentication Server requires prior user authentication before generating an activation code for the
assigned DIGIPASS device. The following registration types are supported, based on the type of user authen-
tication:
Local authentication and activation code encryption with the pre-loaded static password are registration types
assuming that user accounts and static passwords have been pre-loaded into IDENTIKEY Authentication Server.
For more information about supported provisioning scenarios, refer to the IDENTIKEY Authentication Server Product
Guide.
Procedure 9: Configuring IDENTIKEY Authentication Server for Local Authentication (with pre-loaded static pass-
words)
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
To perform local authentication with pre-loaded static passwords, the registered client application should send a
provisioningExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd
element is PROVISIONCMD_REGISTER.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_STATIC_PASSWORD
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Example
A client application with component type DP4Web Provisioning Sample Client will typically send the following
SOAP command to register user test1 for this provisioning scenario:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:prov="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<soapenv:Header/>
<soapenv:Body>
<prov:provisioningExecute>
<cmd>PROVISIONCMD_REGISTER</cmd>
<attributeSet>
<attributes>
<value
xsi:type="xsd:string">233655275246515E5336245456302C2D55335D5720455A2952335C5254475
A53</value>
<attributeID>PROVFLD_ALEA</attributeID>
</attributes>
<attributes>
<attributeID>PROVFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">passwd</value>
<attributeID>PROVFLD_STATIC_PASSWORD</attributeID>
</attributes>
</attributeSet>
</prov:provisioningExecute>
</soapenv:Body>
</soapenv:Envelope>
In this example, the specified user's password is passwd. IDENTIKEY Authentication Server will verify this loc-
ally before generating an activation code.
Procedure 10: Configuring IDENTIKEY Authentication Server to provide Activation Codes encrypted with pre-loaded
static passwords
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
To execute this operation, the registered client application should send a provisioningExecute SOAP
command to IDENTIKEY Authentication Server, where the value for the cmd element is PROVISIONCMD_REGISTER.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Example
A client application with component type DP4Web Provisioning Sample Client will typically send the following
SOAP command to register user test1 for this provisioning scenario:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:prov="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<soapenv:Header/>
<soapenv:Body>
<prov:provisioningExecute>
<cmd>PROVISIONCMD_REGISTER</cmd>
<attributeSet>
<attributes>
<value
xsi:type="xsd:string">233655275246515E5336245456302C2D55335D5720455A2952335C5254475
A53</value>
<attributeID>PROVFLD_ALEA</attributeID>
</attributes>
<attributes>
<attributeID>PROVFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
</attributeSet>
</prov:provisioningExecute>
</soapenv:Body>
</soapenv:Envelope>
Procedure 11: Configuring IDENTIKEY Authentication Server for Dynamic User Registration (using a back-end sys-
tem for authentication)
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
For more information about supported provisioning scenarios, refer to the IDENTIKEY Authentication Server Product
Guide.
To perform Dynamic User Registration using a back-end system for authentication, the registered client applic-
ation should send a provisioningExecute SOAP command to IDENTIKEY Authentication Server, where the
value for the cmd element is PROVISIONCMD_REGISTER.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_STATIC_PASSWORD
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Example
A client application with component type DP4Web Provisioning Sample Client will typically send the following
SOAP command to register user test1 for this provisioning scenario:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:prov="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<soapenv:Header/>
<soapenv:Body>
<prov:provisioningExecute>
<cmd>PROVISIONCMD_REGISTER</cmd>
<attributeSet>
<attributes>
<value
xsi:type="xsd:string">233655275246515E5336245456302C2D55335D5720455A2952335C5254475
A53</value>
<attributeID>PROVFLD_ALEA</attributeID>
</attributes>
<attributes>
<attributeID>PROVFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">passwd</value>
<attributeID>PROVFLD_STATIC_PASSWORD</attributeID>
</attributes>
</attributeSet>
</prov:provisioningExecute>
</soapenv:Body>
</soapenv:Envelope>
In this example, IDENTIKEY Authentication Server will verify the specified user's password (i.e. passwd) with
the configured back-end system before generating an activation code.
This operation activates a previously-registered Software DIGIPASS for a specified user. Provisioning activation
includes a verification of the OTP generated with the Software DIGIPASS assigned to the specified user.
This operation is the second step in a Software DIGIPASS provisioning. This step is preceded by a provisioning regis-
tration operation (refer to 7.2.1. Provisioning Registration Operation for more information).
The registered client application should send a provisioningExecute SOAP command to IDENTIKEY
Authentication Server, where the value for the cmd element is PROVISIONCMD_ACTIVATE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_DP_RESPONSE
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Example
A DP4Web client application with component type DP4Web Provisioning Sample Client will typically send the fol-
lowing SOAP command to activate a previously-assigned DIGIPASS for Web:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:prov="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Provisioning">
<soapenv:Header/>
<soapenv:Body>
<prov:provisioningExecute>
<cmd>PROVISIONCMD_ACTIVATE</cmd>
<attributeSet>
<attributes>
<attributeID>PROVFLD_COMPONENT_TYPE</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>PROVFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">643251</value>
<attributeID>PROVFLD_DP_RESPONSE</attributeID>
</attributes>
</attributeSet>
</prov:provisioningExecute>
</soapenv:Body>
</soapenv:Envelope>
This operation activates a previously- registered Software DIGIPASS for a specified user and binds the
DIGIPASS authenticator to a selected device. Refer to Section 7.2.2. Provisioning Activation Operation for inform-
ation on carrying out provisioning activation that includes a verification of the OTP generated with the Software
DIGIPASS assigned to the specified user.
To execute provisioning activation with device-binding, The registered client application should send a pro-
visioningExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd ele-
ment is PROVISIONCMD_ACTIVATE.
To carry out device- binding, PROVFLD_ DERIVATION_ CODE must be provided and the value for PROVFLD_
REQUEST_TYPE must be 0.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_DERIVATION_CODE
n PROVFLD_REQUEST_TYPE
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE: indicates the client application type
For more information about the required and optional provisioning attributes for the provisioningExecute
command, refer to the IDENTIKEY Authentication Server SDK SOAP Reference.
Provisioning for DIGIPASS devices that are compliant with the Multi-Device Licensing (MDL) model is a process
which consists of the following operations:
The Multi-Device Licensing (MDL) user registration operation enables a user to register a DIGIPASS device com-
pliant with the Multi-Device Licensing model for provisioning .
The MDL user registration operation can involve the following optional processes:
n Creating a user account in IDENTIKEY Authentication Server after successful back-end authentication
n Assigning a new DIGIPASS license to the user if this user does not yet have a DIGIPASSlicense matching the
assigned policy limits
n Generating the challenge for Activation Message 1
The user registration operation is the first step in the MDL provisioning process. This operation returns Activation
Message 1 which must be transferred to the DIGIPASS device to generate a device code. This operation is followed
by the MDL device registration operation - for more information on this operation, refer to Section7.3.2. Multi-
Device Licensing Device Registration Operation.
Activation Message 1 must be transferred to the DIGIPASS device; this can be done in the form of a QR-code or a
color QR code which the user scans with the camera of the device. For more information on how to generate a QR-
code or a color QR code, refer to the Image Generator SDK Integration Guide which is part of the DIGIPASS for APPS
or DIGIPASS for Mobile SDK.
IDENTIKEY Authentication Server requires prior user authentication before generating Activation Message 1 for the
assigned DIGIPASS license. The following registration types are supported, based on the type of user authen-
tication:
Local authentication with a shared historical secret is a registration type assuming that user accounts and static
passwords have been pre-loaded into IDENTIKEY Authentication Server. For more information about supported pro-
visioning scenarios, refer to the IDENTIKEY Authentication Server Product Guide.
Procedure 12: Configuring IDENTIKEY Authentication Server for Multi-Device Licensing user registration using local
authentication with a historical shared secret
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
To perform the Multi-Device Licensing user registration operation using local authentication with historical secrets,
the registered client application should send a provisioningExecute SOAP command to IDENTIKEY
Authentication Server, where the value for the cmd element is PROVISIONCMD_MDL_REGISTER.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_STATIC_PASSWORD
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
Procedure 13: Configuring IDENTIKEY Authentication Server for Multi- Device Licensing user registration with
Dynamic User Registration using a back-end system for authentication
1. Register a back-end server for authentication (not required for a local Windows back end).
2. Define a policy with the following settings:
n Local Authentication set to DIGIPASS/Password during Grace Period or DIGIPASS or Password
n Back-End Authentication set to If Needed
n Back-End Protocol set to the chosen back-end system (effectively, the setting must not be None)
n Dynamic User Registration enabled
n Assignment mode set to Auto-Assignment
n Check Challenge mode set to 0 - No Challenge Check
3. Register the client component.
4. Assign the policy as defined in Step 1 to the registered client component.
5. Import a DIGIPASS device compliant with Multi-Device Licensing.
For more information on how to perform these tasks, refer to the IDENTIKEY Authentication Server Administrator
Guide.
To perform the Multi-Device Licensing user registration operation with Dynamic User Registration using a back-
end system for authentication, the registered client application should send a provisioningExecute SOAP
command to IDENTIKEY Authentication Server, where the value for the cmd element is PROVISIONCMD_MDL_
REGISTER.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_STATIC_PASSWORD
n PROVFLD_USERID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Multi-Device Licensing (MDL) device registration operation enables a user to register a new device with
IDENTIKEY Authentication Server. The device must include DIGIPASS software and/or firmware which is compliant
with the Multi-Device Licensing model.
The MDL device registration operation is the second step in the MDL provisioning process. This operation verifies
the device code generated by the DIGIPASS device based on Activation Message 1. This operation creates a new
DIGIPASS instance for the DIGIPASS license, and returns Activation Message 2 which must then be transferred to
the DIGIPASS device to create the DIGIPASS instance on this device. This operation is optionally followed by the
MDL activation operation - for more information on this operation, refer to Section 7.3.3. Multi-Device Licensing
Activation Operation.
Activation Message 2 must be transferred to the DIGIPASS device; this can be done in the form of a QR-code or a
color QR code which the user scans with the camera of the device. For more information on how to generate a QR-
code or a color QR code, refer to the Image Generator SDK Integration Guide which is part of the DIGIPASS for APPS
or DIGIPASS for Mobile SDK.
To perform the Multi-Device Licensing device registration, the registered client application should send a pro-
visioningExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd ele-
ment is PROVISIONCMD_MDL_ADD_DEVICE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_DEVICE_CODE
n PROVFLD_REGISTRATIONID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Multi-Device Activation (MDL) activation operation enables a user to validate the confirmation code generated
by the newly created DIGIPASS instance after Activation Message 2 has been processed by the DIGIPASS device.
The MDL activation operation is the optional final step in the MDL provisioning process. This operation verifies the
signature generated by the DIGIPASS device based on Activation Message 2.
To perform the MDL activation operation, the registered client application should send a pro-
visioningExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd ele-
ment is PROVISIONCMD_MDL_ACTIVATE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n PROVFLD_SIGNATURE
n PROVFLD_REGISTRATIONID
n PROVFLD_COMPONENT_TYPE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
VASCO also provides standard wrappers for integrating IDENTIKEY Authentication Server features into custom
applications. For more information about wrappers provided by VASCO in the IDENTIKEY Authentication Server SDK,
see 2.4. Wrappers.
The following sections apply to both a standard administration scenario and a Multi-Device Licensing and Activ-
ation (MDL) administration scenario. For commands specific to an MDL administration scenario, see 8.7. Multi-
Device Activation Operations.
The SOAP interface for signature validation supports sending the following command types to IDENTIKEY Authentic-
ation Server:
The SOAP administration API provides various types of SOAP operations for the different administration commands:
Users attempting to perform this type of integration should be familiar with the following standards:
n XML
n XML Schema
n SOAP
n MIME
n MTOM
Each SOAP administration operation requires a prior administrative logon. IDENTIKEY Authentication Server
provides an administrative sessionID as a response to a successful administrative logon request. Each admin-
istrative operation on the IDENTIKEY Authentication Server requires specifying this sessionID and must be per-
formed from the same client location.
4. Import the IDENTIKEY Authentication Server SSL server certificate as trusted root certificate on the
machine where your client application is running.
This will allow your SOAP client application to connect to IDENTIKEY Authentication Server securely via SSL.
5. Send the SOAP request to IDENTIKEY Authentication Server. By default, the SOAP request should be com-
municated over HTTPS with the IDENTIKEY Authentication Server.
IDENTIKEY Authentication Server is configured by default to accept SOAP requests on port 8888.
For more information about the structure of SOAP messages, see 2.3.1. SOAP Message Structure.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<adm:logon>
<attributeSet>
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</attributeSet>
</adm:logon>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a logon or logoff element (line 8). This element has been defined in
the namespace adm. Therefore, adm should be declared in the Envelope element as an attribute.
n The logon or logoff element should contain only one AttributeSet element.
n The AttributeSet element should contain zero or more provisioning attributes elements.
n attributeID (required): the attribute identifier. The supported credential attribute identifiers are lis-
ted in the IDENTIKEY Authentication Server SDK SOAP Reference.
n value (required): the attribute value. This element also requires the specification of the value type using
the following attribute definition xsi=type=”xsd:<type>.
n attributeOptions (optional): this element provides directive information about how IDENTIKEY
Authentication Server should handle the attribute value during request processing. Following options are
supported for this element:
To set an attribute option, add the option element in the attributeOptions element and give the option
element a value true.
Example
To set the MASKED option, add the following:
<attributeOptions><masked>true</masked> </attributeOptions>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<ADMIN-TYPES:logonResponse>
<results xsi:type="CREDENTIAL-TYPES:CredentialResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="CREDENTIAL-TYPES:CredentialAttributeSet">
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</ADMIN-TYPES:logonResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain a logonResponse element (line 9). The logonResponse element
always contains a results element, which in turn contains the following elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultattribute element, in this case, is used to refer to credential attributes elements.
An execute operation is a SOAP operation used to perform administrative actions on specified objects that exist
within the IDENTIKEY Authentication Server data model. Each SOAP administration operation requires a prior admin-
istrative logon.
Execute operations are either executed immediately or scheduled and effectively executed only after approval via
maker–checker authorization.
1. Create a SOAP request for the object upon which you wish to perform an action.
4. Specify one or more attributes as parameters for the SOAP operation. Attributes are key-value pairs.
5. Import the IDENTIKEY Authentication Server SSL server certificate as trusted root certificate on the
machine where your client application is running.
This will allow your SOAP client application to connect to IDENTIKEY Authentication Server securely via SSL.
6. Send the SOAP request to IDENTIKEY Authentication Server. By default, the SOAP request should be com-
municated over HTTPS with the IDENTIKEY Authentication Server.
IDENTIKEY Authentication Server is configured by default to accept SOAP requests on port 8888.
For more information about the structure of SOAP messages, see 2.3.1. SOAP Message Structure.
If maker–checker authorization is enabled, an execute operation is not executed immediately. It is rather deferred
and can effectively be executed after approval by another administrator only.
1. The operation is performed as usual (see Procedure 15: Performing an execute operation via SOAP imme-
diately), but additionally passing information about the approving administrator, i.e. *_ CHECKER_
USERID and *_CHECKER_DOMAIN.
The operation is scheduled and returns a pending operation identifier (POID) to identify the scheduled oper-
ation. The approving administrator receives a notification to either approve or reject the pending operation
using approvePendingOperation or rejectPendingOperation, respectively.
2. Once the pending operation has been approved, it is performed a second time, this time passing the POID.
For more information about which commands support maker–checker authorization and how to use them, refer to
the IDENTIKEY Authentication Server SDK SOAP Reference.
For more information about maker–checker authorization, refer to the IDENTIKEY Authentication Server Product
Guide.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<adm:????Execute>
<cmd>?????CMD_!!!!!!</cmd>
<attributeSet>
<attributes>
<value xsi:type="xsd:!!!!!!">?????</value>
<attributeID>?????</attributeID>
</attributes>
</attributeSet>
</adm:????Execute>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain an <object> execute element, where <object> specifies the
requested object (line 8). This element has been defined in the namespace adm . Therefore, adm should be
declared in the Envelope element as an attribute.
n attributeID (required): the attribute identifier. The supported credential attribute identifiers are lis-
ted in the IDENTIKEY Authentication Server SDK SOAP Reference.
n value (required): the attribute value. This element also requires the specification of the value type using
the following attribute definition xsi=type=”xsd:<type>.
n attributeOptions (optional): this element provides directive information about how IDENTIKEY
Authentication Server should handle the attribute value during request processing. Following options are
supported for this element:
n NULL: indicates that the specified attribute should be set to zero.
n NEGATIVE: used for search criteria to say NO when searching for a specific attribute.
n MASKED: used to indicate IDENTIKEY Authentication Server to mask the attribute value (e.g. when
auditing the SOAP request).
To set an attribute option, add the option element in the attributeOptions element and give the option
element a value true.
Example
To set the MASKED option, add the following:
<attributeOptions><masked>true</masked> </attributeOptions>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<ADMIN-TYPES:????ExecuteResponse>
<results xsi:type="USER-TYPES:?????Results">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="USER-TYPES:?????AttributeSet">
<attributes xsi:type="USER-TYPES:????Attribute">
<value xsi:type="xsd:string">?????????</value>
<attributeID>!!!!!!!!!</attributeID>
</attributes>
</resultAttribute>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</ADMIN-TYPES:??????ExecuteResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain an <object>ExecuteResponse element, where <object> spe-
cifies the requested object (line 9). The <object>ExecuteResponse element always contains a results
element, which contains the following elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
Note
The resultAttribute element, in this case, is used to refer to attributes elements for the specified
<object>.
A query is a SOAP administration operation used to perform searches on specified objects that exist within the
IDENTIKEY Authentication Server data model.
Each SOAP administration operation requires a prior administrative logon. IDENTIKEY Authentication Server
provides a session identifier, i.e. sessionID, as a response to a successful administrative logon request. Each
administrative operation on the IDENTIKEY Authentication Server requires specifying this session identifier.
1. Prepare a query SOAP request for the object upon which you wish to perform a search:
b. Specify one or more search attributes as parameters for the SOAP operation.
Attributes are key- value pairs. These search attributes define the search criteria for the
SOAP query.
c. Specify one or more object attributes that should be returned by the query.
2. Import the IDENTIKEY Authentication Server SSL server certificate as trusted root certificate on the
machine where your client application is running.
This will allow your SOAP client application to connect to IDENTIKEY Authentication Server securely via SSL.
3. Send the SOAP request to IDENTIKEY Authentication Server. By default, the SOAP request should be com-
municated over HTTPS with the IDENTIKEY Authentication Server.
IDENTIKEY Authentication Server is configured by default to accept SOAP requests on port 8888.
For more information about the structure of SOAP messages, see 2.3.1. SOAP Message Structure.
Note
After upgrading IDENTIKEY Authentication Server, server data is continuously migrated while the already-
upgraded IDENTIKEY Authentication Server is running. Until data migration has been completed, the result of a
query command may be incomplete and may include both migrated and non-migrated data. This means that, for
instance, values for new data fields or policy default settings may be missing or not set correctly in the query res-
ult.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<adm:????Query>
<sessionID>?</sessionID>
<attributeSet>
<attributes>
<!--Optional:-->
<attributeOptions>
<!--Optional:-->
<negative>?</negative>
<!--Optional:-->
<masked>?</masked>
<!--Optional:-->
<null>?</null>
</attributeOptions>
<value>?</value>
<attributeID>?</attributeID>
</attributes>
</attributeSet>
<!--Optional:-->
<fieldSet>
<attributeID>?</attributeID>
</fieldSet>
<!--Optional:-->
<queryOptions>
<!--Optional:-->
<distinct>?</distinct>
<!--Optional:-->
<rowoffset>?</rowoffset>
<!--Optional:-->
<rowcount>?</rowcount>
<!--Optional:-->
<count>?</count>
</queryOptions>
</adm:??????Query>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain an objectquery element, where object specifies the requested object
(line 8). This element has been defined in the namespace adm . Therefore, adm should be declared in the
Envelope element as an attribute.
Search fields specified using the AttributeSet elements are interpreted as follows:
n Wildcards are always accepted when indicated, except for user and DIGIPASS searches. For these
requests, they are accepted only if the toUserID or toSerial parameters are not set.
n Wildcards can be placed at start, end or both of the values. In this case, they will be interpreted as the SQL
LIKE statement.
n A list of comma separated values can be specified, in this case it will be interpreted as the logical OR of
the given values.
n Otherwise, the search will be done using the exact match of the given value.
The objectquery could optionally contain one of each of the following elements:
n fieldSet: If specified, the fieldSet element should contain zero or more object attribute elements. These
elements specify the object fields that the IDENTIKEY Authentication Server should return for the each of
the objects matching the search criteria.
n queryOptions: This element provides directions to the IDENTIKEY Authentication Server on what results
should be returned. The following queryOptions are supported:
n distinct: flag to request the IDENTIKEY Authentication Server to return query results with no duplic-
ate entries. This option is of type boolean.
n rowoffset: option to request the IDENTIKEY Authentication Server to return results starting from
the specified offset. This option is of type unsignedInt.
n rowcount: option to request the IDENTIKEY Authentication Server to return the specified number of
results. This option is of type unsignedInt.
n count: flag to request the IDENTIKEY Authentication Server to return the count of the results not
the results themselves. This option is of type boolean.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<ADMIN-TYPES:????QueryResponse>
<results xsi:type="USER-TYPES:????QueryResults">
<resultCodes xsi:type="BASIC-TYPES:ResultCodes">
<returnCodeEnum>RET_SUCCESS</returnCodeEnum>
<statusCodeEnum>STAT_SUCCESS</statusCodeEnum>
<returnCode>0</returnCode>
<statusCode>0</statusCode>
</resultCodes>
<resultAttribute xsi:type="USER-TYPES:???AttributeList">
<attributeList xsi:type="USER-TYPES:???AttributeSet">
<attributes xsi:type="USER-TYPES:???Attribute">
<value xsi:type="xsd:string">?????</value>
<attributeID>!!!!</attributeID>
</attributes>
</attributeList>
</resultAttribute>
<resultCount>??????</resultCount>
<errorStack xsi:type="BASIC-TYPES:ErrorStack"/>
</results>
</ADMIN-TYPES:????QueryResponse>
</soapenv:Body>
</soapenv:Envelope>
The SOAP body element should only contain an objectQueryResponse element, where object specifies the reques-
ted object (line 9). The objectQueryResponse element always contains a results element, which in turn contains
the following elements:
For a complete list of possible error codes, see 10. Error and Status Codes.
n ResultCount (required): this element specifies the number of objects that matched the specified search cri-
teria. If the queryOption count was set to true in the query request, then only the ResultCount element
would be returned in the response.
Note
The resultattribute element, in this case, is used to refer to attributeList elements for the specified object. Each
attributeList element specifies one search result row.
This type of SOAP administration operation performs a file upload or download operation.
The SOAP Administration interface supports the following SOAP operations to perform user administration com-
mands:
n userExecute
n userQuery
For more information on these commands, refer to the IDENTIKEY Authentication Server SDK SOAP Reference.
Example
A client administration application will typically send the following SOAP command to view the user attributes of
user test1 created under domain master:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<adm:userExecute>
<sessionID>ZWo~ORIG-SqrgLN[Y-he~jpbZjegoNxr</sessionID>
<cmd>USERCMD_VIEW</cmd>
<attributeSet>
<attributes>
<value xsi:type="xsd:string">test1</value>
<attributeID>USERFLD_USERID</attributeID>
</attributes>
<attributes>
<value xsi:type="xsd:string">master</value>
<attributeID>USERFLD_DOMAIN</attributeID>
</attributes>
</attributeSet>
</adm:userExecute>
</soapenv:Body>
</soapenv:Envelope>
Example
In this example, a client administration application will typically send the following SOAP command to query
users whose userIDs start with f, only returning the userID in the search results.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:adm="http://www.vasco.com/IdentikeyServer/IdentikeyTypes/Administration">
<soapenv:Header/>
<soapenv:Body>
<adm:userQuery>
<sessionID>wiy6ywXaFwR8wdzXsq7b4Jo5BPSfq4J6</sessionID>
<attributeSet>
<attributes>
<value xsi:type="xsd:string">f*</value>
<attributeID>USERFLD_USERID</attributeID>
</attributes>
</attributeSet>
<fieldSet>
<attributeID>USERFLD_USERID</attributeID>
</fieldSet>
</adm:userQuery>
</soapenv:Body>
</soapenv:Envelope>
This section lists other SOAP operations supported by the SOAP administration interface. For a more detailed
description of each command, refer to the IDENTIKEY Authentication Server SDK SOAP Reference.
n userattributeExecute
n userattributeQuery
n digipassExecute
n digipassQuery
n dpxfileExecute
n dpxfileuploaddime
n dpxfileuploadmime
n dpxfileuploadmtom
n digipassapplExecute
n digipassapplQuery
n policyExecute
n policyQuery
n componentExecute
n componentQuery
n backendExecute
n backendQuery
n domainExecute
n domainQuery
n orgunitExecute
n orgunitQuery
n reportExecute
n reportdownloadmtom
n reportQuery
n reportformatExecute
n reportformatQuery
n replicationserverExecute
n replicationserverQuery
Sessionalive Operation
The SOAP Administration interface supports the sessionalive operation. This operation is used to keep
an administrative session alive, avoiding that these admin sessions would time out due to session inactivity:
The activation of DIGIPASS devices compliant with the Multi-Device Licensing model, as initiated by an IDENTIKEY
Authentication Server administrator, consists of the following administrative operations:
Once a DIGIPASS instance has been activated for a specific DIGIPASS device, that DIGIPASS instance can be deac-
tivated with the Deactivate operation. For more information on this operation, refer to Section 8.7.4. Deactivate
Operation.
The Generate Activation Message operation allows an administrator to generate Activation Message 1 for a par-
ticular DIGIPASS license. This operation is used as the first step in the Multi-Device Activation process; it returns
Activation Message 1. To generate the device code, Activation Message 1 must be transferred to the DIGIPASS
device; this can be done in the form of a QR-code or a color QR code which the user scans with the camera of the
device. For more information on how to generate a QR-code or a color QR code, refer to the Image Generator SDK
Integration Guide which is part of the DIGIPASS for APPS or DIGIPASS for Mobile SDK.
The Generate Activation Message operation is followed by the Add Device operation - refer to Section 8.7.2. Add
Device Operationfor more information.
To perform the Generate Activation Message operation, the registered client application should send a digi-
passExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd element is
DIGIPASSCMD_GENERATE_ACTIVATION_MESSAGE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n DIGIPASSFLD_SERNO
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Add Device operation allows an administrator to register a new or additional device for a particular DIGIPASS
license . The device must include DIGIPASS software and/or firmware which is compliant with the Multi-Device
Licensing model.
The Add Device operation is used as the second step in the Multi-Device Activation process. This operation verifies
the device code generated by the DIGIPASS device based on Activation Message 1. This operation creates a new
DIGIPASS instance for the DIGIPASS license, and returns Activation Message 2 which must then be transferred to
the DIGIPASS device to create the DIGIPASS instance on this device. This operation is optionally followed by theTest
Signature operation - for more information on this operation, refer to Section 8.7.3. Test Signature with Secure
Channel Operation.
Activation Message 2must be transferred to the DIGIPASS device; this can be done in the form of a QR-code or a
color QR code which the user scans with the camera of the device. For more information on how to generate a QR-
code or a color QR code, refer to the Image Generator SDK Integration Guide which is part of the DIGIPASS for APPS
or DIGIPASS for Mobile SDK.
To perform the Add Device operation, the registered client application should send a digipassExecute SOAP
command to IDENTIKEY Authentication Server, where the value for the cmd element is DIGIPASSCMD_ADD_
DEVICE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n DIGIPASSFLD_SERNO
n DIGIPASSFLD_DEVICE_CODE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Test Signature with Secure Channel operation allows an administrator to validate the confirmation code gen-
erated by the newly created DIGIPASS instance after Activation Message 2 has been processed by the DIGIPASS
device.
The Test Signature with Secure Channel operation is the optional final step in the Multi-Device Activationprocess.
This operation verifies the signature generated by the DIGIPASS device based on Activation Message 2. In case the
DIGIPASS software running on the device is based on DIGIPASS for APPS, no signature may be returned after Activ-
ation Message 2 has been processed. Contact your vendor for more information on the DIGIPASS software running
on the relevant device.
To perform the Test Signature with Secure Channel operation, the registered client application should send a
digipassapplExecute SOAP command to IDENTIKEY Authentication Server, where the value for the cmd
element is DIGIPASSAPPLCMD_TEST_SIGNATURE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n DIGIPASSAPPLFLD_SERNO
n DIGIPASSAPPLFLD_APPL_NAME
n DIGIPASSAPPLFLD_REQUEST_KEY
n DIGIPASSAPPLFLD_SIGNATURE
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
The Deactivate operation allows an administrator to generate a deactivation message for a specific DIGIPASS
instance. This operation expires and deactivates all DIGIPASS applications for the selected DIGIPASS instance.
To perform the Deactivate operation, the registered client application should send a digipassExecute SOAP
command to IDENTIKEY Authentication Server, where the value for the cmd element is DIGIPASSCMD_
DEACTIVATE.
At a minimum, this SOAP command requires the following set of field attributes in order to perform this operation:
n DIGIPASSFLD_SERNO
For more information on the required and optional attributes for this command, refer to the IDENTIKEY Authentic-
ation Server SDK SOAP Reference.
DIGIPASS for Mobile versions 3.0 and 3.5 will still be supported.
For detailed information about initial installation and configuration of DIGIPASS for Mobile 4.0, refer to the DIGIPASS
for Mobile 4.0 manuals.
To enable certain features of DIGIPASS for Mobile 4.0 with IDENTIKEY Authentication Server 3.5, some changes to
the DIGIPASS for Mobile configuration file are required. The DIGIPASS for Mobile configuration file can be found at
<DIGIPASS for Mobile install directory>\dp4mobile\4.0\tools\Customization Tool\input\xml\DIGIPASS.xml.
DIGIPASS must be registered and assigned before any of the following actions can be processed successfully.
Static Vector
The static vector in the configuration file will have to be updated using the contents of the <install_
dir>\dpx\Demo_DP4Mobile40.svf file. The static vector contained in the configuration file is for place-holding
purposes only, and MUST be changed before any DIGIPASS for Mobile functions will work.
Advanced Online Activation for DIGIPASS for Mobile allows the use of the following features:
To configure DIGIPASS for Mobile 4.0 Advanced Online Activation for the IDENTIKEY Authentication Server SDK, the
following settings need to be amended:
Refer to the example below for the format and settings required. Pay special attention to the format of the sample
URLs, and use the correct one for your programming language. -
Example
DSAPP Online Authentication:
enabled = true
useRegistrationIdentifier = true, server generated identifier, based on new Provisioning Scenario configuration
useActivationPassword = true, server generated activation password, based on new Provisioning Scenario con-
figuration
Standard Online Activation for DIGIPASS for Mobile allows the use of the following features:
n Standard Registration (serialno. Suffix ID and SDK generated custom encryption activation password)
n Get Activation Code (from the SDK)
n Online Post Activation
n Standard RO/CR/SG authentication
n No automatic online signature support
n No upn provided in the register/activation process, however it could be configured directly in the phone.
To configure DIGIPASS for Mobile 4.0 Advanced Online Activation for the IDENTIKEY Authentication Server SDK, the
following settings need to be amended:
Refer to the example below for the format and settings required. Pay special attention to the format of the sample
URLs, and use the correct one for your programming language.
Example
Standard Online Authentication:
enabled = true
-->
n Manual Assignment
n Manual getActivationCode via the Administration Web Interface or MDC
n Manual Post Activation using derivation code
n Standard RO/CR/SG Auth
n No automatic online signature support
n No upn provided in the register/activation process, however it could be configured directly in the phone.
To configure DIGIPASS for Mobile 4.0 for Offline Manual for the IDENTIKEY Authentication Server SDK, the following
settings need to be amended:
Example
Offline Manual Activation
n Manual Assignment
n Manual getActivationCode via the Administration Web Interface using QR code scan
n Manual Post Activation using derivation code
n Standard RO/CR/SG Auth
n No automatic online signature support
n No upn provided in the register/activation process, however it could be configured directly in the phone.
To configure DIGIPASS for Mobile 4.0 for Offline QR code Activation for the IDENTIKEY Authentication Server SDK,
the following settings need to be amended:
Example
Offline QR Code Activation
PostActivation
n enabled = "true"
n derivation = "true"
n serverActivation = "true"
n cryptoAppIndex = "1"
n regenerate = "false"
n responsePattern = "XXXXXX" (provide the correct pattern)
n hostCodePattern = "XXXXXX" (provide the correct pattern)
n displaySerialNumber = "true"
Example
DSAPP Online Post Activation
enabled = true
derivation = true, Generate and activation using Derivation Code or false, Generate and activation using OTP.
Either choice can be used, depending on your requirements.
NOTE: In this context the Advanced Provisioning SDK activation Sample must be configured along with the
required parameters:
Required Parameters
<PayloadParameter key="registrationIdentifier" value="%_RegistrationIdentifier_%" />
</URL>
-->
PostActivation
n enabled = "true"
n derivation = "false"
n serverActivation = "true"
n cryptoAppIndex = "1"
n regenerate = "false"
n response Pattern = "XXXXXX" (provide the correct pattern)
n hostCodePattern = "XXXXXX" (provide the correct pattern)
n displaySerialNumber = "true"
Example
Online Post Activation
enabled = true
NOTE: In this context the standard Provisioning SDK activation Sample must be configured along with the
required parameters:
Required Parameters
<PayloadParameter key="registrationIdentifier" value="%_RegistrationIdentifier_%" />
</URL>
-->
PostActivation
n enabled = "true"
n derivation = "true"
n serverActivation = "false"
n cryptoAppIndex = "1"
n regenerate = "false"
n responsePattern = "XXXXXX" (provide the correct pattern)
n hostCodePattern = "XXXXXX" (provide the correct pattern)
n displaySerialNumber = "true"
Example
Offline Post Activation
enabled = true
After the DIGIPASS.xml file has been configured to your requirements, it is used as the input to the DIGIPASS for
Mobile midlet customization tool.
Once the midlet has been generated, it must be placed in the correct location for the phone Operating System
type. Use the following directories:
Note
The provisioning process for iPhones is not the same as the process described above. See the DIGIPASS for
Mobile 4.0 documentation for further details.
The following functions can be performed for DIGIPASS for Mobile using the Administration Web Interface. Refer to
the DIGIPASS for Mobile documentation for further explanations.
After a DIGIPASS for Mobile authenticator has been assigned, you can bind it to a particular mobile device.
4. On the DIGIPASS tab, select Bind Device from the Other Actions menu.
5. Type the derivation code generated by the mobile device and click VERIFY.
4. On the DIGIPASS tab, click UNBIND DEVICE or select Unbind Device from the Other Actions menu.
Warning
Because OTPs generated by a DIGIPASS for Mobile authenticator on a device that has been unbound are valid,
authentication issues may occur if the authenticator is bound to a different mobile device. To avoid these issues,
the DIGIPASS for Mobile authenticator needs to be removed from the unbound device.
For an assigned DIGIPASS, select Generate Activation Data from the drop down list. The activation data will be
shown on a new window, with the QR code.
To send Activation Data in one of the supported formats, select Send Activation Data from the drop down menu for
assigned DIGIPASS. Select Email, SMS or Voice, and supply the email address of phone number. Click Generate to
send the Activation Data.
For DIGIPASS for Mobile certain fields are configurable at provisioning time. Use the System > Server Configuration
> Scenarios > Provisioning Scenario tab to configure the Registration Identifier and Activation Password.
One of the main features of DIGIPASS for Mobile which is used by IDENTIKEY Authentication Server is the re-activ-
ation feature. For IDENTIKEY Authentication Server, re-activation means that after a DIGIPASS for Mobile has
become inactive, it can be re-activated either online or offline.
During re- activation, DIGIPASS which are event- driven have the event counter synchronized with IDENTIKEY
Authentication Server for each application on the DIGIPASS. This enables each application to have the correct event
counter when the DIGIPASS is re-activated.
Online re-activation
To re-activate a DIGIPASS for Mobile online, the user will need to have access to the provisioning web site.
The actions involved in re-activation take place on the mobile phone and on the web site.
n The DIGIPASS for Mobile ID. This is usually the numeric part of the serial number of the DIGIPASS
for Mobile on the user's mobile phone
Offline re-activation
A DIGIPASS for Mobile will need to be reactivated offline if the DIGIPASS for Mobile is inactive and the user
does not have access to the provisioning website. For this, the user will need to be able to phone Technical
Support (i.e. an administrator with the proper access rights to the Administration Web Interface) and supply
the following:
n User ID
n DIGIPASS for Mobile serial number
These instructions should be performed by an administrator with the proper Administration Web Interface priv-
ileges.
1. After being supplied with the user ID and DIGIPASS for Mobile serial number, log in to the Administration
Web Interface.
2. Look up the user's DIGIPASS details.
3. Go to any application tab on the DIGIPASS details and select Generate Activation Data from the drop down
menu. A pop-up window will appear showing Activation Data and the Event Reactivation Counter.
4. Supply the Event Reactivation Counter and the Activation Data to the user. Instruct the user to enter the fol-
lowing on his mobile phone and press Enter:
a. Local Password: This is the PIN the user uses to access the DIGIPASS for Mobile on their phone.
b. Reactivation Password: This is the Event Reactivation Counter from the Administration Web Inter-
face that will have to be read over the phone by the administrator.
c. Activation Data. Either read the activation data to the user, or send it to the phone so the cus-
tomer can enter it into the DIGIPASS for Mobile application.
While IDENTIKEY Authentication Server supports DIGIPASS for Mobile 4.x, you can still use DIGIPASS for Mobile 3.5
DIGIPASS if you have them.
If DIGIPASS for Mobile 3.5 is to be used, the DIGIPASS policies must be updated. Set the Default DIGIPASS Type to
MOB35 in the Administration Web Interface. If both DIGIPASS for Mobile 3.5 and DIGIPASS for Mobile 4.0 are to be
used, separate policies must be created.
To provision DIGIPASS for Mobile 3.5 where DIGIPASS for Mobile 4.0 is also present, you must be able to dif-
ferentiate between the requests. The mobile application is different for each version of DIGIPASS for Mobile and it
must match the assigned DIGIPASS. From your provisioning website use the component name and source of
request to determine which DIGIPASS for Mobile version is required.
Refer to the following tables for information on specific error and status codes.
-1 STAT_ERROR An unspecified error occurred This error code may occur when a more spe-
cific error code is not available or was recor-
ded separately.
-2 STAT_INVPARAM The parameters supplied were invalid Parameters supplied to a function or com-
mand were invalid.
-3 STAT_MEMORY A memory error occurred Memory allocation failed. This is normally due
to the system running low on memory.
-11 STAT_LICENCE A license error has occurred General-purpose license failure when a more
specific code is not available or was recorded
separately.
-12 STAT_OS_FAILURE An operating system call failed A system call failed. This may include file
handling, Active Directory Services Interface
and other calls. It is normally accompanied by
further details.
-13 STAT_NOT_FOUND The object was not found An attempt was made to perform an oper-
ation on an object, such as an Active Dir-
ectory object, but the object did not exist. For
example, this may occur when one admin-
istrator deletes a record that another admin-
istrator is about to update, when the update
operation is attempted.
-14 STAT_EXISTS The object already exists An attempt was made to create an object,
such as an Active Directory object, but the
object already exists. For example, this may
occur when two administrators try to create
the same record at the same time.
-15 STAT_OVERFLOW The supplied buffer was of the incor- An internal data buffer was of insufficient
rect size length to hold the data required.
-16 STAT_VERSION A version error has occurred A version mismatch has occurred. Further
details in the error record will indicate which
versions were mismatched.
-17 STAT_INVDATA The supplied data are invalid General-purpose error when input data to an
operation is incorrect. Further details of the
error will be recorded.
-18 STAT_INVOBJECT The object is invalid An attempt was made to perform an oper-
ation upon an object type that was not recog-
nized.
-19 STAT_INVCOMMAND The command is invalid An attempt was made to perform an oper-
ation using a command that was not recog-
nized.
-20 STAT_INUSE The object is in use An attempt was made to delete an object,
such as an Active Directory object, but that
object was in use.
-21 STAT_NOSUPPORT The operation is not supported General-purpose error when an operation is
attempted on an object that does not support
it. For example, an attempt is made to gen-
erate a Virtual DIGIPASS OTP using a
DIGIPASSthat is not enabled for Virtual
DIGIPASS.
-23 STAT_MISSINGFLD A required field was missing An operation was attempted without spe-
cifying one or more mandatory input fields.
-30 STAT_INVCONFIG The configuration is invalid The configuration data in the configuration
file are invalid. The error record should indic-
ate which specific data were invalid.
-31 STAT_INVTYPE A type mismatch has occurred General-purpose error when one data type is
expected but a different data type was
provided.
-32 STAT_NOT_INITIALISED One or more objects were not initialized Internal initialization error. More specific error
details will be recorded.
-33 STAT_CACHE_FULL The cache is full An attempt was made to add an entry to a
cache, but the cache has reached its con-
figured maximum size.
-34 STAT_CACHE_MAX_REF_COUNT The cache entry has reached the max- An attempt was made to retrieve an item
imum reference count from a cache, but the item was already in use
and the configuration indicates a limit on the
number of times an item can be retrieved
from the cache at one time.
-35 STAT_BUSY The system is currently too busy to ser- The system received a new request for pro-
vice the request cessing, but hit a resource usage limit of
some type. This indicates that the system is
too loaded to handle the request. For
example, there may be no spare database
connection to use, even after waiting a short
time for one to become available.
-100 VDSERR_INVPLUGIN An invalid plug-in was supplied Audit configuration specifies a plug-in
method that is unknown or that could not be
successfully loaded.
-101 VDSERR_NOSPACE There is no space left to write the mes- While auditing to text file, the server was
sage unable to write. This would normally occur if
disk space has run out.
-102 VDSERR_USERCANCEL User cancelled authentication process The user chose to cancel a request rather
than provide credentials when prompted.
-140 STAT_DPERROR A DIGIPASS error has occurred General-purpose failure of a DIGIPASS oper-
ation such as OTP verification, Reset PIN,
Unlock, etc. This is normally accompanied by
a more specific error code and message from
the IDENTIKEY Authentication Server library.
-150 STAT_VDP_DELIVERY_FAILED Delivery of the Virtual DIGIPASS one- A Virtual DIGIPASS OTP was generated suc-
time password failed cessfully, but delivery by text message failed.
A separate message will give more details
about the failure.
-200 STAT_LICENCE_EXP The license has expired The license key has an expiration date set,
and the date has passed. A permanent
license key must be obtained.
-201 STAT_INVLICENCE The license data are invalid One of the details embedded into the license
key is invalid for the component in which it is
being loaded. The component will not be able
to use the license key. This may be the IP
address, the component type, or any other
detail that can be seen in the license key text.
-202 STAT_LICENCE_INVSIG The License Key is corrupted The signature at the bottom of the license key
is invalid. This would typically occur if the
license key details were modified in any way.
-250 STAT_NEEDSKEY Decryption has failed - no Storage Key Some encrypted data has been created or
is specified in the Encryption Settings modified using configured, rather than
default, encryption settings. This error
occurs when that data is read by a com-
ponent that does not have configured encryp-
tion settings – the component is therefore
unable to decrypt the data.
-251 STAT_WRONG_CIPHER Decryption has failed - an incorrect Some encrypted data has been created or
Cipher is specified in the Encryption modified using differently configured
Settings encryption settings. This error occurs when
that data is read by a component with con-
figured encryption settings that use a dif-
ferent Cipher Name – the component is
therefore unable to decrypt the data.
-252 STAT_DECRYPT_FAILURE Decryption has failed - an incorrect Some encrypted data has been created or
Storage Key is specified in the Encryp- modified using differently configured
tion Settings encryption settings. This error occurs when
that data is read by a component with con-
figured encryption settings that use a dif-
ferent Storage Key – the component is
therefore unable to decrypt the data.
-350 STAT_DISCARD_REQUEST The request received was discarded A replication update that was received was
found to be superseded by a later change. In
this case, the update is discarded, as it is no
longer relevant.
-351 STAT_RETRY_REQUEST The request received must be retried A replication update that was received could
not be applied immediately. In this case, the
update is rejected. The retry mechanism at
the source server will re-send the update,
according to its configuration settings.
-352 STAT_INVHASH A replication queue entry had an invalid When an entry was read from the replication
hash value queue before sending, its integrity hash
value check failed. This suggests that the
queue entry may have been modified since it
was added to the queue. In this case, the
queue entry is not trusted, and an error is
reported.
-353 STAT_REPLQUEUE_FULL The replication queue is full An operation failed because it needed to
update the database, but the update could
not be added to the Replication queue. If the
queue is full, no database updates are
allowed, to avoid the databases from being
pushed too far out of synchronization.
-400 STAT_NOTAVAIL There was no comms descriptor avail- The comms descriptor map has not been
able loaded. (Support)
-401 STAT_ADDR_RESOLVE The supplied address could not be Name resolution problem, i.e.a problem in
resolved the DNS, the netbios etc.
-403 STAT_DESC_STATE Descriptor was in the wrong state Such a wrong state can for instance be to try
binding the socket twice.
-408 STAT_INV_DESCRIPT The comms descriptor is not valid An invalid comms descriptor can for instance
be that the socket has not been created.
-450 STAT_INVKEY The key received was invalid The encryption key is invalid.
-500 STAT_ALREADY_STARTED The Service was already started When trying to start a service, the service
was already running.
-501 STAT_ALREADY_STOPPED The Service was already stopped When trying to stop a service, the service
was not running.
-550 STAT_MALFORMED_DATA The config file/registry data could not This error may be returned when a corrupt
be read configuration file is used.
-600 STAT_RAD_INVATTRIB One of the RADIUS attributes was the RADIUS attribute field layout is invalid.
invalid
-601 STAT_RAD_SIZE The action will result in a size limitation A buffer overflow would occur, this is only
being exceeded used within the RADIUS library
-700 STAT_OPEN_FAILED Failed to open handle Normally occurs when a file cannot be
opened.
-802 VDSERR_BLANK_PASSWORD Password was blank Can occur when attempting to verify a MS-
CHAP/MS-CHAP2 password when the sub-
sequently hashed password provided by the
used is equivalent to hashing a blank string,
i.e. the provided password is blank.
-1001 STAT_UNKNOWN_PKTSOURCE The packet is from an unknown source A client component does not exist for the cli-
ent who sent the packet.
-1002 VDSERR_NOSECRET The shared secret of the packet's There is no shared secret within the client
source is unknown component for the peer which sent this
packet.
-1003 STAT_RAD_BADAUTH Incorrect response authenticator The response packet returned from the
RADIUS server bears an incorrect authen-
ticator.
-1005 STAT_RAD_BADADDRESS The packet is not from the address The response from the back end does not
sent to match the source address to which the
request was sent.
-5301 STAT_INCSCHEMA
-10057 UA_USERID_TOO_LONG User ID is longer than 255 characters. The maximum user ID length has been
exceeded.
-10059 UA_PASSWORD_TOO_LONG Password is longer than 255 char- The maximum password length has been
acters. exceeded.
-10060 UA_UNAME_TOO_LONG User name is longer than 64 char- The maximum user name length has been
acters. exceeded.
-10061 UA_SERIAL_TOO_LONG Serial Number is longer than 10 char- The maximum serial number length has
acters. been exceeded. The serial number must be
10 characters, with no dashes (-) and with
leading zeros (0) to make it up to 10 char-
acters.
-10062 UA_SERIAL_TOO_SHORT Serial Number is less than 10 char- The minimum Serial Number length has not
acters long. been provided. Serial Number must be 10
characters, with no dashes (-) and with lead-
ing zeros (0) to make it up to 10 characters.
-10063 UA_SERIAL_INVALID_CHARS Serial Number contains non-alpha- The Serial Number contains non-alpha-
numeric characters. numeric characters. Serial Number must be
10 alphanumeric characters, with no dashes
(-).
-10064 UA_ORGUNIT_TOO_LONG Organizational unit is longer than 255 The maximum organizational unit length has
characters. been exceeded.
-10065 UA_DOMAIN_TOO_LONG Domain is longer than 255 characters. The maximum domain length has been
exceeded.
-10066 UA_DN_TOO_LONG Distinguished Name is longer than The maximum LDAP Distinguished Name
1024 characters. (DN) length has been exceeded.
-10067 UA_MOBILE_TOO_LONG Mobile Number is longer than 64 char- The maximum length for the mobile phone
acters. number has been exceeded.
-10069 UA_USER_PARSE_ERROR A syntax error occurred reading from A syntax error occurred while reading lines
the file. from the import file: double-quotes were
missing; there are too many fields in the line;
a comma is missing between fields.
-10072 UA_PHONE_TOO_LONG Phone Number is longer than 64 char- The maximum phone number length has
acters. been exceeded.
-10073 UA_EMAIL_TOO_LONG Email Address is longer than 64 char- The maximum length for the e-mail address
acters. has been exceeded.
-10074 UA_INVALID_USER_DETAILS No user ID was given. Either the user A user ID must be supplied to import a user.
ID or, for Active Directory, the Distin- The only exception is when using Active Dir-
guished Name is needed to import a ectory, it is sufficient to give the distinguished
user. name instead of the user ID.
-10075 UA_MOBILE_INVALID_CHARS The Mobile No. is invalid. Only num- The mobile number is only allowed to include
bers, spaces, dashes (-) and brackets numeric characters, spaces, dashes(-) and
are allowed with a + at the start to indic- brackets (){}[]. In addition a + is allowed
ate a country code if needed. at the start for the country code.
-10076 UA_PHONE_INVALID_CHARS The Phone No. is invalid. Only num- The phone number is only allowed to include
bers, spaces, dashes (-) and brackets numeric characters, spaces, dashes(-) and
are allowed with a + at the start to indic- brackets (){}[]. In addition a + is allowed
ate a country code if needed. at the start for the country code.
-10077 UA_EMAIL_INVALID_CHARS The specified email address contains The e-mail address is only allowed to include
invalid characters and is not in the form alphanumeric characters, @, dots (.), under-
user@domain. scores (_) and dashes (-).
-10078 UA_USER_HEADER_ERROR The Field Header was not found or The first line of an import file must be a
invalid when reading from the file. header line. The header line is a comma-sep-
arated list of field names, indicating which
fields are included in every other line of the
file.
0 No error
<all neg- <Error Code> The status codes from -1 downwards match
ative to a corresponding error code.
codes>
1000 STAT_INVCREDENTIALS The credentials were invalid General-purpose failure due to invalid user
name or password, when a more specific
status is unavailable.
1002 STAT_GROUPCHK The user failed the Windows Group The IDENTIKEY Authentication Server rejec-
Check ted an authentication request due to the Win-
dows Group Check failing. This can occur
when the effective Windows Group Check
option is Authenticate listed groups, reject
others.
1004 STAT_EXP_CHALLENGE The challenge has expired A response to challenge has been given, but
the expiration time for the challenge has
expired. The default expiration time is one
minute, however this can be configured in
the configuration file VASCO/Challenge-
Cache/Max-Age setting (in seconds).
1005 STAT_PERMISSION The user does not have permission to General-purpose failure of an administration
perform the specified action command when the administrator does not
have sufficient privileges to carry out the com-
mand.
1007 STAT_LOCKED The user account is locked The DIGIPASS user account is locked. This is
normally due to consecutive login failures, as
determined by the policy setting User Lock
Threshold. Alternatively, the administrator
can actively lock the account.
1008 STAT_REPLAY The one-time password has already This status code occurs specifically when an
been used OTP is rejected because it has already been
used. It may also occur when the OTP has not
been used but is older than the most recently
used OTP.
1009 STAT_DISABLED The user account is disabled The DIGIPASS user account is disabled. This
may be because the administrator has act-
ively disabled the account, or because the cor-
responding Windows user account has
become disabled or expired.
1010 STAT_USER_UNKNOWN No user account was found An authentication request was rejected
because no DIGIPASS user account was
found and the policy requires local authen-
tication.
1011 STAT_LOCAL_PASSWORD_ The static password was incorrect As part of local authentication, verification of
MISMATCH the static password failed.
1012 STAT_OTP_INCORRECT The one-time password was incorrect Verification of the OTP failed. More specific
details may be found in the VACMAN Con-
troller error code and message.
1013 STAT_CHALLENGE_INVALID The challenge was invalid A response to a challenge was given, but the
challenge was not the latest one issued for
that DIGIPASS. This is controlled by the Check
Challenge Policy setting.
1014 STAT_GRACE_PERIOD_ The DIGIPASS grace period has expired A user attempted to log in with their static
EXPIRED password, but their grace period had already
expired. They have to use a DIGIPASS to log
in.
1015 STAT_BVDP_NOT_ALLOWED Backup Virtual DIGIPASS is not allowed A user attempted to request a Backup Virtual
DIGIPASS OTP, but they were not permitted.
This would normally occur when either:
1016 STAT_DIGIPASS_NOT_ The DIGIPASS is not available A user attempted Self-Assignment, but the
AVAILABLE DIGIPASS they requested either could not be
found within the search scope or was already
assigned to someone else.
1017 STAT_INVALID_MDC_ The user account has no mobile number A user requested a Primary or Backup Virtual
SETTINGS / STAT_INVALID_ for Virtual DIGIPASS DIGIPASS OTP, but it could not be delivered
VDP_SETTINGS because the user account had no mobile
phone number. In Active Directory this is the
first mobile number in the record.
1018 STAT_VDP_PASSWORD_ No password was supplied for a Virtual A user attempted a Virtual DIGIPASS login,
MISSING DIGIPASS login but did not enter a password in the second
stage of the login.
1019 STAT_CONFIRM_PASSWORD_ The new password confirmation failed In a password change request, the new pass-
MISMATCH word was not confirmed correctly.
1021 STAT_BACKEND_PWD_ Back-end authentication reported that Back-End Authentication (e.g. Windows)
EXPIRED the password has expired failed because the password was correct but
it has expired.
1024 STAT_PASSWORD_FAIL_ The static password failed to comply with The following are violations of the password
STRENGTH_CHECK the strength rules of IDENTIKEY strength rules:
Authentication Server. Please check your
policy settings. n Password length is incorrect.
n Password does not contain a suf-
ficient number of unique char-
acters.
n The same password has already
been used (too) recently.
n The password does not comply
with any other of the password
policy requirements.
1026 STAT_PASSWORD_EXPIRED The static password for local authen- The user attempted to login but the static
tication in mode DIGIPASSor Password password has expired.
has expired.
1030 STAT_INVALID_POLICY The policy was invalid An authentication request was rejected
because the applicable policy had invalid set-
tings or failed to load. This should not occur,
but is possible due to the delay in Active Dir-
ectory replication for example. The two main
ways in which a policy can become invalid
are:
1031 STAT_SELF_ASSIGN_ The policy does not allow a self-assign- A user attempted Self-Assignment, but it is
DISABLED ment attempt not permitted under the policy.
1032 STAT_HASH_PWDS_ Hashed passwords cannot be verified by An authentication request could not be pro-
DISALLOWED Windows cessed successfully because Back-End
Authentication using Windows was
required, but the user's password was
hashed. It is not possible to verify hashed
passwords with Windows. This can occur
when a CHAP-based protocol is used – this
includes CHAP, MS-CHAP, MS-CHAP2, EAP-
MD5 and other more complex protocols that
utilize a one-way hash of the password
entered by the user.
1033 STAT_DIGIPASS_MUST_BE_ A DIGIPASS must be used The effective Local Authentication setting is
USED DIGIPASS Only and the user tried to log in
with a static password.
1035 STAT_NO_CHALLRESP_FOR_ Challenge/Response is not supported by This status code can only occur in the
W2K / STAT_NO_CHALLRESP_ Windows 2000 DIGIPASS plug-in for Microsoft Internet
FOR_W_2_K Authentication Service. For Windows 2000 a
product limitation inhibits the support of the
Challenge/Response mode. This will occur if
the user has attempted to request a chal-
lenge.
1036 STAT_1STEP_CR_DISABLED / 1-Step Challenge/Response is disabled A request was made to generate a random
STAT_1_STEP_CR_DISABLED challenge for 1-step Challenge/Response,
but the applicable policy does not have 1-step
Challenge/Response enabled or does not spe-
cify the challenge length and check digit indic-
ator.
1037 STAT_AUTOLEARN_DISABLED Password Autolearn is disabled A request was made to update a user's
stored password, but Password Autolearn is
disabled, so the update is not permitted. Pass-
word Autolearn must be enabled for the pass-
word update request to be processed.
1038 STAT_SOURCE_LOCATION_ The administration session ID is not An administration command has been
MISMATCH known at this location received, but the internal session ID is not
recognized at the location from which the
command came. This can only occur by
attempting to reuse a session ID from another
location.
1039 STAT_ADMIN_SESSION_ The administration session is no longer An administration command has been
STOPPED active received, but the session has stopped or is
unrecognized. This can occur due to an idle
timeout, a maximum session length timeout
or a restart of the IDENTIKEY Authentication
Server.
1040 STAT_NO_CHALLRESP_FOR_ Back-end authentication returned a Chal- This can occur when the IDENTIKEY
PWDPROXY lenge that cannot be handled Authentication Server forwards a request to
a RADIUS Server and the RADIUS Server
responds with an Access-Challenge. An
Access-Challenge can only be handled when
the IDENTIKEY Authentication Server for-
wards the password unmodified to the
RADIUS Server. If the IDENTIKEY Authentic-
ation Server verifies an OTP and forwards
the static password to the RADIUS Server, it is
not possible to handle an Access-Challenge
from the RADIUS Server.
1041 STAT_DIGIPASS_NOT_FOUND No DIGIPASS was found for the given During a Self-Assignment attempt, the serial
Serial Number number provided by the user was not found
in the data store. This mainly occurs when
the serial number is entered incorrectly. It
can also occur because the DIGIPASS record
is not in the user's domain or organizational
unit.
1042 STAT_NO_BACKEND_FOR_ Self-Assignment was attempted but Self-Assignment is not allowed without Back-
SELF_ASSIGN Back-End Authentication did not occur to End Authentication. This is required to val-
authenticate the static password idate the static password.
1050 STAT_REACTIV_NOT_ Reactivation is not allowed A reactivation attempt was refused for one of
ALLOWED the following reasons:
1051 STAT_TOO_MANY_DIGIPASS Multiple DIGIPASS found where a single An activation attempt was made where the
DIGIPASS was required user had two or more DIGIPASS that could be
used. The activation request did not specify
which DIGIPASS should be used to handle the
request.
1052 STAT_NO_PROV_ The user account has no static password If no Local Authentication or Back-End
PASSWORD_DEFINED to encrypt the activation code Authentication is done during an activation
request, a static password is required from
the DIGIPASS user account. The password is
used to encrypt the activation code.
1053 STAT_NO_DP_FOR_ASSIGN No DIGIPASS was available for assign- No available DIGIPASS was found for the Pro-
ment visioning Register request. The DIGIPASS
must be capable of activation and meet the
DIGIPASS restrictions in the policy settings if
any.
1054 STAT_GEN_ACTIVATION_ Error generating activation code Generation of an activation code for pro-
CODE visioning failed.
1060 STAT_SIGNATURE_ The Signature failed validation Verification of the signature failed.
INCORRECT
1061 STAT_SIGNATURE_REPLAY The Signature has already been used This status code occurs specifically when a
signature is rejected because it has already
been used. It may also occur when the sig-
nature has not been used but is older than
the most recently used signature.
1062 STAT_DP_NOT_HOSTCONF_ A Host/Confirmation Code is required but For an authentication request, a host code
CAPABLE the DIGIPASS Application is not able to was required to be returned. The DIGIPASS
generate it Application for which the OTP was validated
was not capable of generating a host code.
1090 STAT_MISSING_BACKEND_ INPUT missing: Back-End Protocol ID The back- end server group is missing a
PROTOCOL back-end protocol ID.
n The DIGIPASS authenticator is
already bound to a device.
n The device cannot be bound.
n The activation data cannot be
generated.
1120 STAT_NOTIFICATION_ A notification for delayed activation could In addition, an audit message W-009002 is
DELIVERY_FAILED not be sent, because no destination attrib- recorded.
ute is specified in the user account.
1121 STAT_USER_SYNC_FAILED User information attribute syn- In addition, an audit message W-016004 is
chronization failed. recorded.
1122 STAT_BACKEND_ The password does not comply with the The following are violations of the password
PASSWORD_FAIL_ strength rules of the back end. strength rules:
STRENGTH_CHECK
n Password length is incorrect.
n Password does not contain a suf-
ficient number of unique char-
acters.
n The same password has already
been used (too) recently.
n The password does not comply
with any other of the password
policy requirements.
1123 STAT_DATA_RECORD_ Data migration is enabled, but the migra- In addition, an audit message E-013004 is
VERSION_UNSUPPORTED tion subsystem is unable to handle the recorded.
data record. This usually happens if the
record data version is unsupported.
1124 STAT_DATA_RECORD_ Data migration is enabled, but the migra- In addition, an audit message E-013003 is
MIGRATION_FAILED tion subsystem cannot migrate the data recorded.
record. This usually happens if the data
migration failed due to an error.
1127 STAT_USER_CANCEL The operation was canceled by the user. When the user cancels the authentication on
the client-side, the relevant authentication
command is failed, and this status code is
returned.
1128 STAT_NEEDS_APPROVAL The operation is pending and awaiting If the respective command has been
approval by an entitled administrator executed the first time, in addition, an audit
(maker–checker authorization). message I-030010 is recorded.
1129 STAT_WRONG_ADMIN An administrator other than the one who In addition, an audit message I-001003 is
scheduled a pending operation request recorded.
attempted to finally execute the approved
pending operation. Only the admin-
istrator who initially created the pending
operation can complete it.
3001 STAT_DP_CHALLENGE A DIGIPASS Challenge was returned This status code is the standard code when a
challenge is issued and does not indicate any
kind of error.
3002 STAT_NO_CHALLENGE No challenge was identified for the A response to a challenge was given, but no
authentication challenge could be found. The most likely
reason for this to occur is that the challenge is
too old and has been removed from the chal-
lenge cache. It can also occur if no challenge
key was supplied with which to look up the
challenge.
3003 STAT_BACKEND_CHALLENGE Back-end authentication returned a Chal- This occurs when a RADIUS Server responds
lenge with an Access-Challenge, in a case where
IDENTIKEY Authentication Server can
handle it.
5001 STAT_NOT_IN_GROUPS The user failed the Windows Group IDENTIKEY Authentication Server decided
Check not to handle an authentication request due
to the Windows Group Check failing. This can
occur when the effective Windows Group
Check option is Pass requests for users not
in listed groups back to host system.
5002 STAT_NO_LOCAL_OR_ Neither local nor back-end authentication IDENTIKEY Authentication Server decided
BACKEND_AUTH was done due to policy and/or user set- not to handle an authentication request
tings because the effective Local Authentication
and Back-End Authentication settings were
both None.
5003 STAT_DP_EXIST_AS_DIFF_ DIGIPASS exists as different DIGIPASS The DIGIPASS authenticator used exists as a
TYPE type different DIGIPASS type in the system.