Commit Graph

20 Commits

Author SHA1 Message Date
Joseph Birr-Pixton 271c637bd9 Split test-ca ecdsa by curve; add p521
This goes from being a single set of keys for ECDSA (with a
purposeful mix of curves) to a set of keys per curve.

That means we can avoid P521 chains in tests when it is not supported.

In those tests, reflect this as additional `KeyType` variants.
2024-01-04 09:21:59 +00:00
Daniel McCarney a3f0d06c4b test-ca: make CRLs revoking intermediate, server EE certs
Previously the test-ca `build-a-pki.sh` script would revoke each key
type's client certificate to produce a `client.revoked.crl.pem` CRL.

In this commit we update the script to do the same for each key type's
intermediate cert (`inter.cert`) to produce a `inter.revoked.crl.pem`,
as well as the server ee cert (`end.cert`) to produce
a `end.revoked.crl.pem` file. This will be useful for testing the chain
depth revocation controls, and the server verifier CRL support.
2023-10-25 14:12:46 +00:00
Joseph Birr-Pixton 09f3011570 Regenerate test certs 2023-07-05 17:51:27 +01:00
Joseph Birr-Pixton b3543f90fa Add IP address names to test certs 2023-07-05 17:51:27 +01:00
Daniel McCarney e3a8bdd1c8 test-ca: regenerate certs, keys, crls.
Generated with:

```
cd test-ca
./build-a-pki.sh
git add .
```
2023-07-05 11:34:11 -04:00
Daniel McCarney 2856e8dcd4 test-ca: generate demo CRLs for client certs.
This commit updates the `build-a-pki.sh` script to generate example
certificate revocation lists (CRLs) that mark each of the client
certificates as revoked. These can be used by server tests to ensure CRL
validation works as expected.

The process of generating CRLs using `openssl` is... well... not
great...

It can't be done without using `openssl ca`, which in turn requires
using an `openssl.cnf` with all the associated warts. I've done my best
to create the absolute minimum configuration that can be used for our
purposes.

Using `openssl ca` also requires writing some intermediate state. The
script is updated to create/delete this state through the process of
generating the CRLs. This should be sufficient for our needs. Blech.
2023-07-05 11:34:11 -04:00
Daniel McCarney 44bac99c6e fix: avoid hardcoded (ba)sh path in helper scripts.
Prior to this commit some helper scripts used hardcoded paths to
`/bin/sh` and `/bin/bash` in script shebangs. This will error on systems
that don't place `bash` in `/bin/` (e.g. NixOS).

This commit updates the scripts to use `/usr/bin/env` to find `bash`
based on the user's `$PATH`. This has better portability and allows the
scripts to run without err (or specifying an interpreter explicitly) on
systems with atypical `bash` installs.
2023-03-02 10:28:10 +01:00
Andrew Bennett 703afee8f0 Add initial test-ca/eddsa with output for Ed25519 2020-06-20 14:39:39 +01:00
Joseph Birr-Pixton fe82a87b09 Use 4096-bit RSA CA key
This is more representative; there are no 8192-bit roots.
2019-06-16 20:57:14 +01:00
Joseph Birr-Pixton dc91282278 ring can't use 2560-bit keys, so don't 2017-12-27 18:25:08 +00:00
Joseph Birr-Pixton be06969f72 Rebuild test certs with appropriate EKU 2017-09-02 12:24:59 -10:00
Joseph Birr-Pixton 924afe1afe Server-side client auth support 2017-01-05 21:19:46 +00:00
Joseph Birr-Pixton d58e16f6bc Clean up handshake hashing 2016-08-14 11:32:51 +01:00
Joseph Birr-Pixton 86594bb7ed basic server-side client auth works 2016-08-14 11:06:29 +01:00
Joseph Birr-Pixton 6aa8b1b278 Update test-ca to not expire 2016-07-05 21:00:32 +01:00
Joseph Birr-Pixton 0650888f78 Restart server work. Handshake completes 2016-06-26 15:05:11 +01:00
Joseph Birr-Pixton 23e9da1dc6 Test rsa and ecdsa suites, and topsites
We can't handshake with netflix. Yikes!
2016-06-05 00:15:05 +01:00
Joseph Birr-Pixton f3e1c5a509 Check in test keys 2016-06-03 02:36:00 +01:00
Joseph Birr-Pixton 82bdabbb0a testing updates 2016-06-03 02:28:28 +01:00
Joseph Birr-Pixton 5f165fb5b1 Add proper argument parsing to s_client 2016-06-01 00:15:45 +01:00