open-vault/builtin/logical/pki
Alexander Scheel ad3a093b40
Prevent PSS with Go-incompatible CAs, CSRs, Private Keys (#17223)
* Fix interoperability concerns with PSS

When Go parses a certificate with rsaPSS OID, it will accept this
certificate but not parse the SubjectPublicKeyInfo, leaving the
PublicKeyAlgorithm and PublicKey fields blank, but otherwise not erring.
The same behavior occurs with rsaPSS OID CSRs.

On the other hand, when Go parses rsaPSS OID PKCS8 private keys, these
keys will fail to parse completely.

Thus, detect and fail on any empty PublicKey certs and CSRs, warning the
user that we cannot parse these correctly and thus refuse to operate.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Run more PKI tests in parallel

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add notes about PSS shortcomings to considerations

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2022-09-20 17:30:58 -04:00
..
cmd/pki
backend.go Basics of Cert-Count Non-Locking Telemetry (#16676) 2022-09-20 10:32:20 -07:00
backend_test.go Prevent PSS with Go-incompatible CAs, CSRs, Private Keys (#17223) 2022-09-20 17:30:58 -04:00
ca_test.go
ca_util.go
cert_util.go Prevent PSS with Go-incompatible CAs, CSRs, Private Keys (#17223) 2022-09-20 17:30:58 -04:00
cert_util_test.go Add "plumbing" for surfacing warnings, and warning overwriting ttl (#17073) 2022-09-15 12:38:33 -07:00
chain_test.go
chain_util.go
config_util.go
crl_test.go Prevent PSS with Go-incompatible CAs, CSRs, Private Keys (#17223) 2022-09-20 17:30:58 -04:00
crl_util.go Basics of Cert-Count Non-Locking Telemetry (#16676) 2022-09-20 10:32:20 -07:00
fields.go
integation_test.go
key_util.go
managed_key_util.go
ocsp.go
ocsp_test.go
path_config_ca.go
path_config_crl.go
path_config_urls.go
path_fetch.go
path_fetch_issuers.go
path_fetch_keys.go
path_intermediate.go Add "plumbing" for surfacing warnings, and warning overwriting ttl (#17073) 2022-09-15 12:38:33 -07:00
path_issue_sign.go Basics of Cert-Count Non-Locking Telemetry (#16676) 2022-09-20 10:32:20 -07:00
path_manage_issuers.go
path_manage_keys.go
path_manage_keys_test.go
path_revoke.go
path_roles.go
path_roles_test.go
path_root.go Basics of Cert-Count Non-Locking Telemetry (#16676) 2022-09-20 10:32:20 -07:00
path_sign_issuers.go
path_tidy.go Basics of Cert-Count Non-Locking Telemetry (#16676) 2022-09-20 10:32:20 -07:00
path_tidy_test.go
secret_certs.go
storage.go Prevent PSS with Go-incompatible CAs, CSRs, Private Keys (#17223) 2022-09-20 17:30:58 -04:00
storage_migrations.go
storage_migrations_test.go
storage_test.go Add "plumbing" for surfacing warnings, and warning overwriting ttl (#17073) 2022-09-15 12:38:33 -07:00
test_helpers.go
util.go Add "plumbing" for surfacing warnings, and warning overwriting ttl (#17073) 2022-09-15 12:38:33 -07:00