|
31 | 31 | #include <unistd.h> |
32 | 32 |
|
33 | 33 | /* wolfSSL */ |
| 34 | +#ifndef WOLFSSL_USER_SETTINGS |
34 | 35 | #include <wolfssl/options.h> |
| 36 | +#endif |
35 | 37 | #include <wolfssl/ssl.h> |
36 | 38 | #include <wolfssl/wolfcrypt/wc_pkcs11.h> |
37 | 39 |
|
38 | 40 | #define DEFAULT_PORT 11111 |
39 | 41 |
|
40 | | -#define CA_FILE "../certs/ca-cert.pem" |
41 | | - |
42 | | -int client_tls(int devId, Pkcs11Token* token) |
| 42 | +int client_tls(const char *cacert, int devId, Pkcs11Token* token) |
43 | 43 | { |
44 | 44 | int sockfd; |
45 | 45 | struct sockaddr_in servAddr; |
46 | | - socklen_t size = sizeof(servAddr); |
47 | 46 | char buff[256]; |
48 | 47 | size_t len; |
49 | | - int shutdown = 0; |
50 | 48 | int ret; |
51 | 49 |
|
52 | 50 | /* declare wolfSSL objects */ |
@@ -103,7 +101,7 @@ int client_tls(int devId, Pkcs11Token* token) |
103 | 101 | } |
104 | 102 |
|
105 | 103 | /* Load CA certificate into WOLFSSL_CTX for validating peer */ |
106 | | - if ((ret = wolfSSL_CTX_load_verify_locations(ctx, CA_FILE, NULL)) |
| 104 | + if ((ret = wolfSSL_CTX_load_verify_locations(ctx, cacert, NULL)) |
107 | 105 | != WOLFSSL_SUCCESS) { |
108 | 106 | fprintf(stderr, "ERROR: failed to load %s, please check the file.\n", |
109 | 107 | CA_FILE); |
@@ -187,21 +185,23 @@ int main(int argc, char* argv[]) |
187 | 185 | const char* slot; |
188 | 186 | const char* tokenName; |
189 | 187 | const char* userPin; |
| 188 | + const char* cacert; |
190 | 189 | Pkcs11Dev dev; |
191 | 190 | Pkcs11Token token; |
192 | 191 | int slotId; |
193 | 192 | int devId = 1; |
194 | 193 |
|
195 | | - if (argc != 4 && argc != 5) { |
| 194 | + if (argc != 5 && argc != 6) { |
196 | 195 | fprintf(stderr, |
197 | | - "Usage: server_tls_pkcs11 <libname> <slot> <tokenname> [userpin]\n"); |
| 196 | + "Usage: client_tls_pkcs11 <cacert> <libname> <slot> <tokenname> [userpin]\n"); |
198 | 197 | return 1; |
199 | 198 | } |
200 | 199 |
|
201 | | - library = argv[1]; |
202 | | - slot = argv[2]; |
203 | | - tokenName = argv[3]; |
204 | | - userPin = (argc == 4) ? NULL : argv[4]; |
| 200 | + cacert = argv[1] |
| 201 | + library = argv[2]; |
| 202 | + slot = argv[3]; |
| 203 | + tokenName = argv[4]; |
| 204 | + userPin = (argc == 5) ? NULL : argv[5]; |
205 | 205 | slotId = atoi(slot); |
206 | 206 |
|
207 | 207 | #if defined(DEBUG_WOLFSSL) |
@@ -229,7 +229,7 @@ int main(int argc, char* argv[]) |
229 | 229 | ret = 2; |
230 | 230 | } |
231 | 231 | if (ret == 0) { |
232 | | - ret = client_tls(devId, &token); |
| 232 | + ret = client_tls(cacert, devId, &token); |
233 | 233 | if (ret != 0) |
234 | 234 | ret = 1; |
235 | 235 | } |
|
0 commit comments