Skip to content

feat: SPIRE sds coverage - #14

Merged
Manuthor merged 4 commits into
feature/split_keyfrom
spire_sds
Sep 1, 2026
Merged

feat: SPIRE sds coverage#14
Manuthor merged 4 commits into
feature/split_keyfrom
spire_sds

Conversation

@Manuthor

Copy link
Copy Markdown
Contributor

No description provided.

Manuthor and others added 4 commits August 28, 2026 13:59
M-01d / PKI-06: replace always-passing openssl s_client mTLS test with a
real trust-bundle assertion. Compare the SHA-256 fingerprint of the
unauthorized self-signed cert against the KMS-issued trust anchor and
assert they differ.  The old test always passed because the KMS PKI
endpoint does not require client certificates; the new test has a
meaningful fail condition.

M-09 / PKI-03: replace two sign-intermediate calls (issuing two CA certs
with different EKU, which was incorrect) with ONE ckms certificates certify
call that issues a single leaf certificate carrying BOTH clientAuth AND
serverAuth EKU.  This correctly reflects the SPIFFE model: one identity,
one certificate, both TLS roles on the same automated lifecycle.
The certificate is inspected for both EKU and the SPIFFE URI SAN.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add configuration files for the native SPIRE eviden_kms plugins that
speak KMIP 2.1 directly to Eviden KMS — no Vault-compatible layer,
no auth-verifier.

New files:
  certs/spire-client.crt / spire-client.key
      mTLS client certificate for SPIRE → KMS authentication.
      Issued by the test CA (ca.crt), extendedKeyUsage=clientAuth.

  config/kms-kmip.toml
      KMS server config with mTLS enabled:
        [tls] tls_cert_file, tls_key_file, clients_ca_cert_file
      Used by the kms-mtls docker-compose service in kmip-go.

  config/spire-server-kmip-a.conf
  config/spire-server-kmip-b.conf
      SPIRE server configs using eviden_kms KeyManager +
      UpstreamAuthority with cert_auth (mTLS to KMS).
      Counterparts to spire-server-a.conf / spire-server-b.conf
      (vault+auth-verifier stack).

Updated:
  certs/generate-test-certs.sh
      Generates spire-client.crt/key in addition to existing certs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All test certs regenerated to include the new spire-client cert in the CA SRL.
Existing certs (ca.crt, kms.crt, auth.crt, jwt.key.pem) are unchanged in purpose
but have fresh timestamps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Manuthor
Manuthor merged commit d2966ea into feature/split_key Sep 1, 2026
@Manuthor
Manuthor deleted the spire_sds branch September 1, 2026 14:54
Manuthor added a commit that referenced this pull request Sep 1, 2026
* fix(spire/pki): correct M-01d and M-09/PKI-03 test scenarios

M-01d / PKI-06: replace always-passing openssl s_client mTLS test with a
real trust-bundle assertion. Compare the SHA-256 fingerprint of the
unauthorized self-signed cert against the KMS-issued trust anchor and
assert they differ.  The old test always passed because the KMS PKI
endpoint does not require client certificates; the new test has a
meaningful fail condition.

M-09 / PKI-03: replace two sign-intermediate calls (issuing two CA certs
with different EKU, which was incorrect) with ONE ckms certificates certify
call that issues a single leaf certificate carrying BOTH clientAuth AND
serverAuth EKU.  This correctly reflects the SPIFFE model: one identity,
one certificate, both TLS roles on the same automated lifecycle.
The certificate is inspected for both EKU and the SPIFFE URI SAN.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: add SPIRE Discovery SDS

* feat(spire): add eviden_kms KMIP 2.1 plugin configs with mTLS

Add configuration files for the native SPIRE eviden_kms plugins that
speak KMIP 2.1 directly to Eviden KMS — no Vault-compatible layer,
no auth-verifier.

New files:
  certs/spire-client.crt / spire-client.key
      mTLS client certificate for SPIRE → KMS authentication.
      Issued by the test CA (ca.crt), extendedKeyUsage=clientAuth.

  config/kms-kmip.toml
      KMS server config with mTLS enabled:
        [tls] tls_cert_file, tls_key_file, clients_ca_cert_file
      Used by the kms-mtls docker-compose service in kmip-go.

  config/spire-server-kmip-a.conf
  config/spire-server-kmip-b.conf
      SPIRE server configs using eviden_kms KeyManager +
      UpstreamAuthority with cert_auth (mTLS to KMS).
      Counterparts to spire-server-a.conf / spire-server-b.conf
      (vault+auth-verifier stack).

Updated:
  certs/generate-test-certs.sh
      Generates spire-client.crt/key in addition to existing certs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(certs): regenerate test TLS certificates

All test certs regenerated to include the new spire-client cert in the CA SRL.
Existing certs (ca.crt, kms.crt, auth.crt, jwt.key.pem) are unchanged in purpose
but have fresh timestamps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant