m2u-upass-core / src / my / com / upass / vasco / TokenControllerMockup.java @ 56:c05a77f786c8
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 | } |