Skip to content

CA_CERT sets SSL_CERT_FILE to the single corporate CA, replacing the entire trust store #73

Description

@alanbem

Problem

When CA_CERT is configured (dclaude:1954-1957):

DOCKER_ARGS+=(
    -e "NODE_EXTRA_CA_CERTS=${CA_CERT}"
    -e "SSL_CERT_FILE=${CA_CERT}"
)

NODE_EXTRA_CA_CERTS is additive — correct. But SSL_CERT_FILE replaces the trust store for every tool that honors it (curl, Python/requests, wget, openssl, …). With only the corporate CA in that file, any TLS connection not intercepted by the corporate proxy fails verification. Typical breakage: direct-to-internet paths, split-tunnel VPN setups, internal services with public certs — with misleading "certificate verify failed" errors that look like the proxy's fault.

Fix

Append instead of replace: mount the cert and have the entrypoint (already root) run

cp "$CA_CERT" /usr/local/share/ca-certificates/dclaude-corp.crt
update-ca-certificates

Then drop SSL_CERT_FILE entirely — the system bundle covers curl/python/etc., and keep NODE_EXTRA_CA_CERTS for Node (which ignores the system store).

Side benefit: removes the current requirement that the cert live inside MOUNT_ROOT (it could be mounted individually), and stops encouraging corporate CA certs to be committed into project trees.


Found during a full-project code review.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions