Skip to main content

Manage Chrome-trusted CA certificates in Palo Alto Strata Cloud Manager

Project description

scm-chainguard

Manage Trusted CA certificates for Outbound Decryption in Strata Cloud Manager

Python License


Beta: This project is under active development. APIs, CLI flags, and behavior may change between releases. Use --dry-run to preview changes before applying them.

Overview

scm-chainguard keeps your Strata Cloud Manager SSL decryption trust store in sync with publicly trusted CA certificates maintained by CCADB. It downloads the latest root (and optionally intermediate) CA certificates from one or more trust stores (Chrome, Mozilla, Microsoft, Apple, or all), compares them against what is already configured in SCM, imports any missing certificates, and adds them to the trusted root CA list used for SSL decryption.

All managed certificates are prefixed with CG_ so they can be identified and cleaned up independently.

Features

  • Fetch trusted root and intermediate CA certificates from CCADB (Chrome, Mozilla, Microsoft, Apple, or all stores)
  • Compare local certificates against SCM predefined and imported certificate stores
  • Sync missing certificates into SCM and configure them as trusted roots
  • Revoke certificates that have been removed or blocked by the trust store
  • Cleanup expired CG_-managed certificates from SCM
  • Dry-run mode for all write operations

Requirements

  • Python >= 3.11
  • An SCM service account with client_id, client_secret, and tsg_id

Installation

pip install scm-chainguard

Or install from source:

git clone https://gitlab.com/dephell/scm-chainguard.git
cd scm-chainguard
pip install -e "."

Configuration

Set environment variables:

export SCM_CLIENT_ID="your-client-id"
export SCM_CLIENT_SECRET="your-client-secret"
export SCM_TSG_ID="your-tsg-id"

Or use a YAML config file:

scm:
  client_id: "your-client-id"
  client_secret: "your-client-secret"
  tsg_id: "your-tsg-id"

Quick Start

# Download Chrome-trusted root CAs from CCADB (default store)
scm-chainguard fetch

# Fetch from a different trust store
scm-chainguard fetch --store mozilla
scm-chainguard fetch --store apple
scm-chainguard fetch --store microsoft

# Fetch from all trust stores at once
scm-chainguard fetch --store all

# Include intermediate certificates
scm-chainguard fetch --store chrome --include-intermediates

# Compare local certs against SCM
scm-chainguard compare
scm-chainguard compare --store mozilla

# Import missing certs and add as trusted roots (dry-run first)
scm-chainguard sync --dry-run
scm-chainguard sync
scm-chainguard sync --store all --include-intermediates

# Full pipeline: fetch -> compare -> sync
scm-chainguard run --dry-run
scm-chainguard run
scm-chainguard run --store mozilla

# Remove CG_-managed certificates distrusted by the trust store
scm-chainguard revoke --dry-run
scm-chainguard revoke
scm-chainguard revoke --store all

# Remove expired CG_-managed certificates
scm-chainguard cleanup --dry-run
scm-chainguard cleanup

Common Options

Option Description
--config / -c Path to YAML config file
--debug Enable debug logging
--log-file Write logs to file
--dry-run / -n Show what would be done without making changes
--include-intermediates / -i Include intermediate certificates
--store / -s Trust store to filter by: chrome (default), mozilla, microsoft, apple, all

Disclaimer

scm-chainguard currently imports all certificates in the 'Global' folder due to an existing SCM API Implementation.

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scm_chainguard-0.1.2.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scm_chainguard-0.1.2-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file scm_chainguard-0.1.2.tar.gz.

File metadata

  • Download URL: scm_chainguard-0.1.2.tar.gz
  • Upload date:
  • Size: 48.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for scm_chainguard-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a8543419dc3d60d60e9c5244cf93c80f81aca76074600c3ed8bf40ee889910ea
MD5 9d739ae6430cb2bc87b75fdd47dccb1f
BLAKE2b-256 c3857fdd1d4e7d44e8ee895a0f5c215625684d00b4afa8b1f1643ad5a1b79d79

See more details on using hashes here.

File details

Details for the file scm_chainguard-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: scm_chainguard-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for scm_chainguard-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 04e176bbfe0f6765a8c26916f505add12f4e0ed379debc0db1541815883b6f45
MD5 325e8dcb3d3b22cf34c748e5088a38b0
BLAKE2b-256 00425f15542621bc7e552253e8178fb48eef47b1929f4870258ed9a41f95f3ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page