m2u-upass-core / src / my / com / upass / vasco / TokenControllerMockup.java @ 17:4173ef25ee8d
History | View | Annotate | Download (3.68 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.Constants; |
16 |
import my.com.upass.TOKEN_MODE; |
17 |
import my.com.upass.TokenBean; |
18 |
import my.com.upass.UPassControllerV2; |
19 |
import my.com.upass.dao.DAOFactoryProvider; |
20 |
import my.com.upass.dao.UserTacDAO; |
21 |
import my.com.upass.dao.UserTokenDAO; |
22 |
import my.com.upass.factory.UPassFactory; |
23 |
import my.com.upass.pojo.TacBean; |
24 |
import my.com.upass.pojo.UserTokenBean; |
25 |
import my.com.upass.tac.TacController; |
26 |
|
27 |
/*
|
28 |
* <pre>
|
29 |
* PROGRAMMER: Hadi Ahmadi
|
30 |
* CHANGE-NO:
|
31 |
* TASK-NO:
|
32 |
* DATE CREATED: Apr 2, 2012
|
33 |
* TAG AS:
|
34 |
* REASON(S):
|
35 |
* MODIFICATION:
|
36 |
* </pre>
|
37 |
*/
|
38 |
|
39 |
/**
|
40 |
* The purpose of this mockup is to simulate token generation/verification for the sake of integration tests. Currently
|
41 |
* in the absence of access to VASCO's own mockup APIs, this simulation is implemented by means of TAC module. TAC codes
|
42 |
* are used as VASCO tokens, and session IDs as VASCO serial numbers.
|
43 |
*/
|
44 |
public class TokenControllerMockup implements TokenController { |
45 |
|
46 |
private TokenBean tokenBean;
|
47 |
|
48 |
private TacController tacController;
|
49 |
|
50 |
private int lastRetCode = -1; |
51 |
|
52 |
private final int APPLICATION_ID = Constants.SYSTEM_ID; |
53 |
|
54 |
public TokenControllerMockup(TokenBean tokenBean) {
|
55 |
this.tokenBean = tokenBean;
|
56 |
|
57 |
try {
|
58 |
UserTokenDAO vascoDao = DAOFactoryProvider.getDAOFactory().getUserTokenDAO(TOKEN_MODE.VASCO); |
59 |
UserTokenBean uTokenBean = vascoDao.getTokenFromStoreBySerialNumber(tokenBean.getVserialNumber()); |
60 |
|
61 |
UserTacDAO tacDao = DAOFactoryProvider.getDAOFactory().getUserTacDAO(); |
62 |
TacBean tacBean = tacDao.getTacFromStore(uTokenBean.getUpassUser().getUserAlias(), APPLICATION_ID); |
63 |
|
64 |
UPassControllerV2 upc = new UPassControllerV2();
|
65 |
tacController = UPassFactory.getTacController(tacBean, upc.getConfigurationsMap().get(APPLICATION_ID)); |
66 |
|
67 |
} catch (Exception e) { |
68 |
e.printStackTrace(); |
69 |
} |
70 |
} |
71 |
|
72 |
public void setObject(TokenBean tokenBean) { |
73 |
this.tokenBean = tokenBean;
|
74 |
} |
75 |
|
76 |
public TokenBean getUpdatedObject() {
|
77 |
return tokenBean;
|
78 |
} |
79 |
|
80 |
public int getRetCode() { |
81 |
return lastRetCode;
|
82 |
} |
83 |
|
84 |
public String getLastError() { |
85 |
return "TOKEN_MOCKUP_ENABLED"; |
86 |
} |
87 |
|
88 |
public HashMap<String, String> getTokenBlobInfo() { |
89 |
HashMap<String, String> map = new HashMap<String, String>(); |
90 |
|
91 |
map.put("TOKEN_MODEL", "TOKEN_MODEL.value"); |
92 |
map.put("USE_COUNT", "USE_COUNT.value"); |
93 |
map.put("ERROR_COUNT", "ERROR_COUNT.value"); |
94 |
map.put("LAST_TIME_USED", "LAST_TIME_USED.value"); |
95 |
map.put("CODE_WORD", "CODE_WORD.value"); |
96 |
map.put("TRIPLE_DES", "TRIPLE_DES.value"); |
97 |
map.put("MAX_INPUT_FIELDS", "MAX_INPUT_FIELDS.value"); |
98 |
map.put("RESPONSE_LENGTH", "RESPONSE_LENGTH.value"); |
99 |
map.put("RESPONSE_TYPE", "RESPONSE_TYPE.value"); |
100 |
map.put("RESPONSE_CHECKSUM", "RESPONSE_CHECKSUM.value"); |
101 |
map.put("TIME_STEP_USED", "TIME_STEP_USED.value"); |
102 |
|
103 |
return map;
|
104 |
} |
105 |
|
106 |
public int verifyToken(String otp, String userAlias, String pin) throws Exception |
107 |
{ |
108 |
return verifyToken(otp);
|
109 |
} |
110 |
|
111 |
public synchronized int verifyToken(String password) { |
112 |
lastRetCode = tacController.VerifyTac(password, tokenBean.getVserialNumber()); |
113 |
return lastRetCode;
|
114 |
} |
115 |
|
116 |
public synchronized int resetToken() { |
117 |
lastRetCode = tacController.ResetTAC(); |
118 |
return lastRetCode;
|
119 |
} |
120 |
|
121 |
public int syncToken(String userAlias, String otp1, String otp2) { |
122 |
// TODO Auto-generated method stub
|
123 |
return 0; |
124 |
} |
125 |
} |