comparison simtool/chv.c @ 166:febcbc6082df

fc-simtool: repeatable {dis,en}able-pin1-rpt commands implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 26 Feb 2021 23:18:29 +0000
parents 32d6186668cf
children afd6a805c518
comparison
equal deleted inserted replaced
165:8a5c132fe871 166:febcbc6082df
103 return(-1); 103 return(-1);
104 } 104 }
105 return(0); 105 return(0);
106 } 106 }
107 107
108 cmd_disable_chv1_rpt(argc, argv)
109 char **argv;
110 {
111 u_char cmd[13];
112 int rc;
113
114 /* DISABLE CHV command APDU */
115 cmd[0] = 0xA0;
116 cmd[1] = 0x26;
117 cmd[2] = 0x00;
118 cmd[3] = 0x01;
119 cmd[4] = 8;
120 rc = encode_pin_entry(argv[1], cmd + 5);
121 if (rc < 0)
122 return(rc);
123 rc = apdu_exchange(cmd, 13);
124 if (rc < 0)
125 return(rc);
126 if (sim_resp_sw != 0x9000 && sim_resp_sw != 0x9808) {
127 fprintf(stderr, "bad SW response: %04X\n", sim_resp_sw);
128 return(-1);
129 }
130 return(0);
131 }
132
108 cmd_enable_chv(argc, argv) 133 cmd_enable_chv(argc, argv)
109 char **argv; 134 char **argv;
110 { 135 {
111 u_char cmd[13]; 136 u_char cmd[13];
112 int rc; 137 int rc;
122 return(rc); 147 return(rc);
123 rc = apdu_exchange(cmd, 13); 148 rc = apdu_exchange(cmd, 13);
124 if (rc < 0) 149 if (rc < 0)
125 return(rc); 150 return(rc);
126 if (sim_resp_sw != 0x9000) { 151 if (sim_resp_sw != 0x9000) {
152 fprintf(stderr, "bad SW response: %04X\n", sim_resp_sw);
153 return(-1);
154 }
155 return(0);
156 }
157
158 cmd_enable_chv1_rpt(argc, argv)
159 char **argv;
160 {
161 u_char cmd[13];
162 int rc;
163
164 /* ENABLE CHV command APDU */
165 cmd[0] = 0xA0;
166 cmd[1] = 0x28;
167 cmd[2] = 0x00;
168 cmd[3] = 0x01;
169 cmd[4] = 8;
170 rc = encode_pin_entry(argv[1], cmd + 5);
171 if (rc < 0)
172 return(rc);
173 rc = apdu_exchange(cmd, 13);
174 if (rc < 0)
175 return(rc);
176 if (sim_resp_sw != 0x9000 && sim_resp_sw != 0x9808) {
127 fprintf(stderr, "bad SW response: %04X\n", sim_resp_sw); 177 fprintf(stderr, "bad SW response: %04X\n", sim_resp_sw);
128 return(-1); 178 return(-1);
129 } 179 }
130 return(0); 180 return(0);
131 } 181 }