Skip to content

Commit 14e76c6

Browse files
committed
server: support reading CRL PEM for client auth.
This commit updates the `tests/server.c` example program to support reading one or more CRLs from a single PEM encoded CRL file, provided via `AUTH_CRL`. This option is only processed when the server is performing mandatory client authentication (e.g. `AUTH_CERT` was provided).
1 parent 0157415 commit 14e76c6

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/server.c

+17-1
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,24 @@ main(int argc, const char **argv)
299299

300300
client_cert_root_store = rustls_root_cert_store_new();
301301
rustls_root_cert_store_add_pem(client_cert_root_store, (uint8_t *)certbuf, certbuf_len, true);
302-
303302
client_cert_verifier_builder = rustls_client_cert_verifier_builder_new(client_cert_root_store);
303+
304+
char* auth_crl = getenv("AUTH_CRL");
305+
char crlbuf[10000];
306+
size_t crlbuf_len;
307+
if(auth_crl) {
308+
result =
309+
read_file(argv[0], auth_crl, crlbuf, sizeof(crlbuf), &crlbuf_len);
310+
if(result != DEMO_OK) {
311+
goto cleanup;
312+
}
313+
314+
result = rustls_client_cert_verifier_builder_add_crl(client_cert_verifier_builder, (uint8_t *)crlbuf, certbuf_len);
315+
if(result != RUSTLS_RESULT_OK) {
316+
goto cleanup;
317+
}
318+
}
319+
304320
client_cert_verifier = rustls_client_cert_verifier_new(client_cert_verifier_builder);
305321
rustls_server_config_builder_set_client_verifier(config_builder, client_cert_verifier);
306322
}

0 commit comments

Comments
 (0)