Skip to content

Add NX-API PKCS#12 workaround for certificate provisioning#382

Draft
felix-kaestner wants to merge 1 commit into
mainfrom
fix/cert-nx-api
Draft

Add NX-API PKCS#12 workaround for certificate provisioning#382
felix-kaestner wants to merge 1 commit into
mainfrom
fix/cert-nx-api

Conversation

@felix-kaestner
Copy link
Copy Markdown
Contributor

gNOI LoadCertificate on NX-OS does not support CA chains and creates immutable KeyPair entries that block rotation.

Work around both issues by encoding the certificate as PKCS#12 and importing it via NX-API CLI commands for older versions.

Also pass the CA chain to gNOI LoadCertificate for >= 10.7(1) which is expected to fix this issue (to be tested when released).

See #162

@felix-kaestner felix-kaestner requested a review from a team as a code owner May 28, 2026 14:44
gNOI LoadCertificate on NX-OS does not support CA chains and creates
immutable KeyPair entries that block rotation.

Work around both issues by encoding the certificate as PKCS#12
and importing it via NX-API CLI commands for older versions.

Also pass the CA chain to gNOI LoadCertificate for >= 10.7(1) which is
expected to fix this issue (to be tested when released).

See #162

Signed-off-by: Felix Kästner <felix.kaestner@sap.com>
@github-actions
Copy link
Copy Markdown

Merging this branch will decrease overall coverage

Impacted Packages Coverage Δ 🤖
github.com/ironcore-dev/network-operator/internal/provider/cisco/nxos 9.81% (-0.14%) 👎

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/ironcore-dev/network-operator/internal/provider/cisco/nxos/cert.go 2.04% (-1.29%) 49 (+19) 1 48 (+19) 👎
github.com/ironcore-dev/network-operator/internal/provider/cisco/nxos/provider.go 0.06% (-0.00%) 1795 (+16) 1 1794 (+16) 👎
github.com/ironcore-dev/network-operator/internal/provider/cisco/nxos/version.go 0.00% (ø) 7 0 7

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

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