- Self-signed server certificates on source automation or database systems.
- Corporate proxies and firewalls performing TLS inspection by injecting certificates signed by an internal Certificate Authority (CA).
- Mutual TLS (mTLS) requiring client authentication certificates.
- Forward proxies routing outbound traffic from the extractor host.
Prerequisites
Verify all of the following before you start:- You know which extractor you are running and whether it uses the .NET runtime or Python (
httpxorrequests). See Identify your extractor runtime. - You have administrator or root access on the extractor host so you can update the certificate store or environment variables.
- You have the CA or self-signed server certificate in
.cer,.crt,.pem, or.pfxformat. For mTLS, you also have the client certificate and private key. - The extractor is installed, and you can restart its Windows service, Linux process, or container.
Identify your extractor runtime
Extractors use different cryptographic trust stores and TLS libraries depending on their underlying runtime:Configure trust for self-signed certificates and private CAs
When a source system presents a self-signed certificate, the extractor must trust that certificate to establish an encrypted connection. The same trust is required if a corporate proxy inspects outbound TLS traffic using an internal CA.- .NET extractors
- Python extractors
Windows host
Obtain the certificate
.cer, .crt, or .pfx format.Import into the local machine store
- Open the Start menu, search for
Manage computer certificates(certlm.msc), and open it. - Expand Trusted Root Certification Authorities > Certificates.
- Right-click Certificates, select All Tasks > Import, and follow the wizard to import your certificate file into the Local Machine store.
Restart the extractor service
Linux host
Copy the certificate to the system trust directory
.crt format) to the system store:Restart the extractor
Verify certificate trust
After you restart the extractor, confirm it connects without certificate errors:- Start or restart the extractor.
- Check the extractor log. A successful TLS handshake does not include
CERTIFICATE_VERIFY_FAILED,certificate verify failed, orself signed certificate. - If errors persist, use Troubleshooting certificate and connection errors.
mTLS certificate practices
Some source systems (such as secure OPC UA endpoints, REST APIs, or MQTT brokers) require mutual TLS, where the extractor presents a client certificate to prove its identity. Extractor YAML for client certificates is product-specific — for the Cognite OPC UA extractor, seex509-certificate in the configuration reference.
- Secret managers: Store private keys and client certificates in a vault such as Azure Key Vault or AWS Secrets Manager when you can. Many extractors support
!keyvault <secret-name>in YAML. See the configuration reference for your extractor. - File-based certificates: If you use local file paths, restrict filesystem permissions so only the extractor service account can read the files.
- Certificate renewal: Rotate certificates before they expire so extraction does not stop.
Configure forward proxy settings
If your network routes outbound internet traffic through an HTTP or HTTPS forward proxy to reach CDF APIs and your identity provider (such as Microsoft Entra ID), configure standard proxy environment variables.Standard proxy environment variables
Most extractors honor standard proxy environment variables:NO_PROXY so the extractor communicates directly with local data sources without routing through the external proxy.Troubleshooting certificate and connection errors
SSL: CERTIFICATE_VERIFY_FAILED / certificate verify failed: self signed certificate
SSL: CERTIFICATE_VERIFY_FAILED / certificate verify failed: self signed certificate
- Check whether the source system uses a self-signed certificate or whether an intermediate proxy is intercepting the connection.
- Export the root CA or self-signed certificate.
- Add the certificate to the OS trust store (for .NET extractors) or configure
SSL_CERT_FILE/REQUESTS_CA_BUNDLE(for Python extractors).
Extractor fails to connect when corporate proxy TLS inspection is active
Extractor fails to connect when corporate proxy TLS inspection is active
SSL_CERT_FILE or REQUESTS_CA_BUNDLE.Should I use ignore-certificate-issues or auto-accept in production?
Should I use ignore-certificate-issues or auto-accept in production?
source.ignore-certificate-issues: true, source.auto-accept: true, or verify: false disable certificate validation and leave telemetry and credentials open to interception.Solution:
Do not use these flags in production. Use them only for short diagnostic tests, then restore validation. See the Warning in Verify certificate trust.