m2u-upass-core / src / my / com / upass / vasco / TokenControllerMockup.java @ 62:9571b0589c96
History | View | Annotate | Download (3.72 KB)
1 |
/*
|
---|---|
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 |
import my.com.upass.ConfigBean; |
16 |
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 |
tacController = UPassFactory.getTacController(tacBean, (ConfigBean) upc.getConfigurationsMap().get(APPLICATION_ID)); |
67 |
|
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 |
} |