Secure your connections with our custom certificate authority bundle
This certificate bundle contains all necessary certificates for secure connections to our services.
Download CA Certificates BundleOr download individual certificates:
These are non-exhaustive suggested ways to use the cacert bundle. Applications may not use the expected certificates and may need further investigation.
To install the CA certificate on Windows:
cacert.pem fileAlternatively, using PowerShell (Run as Administrator):
Import-Certificate -FilePath .\cacert.pem -CertStoreLocation Cert:\LocalMachine\Root
To install the CA certificate on macOS:
Using terminal:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ./cacert.pem
For Debian/Ubuntu:
sudo cp ./cacert.pem /usr/local/share/ca-certificates/cacerts-bundle.crt
sudo update-ca-certificates
For RHEL/CentOS/Fedora:
sudo cp ./cacert.pem /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extract
For Alpine Linux:
sudo cp ./cacert.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates
To make Docker trust the CA certificate:
mkdir -p ~/.docker/certs.d/your-registry-domain:port
cp ./cacert.pem ~/.docker/certs.d/your-registry-domain:port/ca.crt
sudo mkdir -p /etc/docker/certs.d/your-registry-domain:port
sudo cp ./cacert.pem /etc/docker/certs.d/your-registry-domain:port/ca.crt
sudo systemctl restart docker
Or update the Docker daemon configuration:
sudo nano /etc/docker/daemon.json
Add the following:
{
"certs.d": {
"your-registry-domain:port": {
"ca.crt": "/path/to/cacert.pem"
}
}
}
sudo systemctl restart docker
Using environment variables:
NODE_EXTRA_CA_CERTS=/path/to/cacert.pem node your-script.js
In your code:
const https = require('https');
const fs = require('fs');
const options = {
ca: fs.readFileSync('/path/to/cacert.pem')
};
https.request(options, (res) => {
// Your code here
});
For npm:
npm config set cafile /path/to/cacert.pem
Using environment variables:
export SSL_CERT_FILE=/path/to/cacert.pem
go run your-program.go
In your code:
package main
import (
"crypto/tls"
"crypto/x509"
"io/ioutil"
"log"
"net/http"
)
func main() {
caCert, err := ioutil.ReadFile("/path/to/cacert.pem")
if err != nil {
log.Fatal(err)
}
caCertPool := x509.NewCertPool()
caCertPool.AppendCertsFromPEM(caCert)
client := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
RootCAs: caCertPool,
},
},
}
// Use client for requests
}
Add to shell and pip environment (.envrc and ~/.zshrc or ~/.bashrc):
export CERT_PATH=/path/to/cacert.pem
export SSL_CERT_FILE=${CERT_PATH}
export REQUESTS_CA_BUNDLE=${CERT_PATH}
export CURL_CA_BUNDLE=${CERT_PATH}
Or with a package:
Use certifi:
pip install certifiAdd to Java's trusted certificates:
keytool -importcert -file ./cacert.pem -alias custom-ca -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit
Use custom truststore:
keytool -importcert -file ./cacert.pem -alias custom-ca -keystore custom-truststore.jks -storepass your-password
Start Java application with:
java -Djavax.net.ssl.trustStore=/path/to/custom-truststore.jks -Djavax.net.ssl.trustStorePassword=your-password YourApplication
In your code:
System.setProperty("javax.net.ssl.trustStore", "/path/to/custom-truststore.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "your-password");
To verify that the CA certificate is properly installed:
curl --cacert ./cacert.pem https://ca-test.fen.intra
curl --cacert ./cacert.pem https://ca-test.dev.fen.intra
Invoke-WebRequest -Uri https://ca-test.fen.intra
Invoke-WebRequest -Uri https://ca-test.dev.fen.intra
If the certificate is correctly installed, you should not see any SSL/TLS errors.