DIGIPASS Gateway Integration Guide
DIGIPASS Gateway Integration Guide
Integration Guide
Version: 5.7
Copyright Notice
Copyright © 2012–2023 OneSpan North America, Inc. All rights reserved.
Trademarks
OneSpan™, DIGIPASS® and CRONTO® are registered or unregistered trademarks of OneSpan North America Inc.,
OneSpan NV and/or OneSpan International GmbH (collectively "OneSpan") in the U.S. and other countries.
OneSpan reserves all rights to the trademarks, service marks and logos of OneSpan and its subsidiaries.
All other trademarks or trade names are the property of their respective owners.
Intellectual Property
OneSpan Software, documents and related materials (“Materials”) contain proprietary and confidential information.
All title, rights and interest in OneSpan Software and Materials, updates and upgrades thereof, including software
rights, copyrights, patent rights, industrial design rights, trade secret rights, sui generis database rights, and all other
intellectual and industrial property rights, vest exclusively in OneSpan or its licensors. No OneSpan Software or Mater-
ials 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 OneSpan in writing.
Disclaimer
OneSpan accepts no liability for the accuracy, completeness, or timeliness of content, or for the reliability of links to
and content of external or third party websites.
OneSpan shall have no liability under any circumstances for any loss, damage, or expense incurred by you, your com-
pany, or any third party arising from the use or inability to use OneSpan Software or Materials, or any third party
material made available or downloadable. OneSpan will not be liable in relation to any loss/damage caused by modi-
fication of these Legal Notices or content.
Reservation
OneSpan reserves the right to modify these Notices and the content at any time. OneSpan likewise reserves the right
to withdraw or revoke consent or otherwise prohibit use of the OneSpan Software or Materials if such use does not
conform to the terms of any written agreement between OneSpan and you, or other applicable terms that OneSpan
publishes from time to time.
Contact us
Visit our website: https://www.onespan.com
Resource center: https://www.onespan.com/resource-center
Technical support and knowledge base: https://www.onespan.com/support
If there is no solution in the knowledge base, contact the company that supplied you with the OneSpan product.
Date: 2023-07-09
Contents
1 Introduction 10
2.1 Overview 14
3 Provisioning 18
i
DIGIPASS Gateway Integration Guide
3.15 MdlRegister (service) [v2] 51
4 Online authentication 75
ii
DIGIPASS Gateway Integration Guide
5.6 retrieveLogin (service) 94
7 Notification 110
iii
DIGIPASS Gateway Integration Guide
Glossary 132
Index 135
iv
DIGIPASS Gateway Integration Guide
Figures
v
DIGIPASS Gateway Integration Guide
Tables
vi
DIGIPASS Gateway Integration Guide
Table 22: MdlActivate parameters 45
vii
DIGIPASS Gateway Integration Guide
Table 45: signature return values 72
viii
DIGIPASS Gateway Integration Guide
Table 68: cancelAuthSignatureRequest parameters 106
Table 80: DIGIPASS Gateway service mapping (DIGIPASS Gateway 4 vs. 5) 130
ix
DIGIPASS Gateway Integration Guide
Introduction
1
Thank you for reading the DIGIPASS Gateway Integration Guide. This document con-
tains information you will need when integrating DIGIPASS Gateway.
This guide provides information about the requests handled by DIGIPASS Gateway. It
assumes that you have thorough knowledge of either Mobile Authenticator Studio or
OneSpan Mobile Security Suite.
1 Introduction
10
DIGIPASS Gateway Integration Guide
1.1 DIGIPASS Gateway documentation suite
The DIGIPASS Gateway product documentation comprises the following documents:
1 Introduction
11
DIGIPASS Gateway Integration Guide
1.2 About this document
…perform a push and login authentication with a mobile 5 Push and login
application integrating OneSpan Mobile Security Suite
…perform data signing transactions using push noti- 6 Push and sign
fications with a mobile application
To recognize the particular guide you are referring to, please include the following
information in your subject header: DPGW-IG-5.7.0en-2023-07-09
Please note that product support is not offered through the above email address.
1 Introduction
12
DIGIPASS Gateway Integration Guide
Integrate DIGIPASS Gateway
2
2.1 Overview 14
<dpgateway_host>:<dpgateway_port>/<context_path>/rest/v2/<functionality>↲
/<service>
where:
l <context_path> is the web application context within your web server. If you install
DIGIPASS Gateway using the installation package, it is deployed as the default
web application (ROOT), hence <context_path> is empty. If you deploy the web
application manually to an existing web server, <context_path> must be specified
respectively in the requests.
Clients need to use the POST method to submit service requests, e.g:
POST https://192.0.2.1:11080/rest/v2/provisioning/getServerTime
2.1.1 Authentication
To use the DIGIPASS Gateway services, the mobile application must authenticate
against DIGIPASS Gateway by using basic HTTP authentication. For this purpose, two
separate API keys are generated when setting up DIGIPASS Gateway:
l The front-end API key is required for services typically used by mobile applic-
ations, e.g. OneSpan Mobile Authenticator.
l The back-end API key is required for services typically exposed to the solution's
back-end side, e.g. the banking website.
Which API key is specifically required by each command is specified in the API ref-
erence.
The API key must be used as the user name for authentication. The password field is
ignored and can be left empty.
EXAMPLE: Using an API key of 123456, you need to add the following HTTP header
field to your request:
For more information about installing DIGIPASS Gateway, refer to the DIGIPASS Gate-
way Getting Started Guide.
CAUTION: The DIGIPASS Gateway API key is sensitive data and should be properly
protected in the source code of the mobile application. We recommend encrypting it
using the OneSpan White-Box Cryptography (WBC) SDK provided as part of the
OneSpan Mobile Security Suite package.
NOTE: You need the front-end API key when registering for a push notification
account on the OneSpan Customer Portal. Note that the OneSpan Customer Portal
refers to the API key as DP Gateway Password.
Mobile applications must be activated to enable the Digipass security features (e.g.
push and login). The online activation handles secure provisioning of secret keys
from DIGIPASS Gateway to the mobile application.
3 Provisioning
18
DIGIPASS Gateway Integration Guide
3.14 MdlAddDevice (service) [v1] 49
3 Provisioning
19
DIGIPASS Gateway Integration Guide
3.1 Online activation
The mobile application must be activated to enable the Digipass security features (e.g.
push and login). The Online activation handles the secure provisioning of secret keys
from DIGIPASS Gateway to the mobile application.
The user must initiate the online activation process via the User Self-Management
Website. This website generates an image that contains the activation credentials (see
Table 2). To complete the online activation, the user must scan the image with the
mobile application. The online activation requires four network connections to
DIGIPASS Gateway (see Figure 1).
3 Provisioning
20
DIGIPASS Gateway Integration Guide
the OneSpan SDKs. Furthermore, it does not display the call by DIGIPASS Gateway
and the User Self-Management Website to OneSpan Authentication Server.
For more information, refer to the OneSpan Mobile Security Suite documentation.
CAUTION: When calling the GenerateSRPSessionKey method of the DSAPP SDK, the
registration identifier must be provided as a parameter for the user identity.
Parameter Description
Length: 2 digits
Possible values:
l 01. Current encoding.
Length: 2 digits
Possible values:
l 01. Activation image.
3 Provisioning
21
DIGIPASS Gateway Integration Guide
Table 2: Activation image parameters (continued)
Parameter Description
Registration identifier The unique identifier of a user for a given activation process. It will be
used during the entire activation process.
User password Data shared between the client and the server to secure the activ-
ation process. It will be used during the activation process.
DIGIPASS Gateway The unique identifier for DIGIPASS Gateway if the mobile application
identifier uses the OneSpan cloud infrastructure to redirect the network con-
nections to a given instance of DIGIPASS Gateway.
This identifier must be ignored if the mobile application does not use
the OneSpan cloud infrastructure, otherwise it must be stored in the
persistent memory.
EXAMPLE:
"01;01;myUserID;myDomain;myRegistrationIdentifier;myActivationPassword;123456789A"
3 Provisioning
22
DIGIPASS Gateway Integration Guide
3.2 DSAPPActivate (service)
API version: 2
3.2.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/DSAPPActivate
3.2.2 Request
Table 3: DSAPPActivate parameters
Example
1 {
2 "registrationIdentifier": "e3wfISG9",
3 "encryptedServerNonce": "E7D63951460ACB3EC08C5AF618FB29D1",
4 "clientInitialVector": "45D8319F02E4B42C5EA067A6A0593B20",
5 "derivationCode": "591107863614246"
6 }
3 Provisioning
23
DIGIPASS Gateway Integration Guide
3.2.3 Response
Table 4: DSAPPActivate return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "userID": "jane.doe",
12 "domain": "myDomain.com",
13 "serialNumber": "VDS1000003"
14 }
15 }
3 Provisioning
24
DIGIPASS Gateway Integration Guide
3.3 DSAPPGenerateActivationData (service)
API version: 2
3.3.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning
/DSAPPGenerateActivationData
3.3.2 Request
Table 5: DSAPPGenerateActivationData parameters
Possible values: 1, 2
3 Provisioning
25
DIGIPASS Gateway Integration Guide
Example
1 {
2 "dsAppVersion": 2,
3 "registrationIdentifier": "123456789A",
4 "publicKey": "D20AFA7756BD4CBDAF495D8CA4805305...",
5 "initialVector": "07D32029F8FA298E0A354927106F753C"
6 }
3.3.3 Response
Table 6: DSAPPGenerateActivationData return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
serverTimeResult A JSON object that contains the current server time as Unix time.
This is the number of seconds that have elapsed since 00:00:00
Thursday, 1 January 1970, Coordinated Universal Time (UTC). Leap
seconds are not counted.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "serverTimeResult":
10 {
11 "serverTime": 1547472526
12 },
13 "result":
14 {
15 "userID": "jane.doe",
16 "domain": "mydomain.com",
17 "serverIV": "99565048F29D69AFFB9BBF7C34386505",
3 Provisioning
26
DIGIPASS Gateway Integration Guide
18 "encryptedNonces": "DA3AAE32102BE4FA95AF1B3D25667B11",
19 "encryptedServerPublicKey": "D9C35501B0B6AF4BDE9CDEED0FC59E6A...",
20 "activationMessage": "DEC85FF288C11DC573BC60B78B16056D...",
21 "activationMessageIV": "20E35B72D523BEE6A10FB0BA3F846795",
22 "eventReactivationCounter": "",
23 }
24 }
3 Provisioning
27
DIGIPASS Gateway Integration Guide
3.4 DSAPPMdlAddDevice (service)
API version: 2
The DSAPPMdlAddDevice service registers a new device that supports Secure Channel
activation.
3.4.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning
/DSAPPMdlAddDevice
3.4.2 Request
Table 7: DSAPPMdlAddDevice parameters
3 Provisioning
28
DIGIPASS Gateway Integration Guide
Example
1 {
2 "registrationIdentifier": "e3wfISG9",
3 "nonce": "5B983EE185B954A461CEFEECEBBBF214",
4 "initialVector": "43B525454EFA11CE0F5D1EBFAC5D9127",
5 "deviceCode": "6887133123"
6 "description": "myDigipassInstance"
7 }
3.4.3 Response
Table 8: DSAPPRegister return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "instanceActivationMessage": "011665337766495347390016546230343861..."
12 }
13 }
3 Provisioning
29
DIGIPASS Gateway Integration Guide
3.5 DSAPPRegister (service)
API version: 2
3.5.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/DSAPPRegister
3.5.2 Request
Table 9: DSAPPRegister parameters
Possible values: 1, 2
Example
1 {
2 "dsAppVersion": 2,
3 "userID": "jane.doe",
4 "domain": "mydomain.com",
5 "staticPassword": "myPassword"
6 }
3 Provisioning
30
DIGIPASS Gateway Integration Guide
3.5.3 Response
Table 10: DSAPPRegister return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "registrationIdentifier": "e3wfISG9",
12 "activationPassword": "Tb048aX1",
13 "credentialsMessage": "88D998CD6B8FE3989CB6E342854DEA4C"
14 }
15 }
3 Provisioning
31
DIGIPASS Gateway Integration Guide
3.6 DSAPPSRPGenerateActivationData (service) [v2]
API version: 2
3.6.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning
/DSAPPSRPGenerateActivationData
3.6.2 Request
Table 11: DSAPPSRPGenerateActivationData parameters
Example
1 {
2 "registrationIdentifier": "myRegistrationID",
3 "clientEvidenceMessage": "C2ADAF66D93539AD7188555ABC45B886..."
4 }
3 Provisioning
32
DIGIPASS Gateway Integration Guide
3.6.3 Response
Table 12: DSAPPSRPGenerateEphemeralKey return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "serverEvidenceMessage": "F148FED2B888BFBFB4C9D84BB380B1B2...",
12 "encryptedLicenseActivationMessage": "276FE50E49360E0BAC7AE0CE205...",
13 "encryptedCounter": "73BD6BC4C912DAD3B4F1460FF50268D9",
14 "mac": "15765B12A44DFCE58FAC322FD5BFA979..."
15 }
16 }
3 Provisioning
33
DIGIPASS Gateway Integration Guide
3.7 DSAPPSRPGenerateActivationData (service) [v1]
API version: 1
3.7.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/activation
/DSAPPSRPGenerateActivationData
3.7.2 Request
Table 13: DSAPPSRPGenerateActivationData parameters
Example
1 {
2 "registrationID": "myRegistrationID",
3 Provisioning
34
DIGIPASS Gateway Integration Guide
3 "clientEvidenceMessage": "BCD6E385FDE54C9D5C1C7523035C12A6..."
4 }
3.7.3 Response
Table 14: DSAPPSRPGenerateActivationData return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS",
4 "serverEvidenceMessage": "E38CCA22F307A15DB94C3639256975C3...",
5 "encryptedLicenseActivationMessage": "DBBD11F7F779D2619DEBFD14F98658...",
6 "encryptedCounter": "0FC645CEF184D753",
7 "mac": "F3142357A58534F8A37C7C8F243CE354..."
3 Provisioning
35
DIGIPASS Gateway Integration Guide
8 }
3 Provisioning
36
DIGIPASS Gateway Integration Guide
3.8 DSAPPSRPGenerateEphemeralKey (service) [v2]
API version: 2
3.8.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning
/DSAPPSRPGenerateEphemeralKey
3.8.2 Request
Table 15: DSAPPSRPGenerateEphemeralKey parameters
Example
1 {
2 "registrationIdentifier": "myRegistrationID",
3 "clientEphemeralPublicKey": "0BB2EA6580A127320F3C6341CEF75367..."
4 }
3 Provisioning
37
DIGIPASS Gateway Integration Guide
3.8.3 Response
Table 16: DSAPPSRPGenerateEphemeralKey return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the ephemeral public key and the salt.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "serverEphemeralPublicKey": "661CF5095BA2C5C0679B7BCEB516BADE...",
12 "salt": "8F1958E25B9749FDBC28362CEED92C01"
13 }
14 }
3 Provisioning
38
DIGIPASS Gateway Integration Guide
3.9 DSAPPSRPGenerateEphemeralKey (service) [v1]
API version: 1
3.9.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/activation
/DSAPPSRPGenerateEphemeralKey
3.9.2 Request
Table 17: DSAPPSRPGenerateEphemeralKey parameters
Example
1 {
2 "registrationID": "myRegistrationID",
3 "clientEphemeralPublicKey": "589C8CC389883455EC0D2B484892974E..."
3 Provisioning
39
DIGIPASS Gateway Integration Guide
4 }
3.9.3 Response
Table 18: DSAPPSRPGenerateEphemeralKey return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS",
4 "serverEphemeralPublicKey": "C29DE535E89B04A1E17E984B9FF77458...",
5 "salt": "A23C9C3B2B8B734EBEF0EA1895F9E355"
6 }
3 Provisioning
40
DIGIPASS Gateway Integration Guide
3.10 getServerTime (service)
API version: 2
The getServerTime service retrieves the current server time as Unix time to be used in
activation and re-activation of Mobile Authenticator Studio.
The server time returned used the Unix time format (POSIX time or UNIX Epoch time),
i.e. the number of seconds that have elapsed since 00:00:00 Thursday, 1 January 1970,
Coordinated Universal Time (UTC), not counting leap seconds.
3.10.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/getServerTime
3.10.2 Request
The getServerTime service does not accept any parameters.
3.10.3 Response
Table 19: getServerTime return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the current server time as Unix time.
This is the number of seconds that have elapsed since 00:00:00
Thursday, 1 January 1970, Coordinated Universal Time (UTC). Leap
seconds are not counted.
3 Provisioning
41
DIGIPASS Gateway Integration Guide
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "serverTime": 1547556827
12 }
13 }
3 Provisioning
42
DIGIPASS Gateway Integration Guide
3.11 MdlActivate (service) [v2]
API version: 2
Authentication: The service is secured by the back-end and front-end API key.
The MdlActivate service validates the confirmation code generated by the authen-
ticator and finalizes the activation process.
3.11.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/MdlActivate
3.11.2 Request
Table 20: MdlActivate parameters
Example
1 {
2 "registrationIdentifier": "myRegistrationID",
3 "signature": "1234567890123456"
4 }
3 Provisioning
43
DIGIPASS Gateway Integration Guide
3.11.3 Response
Table 21: MdlActivate return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "userID": "jane.doe",
12 "domain": "myDomain.com",
13 "serialNumber": "VDS1000003"
14 }
15 }
3 Provisioning
44
DIGIPASS Gateway Integration Guide
3.12 MdlActivate (service) [v1]
NOTE: This command is deprecated! Use 3.11 MdlActivate (service) [v2] instead!
API version: 1
The MdlActivate service validates the confirmation code generated by the authen-
ticator and finalizes the activation process.
3.12.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/activation/MdlActivate
3.12.2 Request
Table 22: MdlActivate parameters
Example
1 {
2 "registrationID": "myRegistrationID",
3 "signature": "1234567890123456"
4 }
3 Provisioning
45
DIGIPASS Gateway Integration Guide
3.12.3 Response
Table 23: MdlActivate return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS"
4 }
3 Provisioning
46
DIGIPASS Gateway Integration Guide
3.13 MdlAddDevice (service) [v2]
API version: 2
Authentication: The service is secured by the back-end and front-end API key.
The MdlAddDevice service registers a new device that supports Secure Channel activ-
ation. It retrieves Activation Message 2 (instance).
3.13.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/MdlAddDevice
3.13.2 Request
Table 24: MdlAddDevice parameters
Example
1 {
2 "registrationIdentifier": "myRegistrationID",
3 "deviceCode": "12345678901234567890123456"
4 "description": "myDigipassInstance"
5 }
3 Provisioning
47
DIGIPASS Gateway Integration Guide
3.13.3 Response
Table 25: MdlAddDevice return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the instance activation message (i.e.
Activation Message 2).
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "instanceActivationMessage": "AA82DD554C7A39356FC033203A9F7EB6...",
12 }
13 }
3 Provisioning
48
DIGIPASS Gateway Integration Guide
3.14 MdlAddDevice (service) [v1]
NOTE: This command is deprecated! Use 3.13 MdlAddDevice (service) [v2] instead!
API version: 1
The MdlAddDevice registers a new device that supports Secure Channel activation. It
retrieves Activation Message 2 (instance).
3.14.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/activation/MdlAddDevice
3.14.2 Request
Table 26: MdlAddDevice parameters
Example
1 {
2 "registrationID": "myRegistrationID",
3 "deviceCode": "12345678901234567890123456"
4 }
3 Provisioning
49
DIGIPASS Gateway Integration Guide
3.14.3 Response
Table 27: MdlAddDevice return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS",
4 "instanceActivationMessage": "82A53BF7E525012E2488BA51E9E33655..."
5 }
3 Provisioning
50
DIGIPASS Gateway Integration Guide
3.15 MdlRegister (service) [v2]
API version: 2
3.15.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/provisioning/MdlRegister
3.15.2 Request
Table 28: MdlRegister parameters
Example
1 {
2 "userID": "jane.doe",
3 "domain": "mydomain.com",
4 "password": "myPassword"
5 }
3 Provisioning
51
DIGIPASS Gateway Integration Guide
3.15.3 Response
Table 29: MdlRegister return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "registrationIdentifier": "e3wfISG9",
12 "activationMessageImage": "BBED4D1C617F42C8D496B36F0137AE5E..."
13 }
14 }
3 Provisioning
52
DIGIPASS Gateway Integration Guide
3.16 activate (service)
API version: 1
Authentication: None.
The activate service generates an encrypted full activation data (XFAD) for a standard
authenticator or Activation Message 1 for a multi-device licensing (MDL) authenticator
using Digipass Software Advanced Provisioning Protocol (DSAPP) Version 1.
3.16.1 URL
https://<dpgateway_host>:<dpgateway_port>/activate
3.16.2 Request
Parameters to the service are passed via the URI query component.
3 Provisioning
53
DIGIPASS Gateway Integration Guide
Example
POST
https://192.0.2.1:11080/activate?RegistrationIdentifier=123456789A&PublicKey=D20
AFA7756BD4CBDAF495D8CA4805305D20AFA7756BD4CBDAF495D8CA4805305D20AFA7756BD4CBDAF4
95D8CA4805305D20AFA7756BD4CBDAF495D8CA4805305&InitialVector=07D32029F8FA298E0A35
4927106F753C
3.16.3 Response
The service returns an XML response message containing the result.
Example
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0" serverTime="1547472526">
3 <Activation
4 xfad="DEC85FF288C11DC573BC60B78B16056D..."
5 xerc="DA3AAE32102BE4FA95AF1B3D25667B11"
6 initialVector="20E35B72D523BEE6A10FB0BA3F846795"
7 serverPublicKey="D9C35501B0B6AF4BDE9CDEED0FC59E6A..."
8 nonces="99565048F29D69AFFB9BBF7C34386505"
9 userId="[email protected]" />
10 </DP4Mobile>
3 Provisioning
54
DIGIPASS Gateway Integration Guide
3.17 addDevice (service)
NOTE: This command is deprecated! Use 3.13 MdlAddDevice (service) [v2] instead!
API version: 1
Authentication: None.
The addDevice service registers a new device that supports Secure Channel activation.
It retrieves Activation Message 2 (instance).
3.17.1 URL
https://<dpgateway_host>:<dpgateway_port>/addDevice
3.17.2 Request
Parameters to the service are passed via the URI query component.
Example
POST
https://192.0.2.1:11080/addDevice?registrationID=vxcJRl7O&deviceCode=1234567890
3 Provisioning
55
DIGIPASS Gateway Integration Guide
3.17.3 Response
Table 32: addDevice return values
Example
1 {
2 "returnCode": 0,
3 "instanceActivationMessage": "AA82DD554C7A39356FC033203A9F7EB6..."
4 }
3 Provisioning
56
DIGIPASS Gateway Integration Guide
3.18 bind (service)
API version: 1
Authentication: None.
The bind service performs a provisioning activation operation using Digipass Software
Advanced Provisioning Protocol (DSAPP).
3.18.1 URL
https://<dpgateway_host>:<dpgateway_port>/bind
3.18.2 Request
Parameters to the service are passed via the URI query component.
3 Provisioning
57
DIGIPASS Gateway Integration Guide
Example
POST
https://192.0.2.1:11080/bind?RegistrationIdentifier=e3wfISG9&Nonce=E7D63951460AC
B3EC08C5AF618FB29D1&InitialVector=45D8319F02E4B42C5EA067A6A0593B20&DerivationCod
e=591107863614246
3.18.3 Response
The service returns an XML response message containing the result.
Example (Success)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0" />
Example (Failure)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="–1" message="The Registration Identifier could not be found
in the cache." />
3 Provisioning
58
DIGIPASS Gateway Integration Guide
3.19 instanceActivation (service)
API version: 1
Authentication: None.
The instanceActivation registers a new device that supports Secure Channel activation.
It retrieves Activation Message 2 (instance).
3.19.1 URL
https://<dpgateway_host>:<dpgateway_port>/instanceActivation
3.19.2 Request
Parameters to the service are passed via the URI query component.
3 Provisioning
59
DIGIPASS Gateway Integration Guide
Example
POST
https://192.0.2.1:11080/instanceActivation?RegistrationIdentifier=e3wfISG9&Devic
eCode=6887133123&InitialVector=43B525454EFA11CE0F5D1EBFAC5D9127&Nonce=5B983EE185
B954A461CEFEECEBBBF214
3.19.3 Response
The service returns an XML response message containing the result.
Example
1 <?xml version="1.0"?>
2
3 <DP4Mobile retCode="0">
4 <InstanceActivation
instanceActivationMessage="82A53BF7E525012E2488BA51E9E33655..." />
5 </DP4Mobile>
3 Provisioning
60
DIGIPASS Gateway Integration Guide
3.20 licenseActivation (service)
API version: 1
Authentication: None.
The licenseActivation service generates an encrypted full activation data (XFAD) for a
standard authenticator or Activation Message 1 for a multi-device licensing (MDL)
authenticator using Digipass Software Advanced Provisioning Protocol (DSAPP) Ver-
sion 2.
3.20.1 URL
https://<dpgateway_host>:<dpgateway_port>/licenseActivation
3.20.2 Request
Parameters to the service are passed via the URI query component.
3 Provisioning
61
DIGIPASS Gateway Integration Guide
Example
POST
https://192.0.2.1:11080/licenseActivation?RegistrationIdentifier=123456789A&Publ
icKey=D20AFA7756BD4CBDAF495D8CA4805305D20AFA7756BD4CBDAF495D8CA4805305D20AFA7756
BD4CBDAF495D8CA4805305D20AFA7756BD4CBDAF495D8CA4805305&InitialVector=07D32029F8F
A298E0A354927106F753C
3.20.3 Response
The service returns an XML response message containing the result.
Example
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0" serverTime="1547472526">
3 <LicenseActivation
4 encryptedLicenseActivationMessage="DEC85FF288C11DC573BC60B78B16056D..."
5 encryptedNonces="DA3AAE32102BE4FA95AF1B3D25667B11"
6 licenseActivationMessageIV="20E35B72D523BEE6A10FB0BA3F846795"
7 encryptedServerPublicKey="D9C35501B0B6AF4BDE9CDEED0FC59E6A..."
8 generateSessionKeyIV="99565048F29D69AFFB9BBF7C34386505"
9 userId="[email protected]" />
10 </DP4Mobile>
3 Provisioning
62
DIGIPASS Gateway Integration Guide
3.21 postActivation (service)
NOTE: This command is deprecated! Use 3.11 MdlActivate (service) [v2] instead!
API version: 1
Authentication: None.
The postActivation service validates the confirmation code generated by the authen-
ticator and finalizes the activation process.
3.21.1 URL
https://<dpgateway_host>:<dpgateway_port>/postActivation
3.21.2 Request
Parameters to the service are passed via the URI query component.
Example
POST
https://192.0.2.1:11080/postActivation?RegistrationIdentifier=cTlAXXq7&OTP=12345
6
3 Provisioning
63
DIGIPASS Gateway Integration Guide
3.21.3 Response
The service returns an XML response message containing the result.
Example (Success)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0" message="" />
Example (Failure)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="–1" message="The Registration Identifier could not be found
in the cache." />
3 Provisioning
64
DIGIPASS Gateway Integration Guide
3.22 register (service)
API version: 1
Authentication: None.
The register service performs a provisioning registration operation using Digipass Soft-
ware Advanced Provisioning Protocol (DSAPP) Version 1.
3.22.1 URL
https://<dpgateway_host>:<dpgateway_port>/register
3.22.2 Request
Parameters to the service are passed via the URI query component.
Example
POST
https://192.0.2.1:11080/[email protected]&StaticPassword=myP
assword
3.22.3 Response
The service returns an XML response message containing the result.
3 Provisioning
65
DIGIPASS Gateway Integration Guide
Example (Success)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0"
3 registrationIdentifier="e3wfISG9"
4 activationPassword="Tb048aX1"
5 credentialsMessage="88D998CD6B8FE3989CB6E342854DEA4C" />
Example (Failure)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="–2" message="The static password was incorrect" />
3 Provisioning
66
DIGIPASS Gateway Integration Guide
3.23 registerOffline (service)
NOTE: This command is deprecated! Use 3.15 MdlRegister (service) [v2] instead!
API version: 1
Authentication: None.
3.23.1 URL
https://<dpgateway_host>:<dpgateway_port>/registerOffline
3.23.2 Request
Parameters to the service are passed via the URI query component.
Example
POST
https://192.0.2.1:11080/[email protected]&password=myP
assword
3.23.3 Response
The service returns an XML response message containing the result.
3 Provisioning
67
DIGIPASS Gateway Integration Guide
Table 42: registerOffline return values
Example
1 <?xml version="1.0"?>
2 <DIGIPASSGateway retCode="0" message="Success"
3 registrationID="e3wfISG9"
4 crontoImage="BBED4D1C617F42C8D496B36F0137AE5E..." />
3 Provisioning
68
DIGIPASS Gateway Integration Guide
3.24 registerOnline (service)
API version: 1
Authentication: None.
3.24.1 URL
https://<dpgateway_host>:<dpgateway_port>/registerOnline
3.24.2 Request
Parameters to the service are passed via the URI query component.
Example
POST
https://192.0.2.1:11080/[email protected]&StaticPasswo
rd=myPassword
3.24.3 Response
The service returns an XML response message containing the result.
3 Provisioning
69
DIGIPASS Gateway Integration Guide
Example (Success)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="0" registrationIdentifier="e3wfISG9"
3 activationPassword="Tb048aX1"
4 credentialsMessage="88D998CD6B8FE3989CB6E342854DEA4C" />
Example (Failure)
1 <?xml version="1.0"?>
2 <DP4Mobile retCode="–2" message="The static password was incorrect" />
3 Provisioning
70
DIGIPASS Gateway Integration Guide
3.25 signature (service)
NOTE: This command is deprecated! Use 3.11 MdlActivate (service) [v2] instead!
API version: 1
Authentication: None.
The signature service validates the confirmation code generated by the authenticator
and finalizes the activation process.
3.25.1 URL
https://<dpgateway_host>:<dpgateway_port>/signature
3.25.2 Request
Parameters to the service are passed via the URI query component.
Example
POST https://192.0.2.1:11080/signature?registrationID=GtNr4OTi&signature=123456
3 Provisioning
71
DIGIPASS Gateway Integration Guide
3.25.3 Response
Table 45: signature return values
Example
{
"returnCode": 0
}
3 Provisioning
72
DIGIPASS Gateway Integration Guide
3.26 synchronize (service)
API version: 1
Authentication: None.
The getServerTime service retrieves the current server time as Unix time to be used in
activation and re-activation of Mobile Authenticator Studio.
The server time returned used the Unix time format (POSIX time or UNIX Epoch time),
i.e. the number of seconds that have elapsed since 00:00:00 Thursday, 1 January 1970,
Coordinated Universal Time (UTC), not counting leap seconds.
3.26.1 URL
https://<dpgateway_host>:<dpgateway_port>/synchronize
3.26.2 Request
The synchronize service does not accept any parameters.
3.26.3 Response
The service returns an XML response message containing the result.
//DP4Mobile/@serverTime A JSON object that contains the current server time as Unix time.
This is the number of seconds that have elapsed since 00:00:00
Thursday, 1 January 1970, Coordinated Universal Time (UTC). Leap
seconds are not counted.
3 Provisioning
73
DIGIPASS Gateway Integration Guide
Example
1 <?xml version="1.0"?>
2 <DP4Mobile serverTime="1547556827" />
3 Provisioning
74
DIGIPASS Gateway Integration Guide
Online authentication
4
Online authentication can be used when changing a password to validate the pre-
vious password of the user.
4 Online authentication
75
DIGIPASS Gateway Integration Guide
4.1 Online authentication
Online authentication refers to an authentication via direct validation of a one-time
password (OTP) by the authentication server. The mobile application can perform this
online authentication by using DIGIPASS Gateway after a successful user authen-
tication.
For more information, refer to the OneSpan Mobile Security Suite documentation.
4 Online authentication
76
DIGIPASS Gateway Integration Guide
4.2 authUser (service)
API version: 2
4.2.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/authentication/authUser
4.2.2 Request
Table 47: authUser parameters
Example
1 {
2 "userID": "jane.doe",
3 "domain": "mydomain.com",
4 "password": "123456"
5 }
4 Online authentication
77
DIGIPASS Gateway Integration Guide
4.2.3 Response
Table 48: authUser return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the resolved user information and the
serial number of the Digipass authenticator that is effectively used to
complete the authentication request.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "userID": "jane.doe",
12 "domain": "mydomain.com",
13 "orgUnit": "",
14 "serialNo": "VDS1000120-1"
15 }
16 }
4 Online authentication
78
DIGIPASS Gateway Integration Guide
4.3 online (service)
API version: 1
4.3.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/auth/online
4.3.2 Request
Table 49: online parameters
Example
1 {
2 "userID": "myUserID",
3 "domain": "myDomain",
4 "otp": "1234567890123456"
5 }
4 Online authentication
79
DIGIPASS Gateway Integration Guide
4.3.3 Response
Table 50: online return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS"
4 }
4 Online authentication
80
DIGIPASS Gateway Integration Guide
Push and login
5
1. Retrieve the login details related to the authentication session from DIGIPASS
Gateway.
a. Authenticate the user with a given authentication method (e.g. PIN or fin-
gerprint recognition).
b. Sign the login request and transmit the generated signature to DIGIPASS
Gateway.
The application server can now display the result of the authentication request to
the user on the website.
For more information, refer to the OneSpan Mobile Security Suite documentation.
Parameter Description
Length: 2 digits
Possible values:
l 01. Current encoding.
Length: 2 digits
Possible values:
l 03. Content is a challenge key for an authentication request.
Challenge key The unique identifier used by OneSpan Authentication Server to identify
a login request. It will be used during the entire login request process.
EXAMPLE: "01;03;0123456789"
Parameter Description
Length: 2 digits
Possible values:
l 01. Current encoding.
Parameter Description
Length: 2 digits
Possible values:
l 04. Login details.
Service name The variable specified by the application server when calling the authUser
method of OneSpan Authentication Server, triggering the push noti-
fication.
Crypto app index The index of the cryptographic application used to sign the login details.
Lenght: 1 digit
User identifier The unique identifier used by OneSpan Authentication Server to identify
a user. This must be stored in the persistent memory.
EXAMPLE: "01;04;myService;3;myUserID;myDomain"
If the user approves the login request and is successfully authenticated, the login
request must be signed with the Digipass SDK using the Secure Channel message
received from DIGIPASS Gateway that contains the login details.
If the user rejects the login request, the challenge key must be encrypted in a Secure
Channel message with the Digipass SDK.
API version: 2
The authUser service completes a pending push and login authentication. It resumes
an authentication request that the serving OneSpan Authentication Server instance
previously suspended during a SOAP call (authUser) from the application server.
5.2.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/authentication/push /authUser
5.2.2 Request
Table 53: authUser parameters
1 {
2 "userID": "jane.doe",
3 "domain": "mydomain.com",
4 "challengeKey": "0123456789",
5 "signature": "1234567890123456"
6 }
5.2.3 Response
Table 54: authUser return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the resolved user information and the
serial number of the Digipass authenticator that is effectively used to
complete the authentication request.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "userID": "jane.doe",
12 "domain": "mydomain.com",
13 "orgUnit": "",
14 "serialNo": "VDS1000120-1"
15 }
16 }
API version: 2
The cancelAuthUser service cancels a pending push and login authentication. The
respective authentication is identified by a challenge key previously received via push
notification.
5.3.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/authentication/push
/cancelAuthUser
5.3.2 Request
Table 55: cancelAuthUser parameters
Example
1 {
2 "serialNumber": "VDS1000000-1",
3 "challengeKey": "D2602CE39F8CC50398CD40F41924702C..."
4 }
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 }
9 }
API version: 2
Only one application is allowed to retrieve the authentication request. The challenge
key is consumed by the first application retrieving the secure challenge message, sub-
sequent attempts to retrieve it will fail with status code STAT_NOT_FOUND.
Depending on the user’s choice the mobile application can either complete the
authentication request (see 5.2 authUser (service) [v2]) or cancel it (see 5.3 can-
celAuthUser (service) [v2]).
5.4.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/authentication/push
/getPreparedSecureChallenge
5.4.2 Request
Table 57: getPreparedSecureChallenge parameters
1 {
2 "serialNumber": "VDS1000000-1",
3 "challengeKey": "1234567890",
4 }
5.4.3 Response
Table 58: getPreparedSignatureRequest return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "requestMessage": "2EAA8300F254C137B35237560CCBFE98..."
12 }
13 }
NOTE: This command is deprecated! Use 5.3 cancelAuthUser (service) [v2] instead!
API version: 1
The cancelLogin service cancels a pending push and login authentication. The respect-
ive authentication is identified by a challenge key previously received via push noti-
fication.
5.5.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/push/cancelLogin
5.5.2 Request
Table 59: cancelLogin parameters
Example
1 {
2 "digipassInstanceID": "VDS1000000-1",
3 "encryptedChallengeKey": "254B698F7809C9AEAB10F1DEAC658601..."
4 }
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS"
4 }
API version: 1
5.6.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/push/retrieveLogin
5.6.2 Request
Table 61: retrieveLogin parameters
Example
1 {
2 "digipassInstanceID": "VDS1000000-1",
3 "challengeKey": "1234567890"
4 }
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS",
4 "encryptedLoginDetails": "903A1166C89C82F3ED1DB920666E4370..."
5 }
NOTE: This command is deprecated! Use 5.2 authUser (service) [v2] instead!
API version: 1
5.7.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/push/signLogin
5.7.2 Request
Table 63: signLogin parameters
Example
1 {
2 "userID": "myUserID",
3 "domain": "myDomain",
5.7.3 Response
Table 64: signLogin return values
Example
1 {
2 "errorCode": 0,
3 "errorMessage": "STAT_SUCCESS"
4 }
Push and sign allows data signing using a separate and unconnected channel
(out-of-band signing).
1. The user initiates a data signing transaction in the web application, e.g. a banking
site.
4. The user accepts the push notification received by the mobile application (Digi-
pass authenticator). The mobile application retrieves the actual signature request
via DIGIPASS Gateway (using getPreparedSignatureRequest) and presents it to the
user accordingly (see 6.1.2 Signature request content).
l The user cancels the signature request. The mobile application cancels the
signature request via DIGIPASS Gateway (using cancelAuthSignatureRequest).
The signature request is removed from the signature cache without being
completed.
For more information, refer to the OneSpan Mobile Security Suite documentation.
Parameter Description
Length: 2 digits
Possible values:
l 01. Current encoding.
Length: 2 digits
Possible values:
l 05. Content is a request key for a signature transaction message v2.
Request key The unique identifier used by OneSpan Authentication Server to identify
a signature request. This key will be used during the entire transaction
data signing process.
EXAMPLE: "01;05;0123456789"
The signature request data and how to handle it depends on the signature data type
used in the authSignatureRequest SOAP command (OneSpan Authentication Server) ini-
tiating the push and sign workflow:
l Binary data signature body (signatureBody). The signature request data is some
hexadecimal raw data and needs to be handled accordingly.
If the user rejects the signature request, the request key must be encrypted in a
Secure Channel message with the Digipass SDK.
For more information about the OneSpan Authentication Server SOAP commands,
refer to the OneSpan Authentication Server SDK SOAP Reference.
API version: 2
6.2.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/signature/push /authSignature
6.2.2 Request
Table 66: authSignature parameters
requestKey String Required. The request key that refers to the sig-
nature request previously generated by OneSpan
Authentication Server and received via push noti-
fication.
Example
1 {
2 "userID": "jane.doe",
3 "domain": "mydomain.com",
4 "requestKey": "8408980524",
5 "signature": "3833791"
6 }
6.2.3 Response
Table 67: authSignature return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the resolved user information and the
serial number of the Digipass authenticator that is effectively used to
complete the signature request.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "userID": "jane.doe",
12 "domain": "mydomain.com",
13 "orgUnit": "",
14 "serialNo": "VDS1000120-1"
15 }
16 }
API version: 2
Only the application that originally retrieved the prepared signature request using
getPreparedSignatureRequest is allowed to cancel the signature request. Attempts by
other applications to cancel the request will fail with the STAT_NOSUPPORT status code
(see 6.4 getPreparedSignatureRequest (service)).
6.3.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/signature/push
/cancelAuthSignatureRequest
6.3.2 Request
Table 68: cancelAuthSignatureRequest parameters
1 {
2 "requestKey": "77FA6E11F09FE817A7D5E3CC51DE680F...",
3 "serialNumber": "VDS1000120-1"
4 }
6.3.3 Response
Table 69: cancelAuthSignatureRequest return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 }
9 }
API version: 2
Only one application is allowed to retrieve the signature request. The request key is
consumed by the first application retrieving the signature transaction message, sub-
sequent attempts to retrieve it will fail with the STAT_NOT_FOUND status code.
Depending on the user’s choice the mobile application can either complete the sig-
nature request (see 6.2 authSignature (service)) or cancel it (see 6.3 can-
celAuthSignatureRequest (service)).
6.4.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/signature/push
/getPreparedSignatureRequest
6.4.2 Request
Table 70: getPreparedSignatureRequest parameters
Example
1 {
2 "requestKey": "8408980524",
3 "serialNumber": "VDS1000120-1"
4 }
6.4.3 Response
Table 71: getPreparedSignatureRequest return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
result A JSON object that contains the actual signature request as a Secure
Channel message (requestMessage).
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 },
9 "result":
10 {
11 "requestMessage": "00C1C3E40F42B8B36D836BE8A3CC1168…"
12 }
13 }
DIGIPASS Gateway can send push notifications to specific users. To receive push
notifications mobile applications need to register themselves and obtain a noti-
fication identifier.
7 Notification
110
DIGIPASS Gateway Integration Guide
7.1 Notification registration
A registration must be done to enable the notification feature in a mobile application.
When the user starts a mobile application that has previously already been activated
(or just after a successful activation), a background process must be started to per-
form the following steps:
2. Check whether the OneSpan notification identifier has been updated by com-
paring it with the previous data stored in the persistent memory.
7 Notification
111
DIGIPASS Gateway Integration Guide
OneSpan SDKs. Furthermore, it does not display the call by DIGIPASS Gateway to
OneSpan Authentication Server.
For more information, refer to the OneSpan Mobile Security Suite documentation.
7 Notification
112
DIGIPASS Gateway Integration Guide
7.2 sendNotification (service) [v2]
API version: 2
Authentication: The service is secured by the back-end and front-end API key.
7.2.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/notification/push
/sendNotification
7.2.2 Request
Table 72: sendNotification parameters
7 Notification
113
DIGIPASS Gateway Integration Guide
Example
1 {
2 "pnid": "01000001010200CC4150413931624841694341666A4854385755586C7751...",
3 "app_id": "com.example.someapp",
4 "subject": "Notification subject",
5 "title": "Notification title",
6 "message": "Notification message"
7 }
7.2.3 Response
Table 73: sendNotification return values
Example
1 {
2 "device_platform": "ANDROID"
3 }
7 Notification
114
DIGIPASS Gateway Integration Guide
7.3 sendNotification (service) [v1]
API version: 1
7.3.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/notification/sendNotification
7.3.2 Request
Table 74: sendNotification parameters
7 Notification
115
DIGIPASS Gateway Integration Guide
Example
1 {
2 "pnid": "01000001010200CC4150413931624841694341666A4854385755586C7751...",
3 "app_id": "com.example.someapp",
4 "subject": "Notification subject",
5 "title": "Notification title",
6 "message": "Notification message"
7 }
7.3.3 Response
Table 75: sendNotification return values
Example
1 {
2 "device_platform": "ANDROID"
3 }
7 Notification
116
DIGIPASS Gateway Integration Guide
7.4 updateNotificationID (service) [v2]
API version: 2
7.4.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/v2/notification/push
/updateNotificationID
7.4.2 Request
Table 76: updateNotificationID parameters
Example
1 {
2 "userID": "jane.doe",
3 "domain": "myDomain.com",
4 "digipassInstanceID": "VDS1000001-1",
7 Notification
117
DIGIPASS Gateway Integration Guide
5 "encryptedNotificationID": "0901C3E40F42B8112D690D2E8E11105BD156E89D..."
6 }
7.4.3 Response
Table 77: updateNotificationID return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 }
9 }
7 Notification
118
DIGIPASS Gateway Integration Guide
7.5 updateNotificationID (service) [v1]
API version: 1
7.5.1 URL
https://<dpgateway_host>:<dpgateway_port>/rest/notification
/updateNotificationID
7.5.2 Request
Table 78: updateNotificationID parameters
7 Notification
119
DIGIPASS Gateway Integration Guide
Example
1 {
2 "userID": "jane.doe",
3 "domain": "myDomain.com",
4 "digipassInstanceID": "VDS1000001-1",
5 "encryptedNotificationID": "0901C3E40F42B8112D690D2E8E11105BD156E89D..."
6 }
7.5.3 Response
Table 79: updateNotificationID return values
resultCodes A JSON object that contains the return and status codes of the ser-
vice.
Example
1 {
2 "resultCodes":
3 {
4 "returnCodeEnum": "RET_SUCCESS",
5 "statusCodeEnum": "STAT_SUCCESS",
6 "returnCode": 0,
7 "statusCode": 0
8 }
9 }
7 Notification
120
DIGIPASS Gateway Integration Guide
Security recommendations
8
DIGIPASS Gateway provides endpoints to the outside world (mobile client applic-
ations). It is highly recommended to consider the security guidelines and best prac-
tices in this chapter to ensure secure deployment and usage of DIGIPASS Gateway.
8 Security recommendations
121
DIGIPASS Gateway Integration Guide
8.1 Configuration of SSL/TLS
You can configure DIGIPASS Gateway to use encrypted communication, either during
or after the initial setup.
l Between the DIGIPASS Gateway service and the mobile client applications.
This embedded Apache Tomcat web server is automatically configured to secure con-
nections to the DIGIPASS Gateway web service via TLS v1.2. A TLS certificate and a ran-
dom password are generated for that purpose.
If you manually deploy the DIGIPASS Gateway web application to an existing web or
Java application server, you should configure it to use TLS to encrypt the com-
munication.
If you manually deploy the DIGIPASS Gateway web application to an existing web or
Java application server, you should configure it to use TLS. This encrypts the com-
munication to the OneSpan Authentication Server instances via the OneSpan Web
Configuration Tool.
The certification authority (CA) for the certificate of the OneSpan Authentication
Server instance must be added to the trust store of DIGIPASS Gateway.
8 Security recommendations
122
DIGIPASS Gateway Integration Guide
For more information about protecting SSL certificates and private keys, refer to the
IDENTIKEY Authentication Server Security Best Practices Guide.
For more information about the connection security implemented by Apple Push Noti-
fication service (APNs) and Firebase Cloud Messaging (FCM), see
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Co
nceptual/RemoteNotificationsPG/APNSOverview.html#//apple_
ref/doc/uid/TP40008194-CH8-SW1 and https://firebase.google.com/docs/cloud-
messaging/server#choose, respectively.
8 Security recommendations
123
DIGIPASS Gateway Integration Guide
8.2 Restricting source IP address ranges
In addition to correctly setting up your firewall to control network access, you can
restrict the source IP addresses from which requests are allowed directly in DIGIPASS
Gateway.
By default, all services that are considered to be used by the back-end application are
restricted to be accessed from the local host only. This includes all services requiring
authentication using the back-end API key, as well as API v1 services that don't require
authentication, but were part of the Administration interface in legacy versions of
DIGIPASS Gateway. If OneSpan Authentication Server, DIGIPASS Gateway, and your
back-end application are not installed on the same server, you need to allow the
OneSpan Authentication Server and back-end application server. All other services are
unrestricted. You should restrict those services to specific source IP address ranges.
You can restrict requests by explicitly specifying allowed source IP address ranges
using CIDR blocks via the OneSpan Web Configuration Tool:
where:
l <service> specifies the DIGIPASS Gateway service endpoint, including the pre-
fixing slash mark ('/'). You can use glob notation specifying a matching pattern to
set the CIDR block for several services at once. In that case you need to set the
value within quotation marks.
l <cidr_block> specifies an IPv4 address range using CIDR notation, e.g. 192.0.2.0/24.
Any request originating from a host within that CIDR block will be allowed. You
can specify multiple CIDR blocks at once as comma-separated list.
For more information, refer to the DIGIPASS Gateway Getting Started Guide, Section
"Configure DIGIPASS Gateway".
8 Security recommendations
124
DIGIPASS Gateway Integration Guide
Migrating previous versions of
DIGIPASS Gateway
9
DIGIPASS Gateway 5 is a major update, which introduces new features while at the
same time changes or removes legacy functionality, thus breaking compatibility with
certain legacy client applications.
Before migrating from a legacy version, i.e. DIGIPASS Gateway 4.1 or earlier, it is vital to
know the changed and missing behavior and features to be able to prepare the envir-
onment, including websites and mobile client applications.
The Administration interface has been completely removed, since most of the
administrative services have become obsolete, e.g. transaction management for
Mobile Authenticator Studio. The remaining services have been merged with the
DIGIPASS interface. The distinction between administrative and client services
now only exists in context of required authentication.
In DIGIPASS Gateway 5, all services are protected using basic HTTP authen-
tication via one of two API keys:
l The front-end API key is required for services typically used by mobile applic-
ations, e.g. OneSpan Mobile Authenticator.
l The back-end API key is required for services typically exposed to the solu-
tion's back-end side, e.g. the banking website.
l /rest/v2/authentication/authUser
l /rest/v2/authentication/push/authUser
l /rest/v2/authentication/push/cancelAuthUser
l /rest/v2/authentication/push/getPreparedSecureChallenge
l /rest/v2/notification/push/sendNotification
l /rest/v2/notification/push/updateNotificationID
l /rest/v2/provisioning/DSAPPActivate
l /rest/v2/provisioning/DSAPPGenerateActivationData
l /rest/v2/provisioning/DSAPPMdlAddDevice
l /rest/v2/provisioning/DSAPPRegister
l /rest/v2/provisioning/DSAPPSRPGenerateActivationData
l /rest/v2/provisioning/DSAPPSRPGenerateEphemeralKey
l /rest/v2/provisioning/getServerTime
l /rest/v2/provisioning/MdlActivate
l /rest/v2/provisioning/MdlAddDevice
l /rest/v2/signature/push/authSignature
l /rest/v2/signature/push/cancelAuthSignatureRequest
l /rest/v2/signature/push/getPreparedSignatureRequest
Deprecated services
Deprecated services are still available in the interface for backward-compatibility reas-
ons and migration purposes only. However, newer versions of the same services or sim-
ilar new services exist that should be used for new implementations.
l /activate
l /addDevice
l /bind
l /instanceActivation
l /licenseActivation
l /postActivation
l /register
l /registerOffline
l /registerOnline
l /rest/activation/DSAPPSRPGenerateActivationData
l /rest/activation/DSAPPSRPGenerateEphemeralKey
l /rest/activation/MdlActivate
l /rest/activation/MdlAddDevice
l /rest/auth/online
l /rest/notification/push/sendNotification
l /rest/push/cancelLogin
l /rest/push/retrieveLogin
l /rest/push/signLogin
l /signature
l /synchronize
Removed services
The following services have been removed:
l /createSecureChannelTransaction
l /createTransaction
l /deleteNotif
l /deleteTransaction
l /getTransactionStatus
l /listSecureChannelTransactions
l /listTds
l /manageTransaction
l /notify
l /registerNotif
l /rejectTransaction
l /testOffline
l /validateSecureChannelTransaction
l /validateTransaction
If your mobile application uses deprecated services, you should change your applic-
ation to use the respective services in the current API version provided by DIGIPASS
Gateway 5 instead (see Table 80).
/activate /rest/v2/provisioning↲
/DSAPPGenerateActivationData
/licenseActivation
See 3.3 DSAPPGenerateActivationData
(service).
/addDevice /rest/v2/provisioning/MdlAddDevice
/bind /rest/v2/provisioning/DSAPPActivate
/instanceActivation /rest/v2/provisioning/DSAPPMdlAddDevice
/postActivation /rest/v2/provisioning/MdlActivate
/rest/activation/MdlActivate
/register /rest/v2/provisioning/DSAPPRegister
/registerOffline /rest/v2/provisioning/MdlRegister
/rest/activation/DSAPPSRPGenerateActivationData /rest/v2/provisioning/↲
/DSAPPSRPGenerateActivationData
/rest/activation/DSAPPSRPGenerateEphemeralKey /rest/v2/provisioning↲
/DSAPPSRPGenerateEphemeralKey
/rest/auth/online /rest/v2/authentication/authUser
/rest/notification/push/sendNotification /rest/v2/notification/push/sendNotification
/rest/notification/push/updateNotificationID /rest/v2/notification/push↲
/updateNotificationID
/rest/push/cancelLogin /rest/v2/authentication/push/cancelAuthUser
/rest/push/retrieveLogin /rest/v2/authentication/push↲
/getPreparedSecureChallenge
/rest/push/signLogin /rest/v2/authentication/push/authUser
/synchronize /rest/v2/provisioning/getServerTime
Glossary
132
DIGIPASS Gateway Integration Guide
encrypted full activation data nonce
(XFAD) A random 64–hexadecimal number
The full activation data encrypted generated by the application. It is
with the activation password or a part of the one-time activation
session key. process and ensures that no other
computer can register with the
event reactivation counter (ERC) same data.
Data that must be provided to an
event-based Digipass authenticator one-time password (OTP)
during reactivation. By default, the A password that is valid for only one
event counter is set to 0 during authentication process. An one-time
Digipass activation, to be in sync password can be used only once,
with the event counter in the and each authentication process
Digipass BLOB. When the Digipass requires a new one-time password.
instance is used, the event counter
in the Digipass BLOB is OneSpan Authentication Server
incremented to the value of the last Framework
verified OTP. If the same Digipass An API-based authentication
instance is installed on another platform that serves as a back-end
device, the event counter must not system for Digipass strong
be set to 0 but to the event value authentication and e-signatures.
stored in the Digipass BLOB. The
ERC is generated by OneSpan OneSpan Mobile Authenticator
Authentication Server Framework to Studio
push the event value of the Digipass A mobile application supporting
BLOB to the Digipass client for OneSpan strong authentication.
synchronization.
post-activation
full activation data (FAD) The (optional) process following the
The full activation data includes the client activation.
parameter settings for the Mobile
Authenticator Studio activation, and registration
the encrypted activation data to The process of generating Digipass
finalize the activation process. It activation data on the server side.
includes the static vector, the
serial number
activation code, and the serial
The serial number of Mobile
number suffix.
Authenticator Studio.
Glossary
133
DIGIPASS Gateway Integration Guide
serial number suffix (SNS)
The last seven digits of the serial
number.
server activation
The validation of the first Digipass
response generated after client
activation. The server activation is
part of the post-activation process.
static vector
The Digipass parameter set. It
contains the customer master key
and the parameter set of the
cryptographic application(s). It is
generated by OneSpan Logistics
based on the Mobile Authenticator
Studio parameter sheet.
user
The Mobile Authenticator Studio
end user, e.g. a bank’s customer.
Glossary
134
DIGIPASS Gateway Integration Guide
Index
A suite 11
DIGIPASS Gateway services
activate (v1), service 53 for OneSpan Mobile Security
activation image 21 Suite 14
addDevice (v1), service 55 DSAPPActivate, service 23
authentication DSAPPGenerateActivationData, ser-
authUser (v2) service 77 vice 25
online (v1) service 79 DSAPPMdlAddDevice, service 28
out-of-band 82 DSAPPRegister (v2), service 30
push and login 82 DSAPPSRPGenerateActivationData
authSignature, service 103
(v1), service 34
authUser (v2), service 77, 86
DSAPPSRPGenerateActivationData
(v2), service 32
DSAPPSRPGenerateEphemeralKey
B
(v1), service 39
bind, service 57 DSAPPSRPGenerateEphemeralKey
(v2), service 37
C
calling GenerateSRPSessionKey, Cau-
G
tion notice 21 getPreparedSecureChallenge (v2), ser-
cancelAuthSignatureRequest, vice 90
service 106 getPreparedSignatureRequest, ser-
cancelAuthUser (v2), service 88 vice 108
cancelLogin (v1), service 92 getServerTime, service 41
configuring SSL/TLS 122
H
D
HTTP method 14
DIGIPASS Gateway 5
API changes 127
architectural changes 126 I
workflow changes 126
instanceActivation (v1), service 59
DIGIPASS Gateway documentation
Index
135
DIGIPASS Gateway Integration Guide
L provisioning
activate (v1) service 53
licenseActivation (v1), service 61 addDevice (v1) service 55
bind service 57
DSAPPActivate service 23
M DSAPPGenerateActivationData ser-
MdlActivate (v1), service 45 vice 25
MdlActivate (v2), service 43 DSAPPMdlAddDevice service 28
MdlAddDevice (v1), service 49 DSAPPRegister (v2) service 30
MdlAddDevice (v2), service 47 DSAPPSRPGenerateActivationData
MdlRegister (v2), service 51 (v1) service 34
DSAPPSRPGenerateEphemeralKey
(v1) service 39
N DSAPPSRPGenerateEphemeralKey
(v2) service 37
notification registration 111
getServerTime service 41
notifications
instanceActivation (v1) service 59
sendNotification (v1) service 115
licenseActivation (v1) service 61
sendNotification (v2) service 113
MdlActivate (v1) service 45
updateNotificationID (v2)
MdlActivate (v2) service 43
service 117
MdlAddDevice (v1) service 49
updateNotificationID service 119
MdlAddDevice (v2) service 47
MdlRegister (v2) service 51
postActivation (v1) service 63
O register (v1) service 65
OneSpan Mobile Security Suite 14 registerOffline (v1) service 67
online (v1), service 79 registerOnline (v1) service 69
online activation 20 signature (v1) service 71
activation image 21 synchronize service 73
online authentication 76 push and login 82
authUser (v2) service 77 login request content 84
online (v1) service 79 push notification content 83
out-of-band authentication 82 push and login authentication 82
authUser (v2) service 86
cancelAuthUser (v2) service 88
P cancelLogin (v1) service 92
getPreparedSecureChallenge (v2)
POST, HTTP method 14
service 90
postActivation (v1), service 63
retrieveLogin (v1) service 94
protecting the DIGIPASS Gateway API
signLogin (v1) service 96
key, Caution notice 17
push and sign 99
push notification content 100
Index
136
DIGIPASS Gateway Integration Guide
signature request content 101
R
register (v1), service 65
registerOffline (v1), service 67
registerOnline (v1), service 69
retrieveLogin (v1), service 94
S
Secure Channel 83-85, 101-102
sendNotification (v1), service 115
sendNotification (v2), service 113
signature (v1), service 71
signLogin (v1), service 96
synchronize, service 73
T
transaction data signing 99
authSignature service 103
cancelAuthSignatureRequest ser-
vice 106
getPreparedSignatureRequest ser-
vice 108
out-of-band signing 99
using push notifications 99
U
updateNotificationID (v2), service 117
updateNotificationID, service 119
Index
137
DIGIPASS Gateway Integration Guide