Statistics
| Branch: | Revision:

m2u-upass-core / src / my / com / upass / vasco / TokenControllerMockup.java @ 38:3d22253b0fbc

History | View | Annotate | Download (3.72 KB)

1 0:02300db8682b hadi
/*
2
 * Copyright (c) 2012 Penril Datability (M) Sdn Bhd All rights reserved.
3
 *
4
 * This software is copyrighted. Under the copyright laws, this software
5
 * may not be copied, in whole or in part, without prior written consent
6
 * of Penril Datability (M) Sdn Bhd or its assignees. This software is
7
 * provided under the terms of a license between Penril Datability (M)
8
 * Sdn Bhd and the recipient, and its use is subject to the terms of that
9
 * license.
10
 */
11
package my.com.upass.vasco;
12
13
import java.util.HashMap;
14
15 23:1281bdc0fb8f mohd
import my.com.upass.ConfigBean;
16 0:02300db8682b hadi
import my.com.upass.Constants;
17
import my.com.upass.TOKEN_MODE;
18
import my.com.upass.TokenBean;
19
import my.com.upass.UPassControllerV2;
20
import my.com.upass.dao.DAOFactoryProvider;
21
import my.com.upass.dao.UserTacDAO;
22
import my.com.upass.dao.UserTokenDAO;
23
import my.com.upass.factory.UPassFactory;
24
import my.com.upass.pojo.TacBean;
25
import my.com.upass.pojo.UserTokenBean;
26
import my.com.upass.tac.TacController;
27
28
/*
29
 * <pre>
30
 * PROGRAMMER: Hadi Ahmadi
31
 * CHANGE-NO:
32
 * TASK-NO:
33
 * DATE CREATED: Apr 2, 2012
34
 * TAG AS:
35
 * REASON(S):
36
 * MODIFICATION:
37
 * </pre>
38
 */
39
40
/**
41
 * The purpose of this mockup is to simulate token generation/verification for the sake of integration tests. Currently
42
 * in the absence of access to VASCO's own mockup APIs, this simulation is implemented by means of TAC module. TAC codes
43
 * are used as VASCO tokens, and session IDs as VASCO serial numbers.
44
 */
45
public class TokenControllerMockup implements TokenController {
46
47
        private TokenBean tokenBean;
48
49
        private TacController tacController;
50
51
        private int lastRetCode = -1;
52
53
        private final int APPLICATION_ID = Constants.SYSTEM_ID;
54
55
        public TokenControllerMockup(TokenBean tokenBean) {
56
                this.tokenBean = tokenBean;
57
58
                try {
59
                        UserTokenDAO vascoDao = DAOFactoryProvider.getDAOFactory().getUserTokenDAO(TOKEN_MODE.VASCO);
60
                        UserTokenBean uTokenBean = vascoDao.getTokenFromStoreBySerialNumber(tokenBean.getVserialNumber());
61
62
                        UserTacDAO tacDao = DAOFactoryProvider.getDAOFactory().getUserTacDAO();
63
                        TacBean tacBean = tacDao.getTacFromStore(uTokenBean.getUpassUser().getUserAlias(), APPLICATION_ID);
64
65
                        UPassControllerV2 upc = new UPassControllerV2();
66 23:1281bdc0fb8f mohd
                        tacController = UPassFactory.getTacController(tacBean, (ConfigBean) upc.getConfigurationsMap().get(APPLICATION_ID));
67 0:02300db8682b hadi
68
                } catch (Exception e) {
69
                        e.printStackTrace();
70
                }
71
        }
72
73
        public void setObject(TokenBean tokenBean) {
74
                this.tokenBean = tokenBean;
75
        }
76
77
        public TokenBean getUpdatedObject() {
78
                return tokenBean;
79
        }
80
81
        public int getRetCode() {
82
                return lastRetCode;
83
        }
84
85
        public String getLastError() {
86
                return "TOKEN_MOCKUP_ENABLED";
87
        }
88
89
        public HashMap<String, String> getTokenBlobInfo() {
90
                HashMap<String, String> map = new HashMap<String, String>();
91
92
                map.put("TOKEN_MODEL", "TOKEN_MODEL.value");
93
                map.put("USE_COUNT", "USE_COUNT.value");
94
                map.put("ERROR_COUNT", "ERROR_COUNT.value");
95
                map.put("LAST_TIME_USED", "LAST_TIME_USED.value");
96
                map.put("CODE_WORD", "CODE_WORD.value");
97
                map.put("TRIPLE_DES", "TRIPLE_DES.value");
98
                map.put("MAX_INPUT_FIELDS", "MAX_INPUT_FIELDS.value");
99
                map.put("RESPONSE_LENGTH", "RESPONSE_LENGTH.value");
100
                map.put("RESPONSE_TYPE", "RESPONSE_TYPE.value");
101
                map.put("RESPONSE_CHECKSUM", "RESPONSE_CHECKSUM.value");
102
                map.put("TIME_STEP_USED", "TIME_STEP_USED.value");
103
104
                return map;
105
        }
106
107
        public int verifyToken(String otp, String userAlias, String pin) throws Exception
108
        {
109
                return verifyToken(otp);
110
        }
111
112
        public synchronized int verifyToken(String password) {
113
                lastRetCode = tacController.VerifyTac(password, tokenBean.getVserialNumber());
114
                return lastRetCode;
115
        }
116
117
        public synchronized int resetToken() {
118
                lastRetCode = tacController.ResetTAC();
119
                return lastRetCode;
120
        }
121
122
        public int syncToken(String userAlias, String otp1, String otp2) {
123
                // TODO Auto-generated method stub
124
                return 0;
125
        }
126
}