Network Device Trustpoint Pusher

A web application for managing and pushing CA certificates to network devices.

Features

  • Store and manage CA certificates
  • Secure credential management
  • Push certificates to multiple network devices
  • Real-time status monitoring
  • Session logging for troubleshooting

Screenshots

CA Certificate Management

CA Certificate Management
Upload and manage CA certificates with ease

Credential Management

Credential Management
Securely store and manage device credentials

Push Configuration

Push Configuration
Push certificates to multiple devices with real-time status updates

Installation

  1. Clone the repository:
git clone https://github.com/jbhoorasingh/cisco-trustpoint-push.git
cd cisco-trustpoint-push
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the application:
uvicorn main:app --reload

The application will be available at http://localhost:8000

Usage

  1. Store CA Certificate

    • Upload your CA certificate in PEM format
    • The certificate will be stored securely
  2. Store Credentials

    • Enter device credentials
    • Credentials are encrypted and stored securely
  3. Push Configuration

    • Enter one or more device IPs/FQDNs (one per line)
    • Click "Push Configuration"
    • Monitor real-time status for each device
    • Green check mark indicates success
    • Red X indicates failure

Session Logs

Session logs are stored in the data/session_logs directory. Each device's session is logged separately for troubleshooting purposes.

Security

  • Credentials are encrypted using Fernet (symmetric encryption)
  • CA certificates are stored securely
  • No sensitive data is exposed in the logs

Requirements

  • Python 3.7+
  • FastAPI
  • Netmiko
  • Cryptography
  • Uvicorn

License

This project is licensed under the MIT License - see the LICENSE file for details.

View code on GitHub

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.