ironcore-dev / ironcore-dev/network-operator

Cisco NX-OS: gNOI endpoint `LoadCertificateRequest` does not allow setting `ca_certificate`

Open
#162 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/switch-automation firmware-bug platform/nx vendor/cisco
Dominant language
Go
Stars
11
Forks
7
Avg merge
1d 7h
Merged PRs (30d)
40

Description

Problem Statement

The Cisco NXOS gNOI API for the LoadCertificateRequest endpoint (see here) does not allow setting a ca_certificate, which prevents installing certificates from a private CA. The client cannot validate the chain of trust as it cannot be linked to the issuing CA because the field is missing. This restriction effectively limits certificate installation to self-signed certificates only.

This script can be run to trigger the condition.

Vendor Acknowledgement

Cisco has labeled this issue as a feature request rather than a bug, but we argue that in conjunction with #161, the gNOI endpoint cannot handle private CA installations at all. See CSCws33167.

Additionally, this gNOI endpoint leaks private keys to the disk by running crypto ca import $trustpoint pkcs bootflash:temp_pkcs_$hex_value cisco123 in the background, where cisco123 is a static password used on every import.

Workarounds

Provision and manage TLS certificates via ZTP and NX-API for better security and control over the certificate installation process.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the gNOI cert.proto LoadCertificateRequest definition and run the linked reproduction script against Cisco NX-OS. Determine whether network-operator has an entry point for this endpoint and clarify whether the requested scope includes ca_certificate support, private-key handling, or both; done should be an agreed, reproducible path for private-CA installation.

Written by the indexing model from the issue text.

Assessment

Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.