Skip to main content

What Is CAcert CER?

by
Last updated on 10 min read

CAcert CER refers to public key certificates issued by CAcert.org, a community-driven certificate authority that provides free SSL/TLS certificates for websites, email systems, and other encryption needs

In practice, these certificates work just like any other X.509 certificate, but you’ll often need to install CAcert’s root manually to get them recognized.

What is Cacert and CERT?

CAcert is a community-driven certificate authority that issues free public key certificates (CER), while CERT typically refers to a public key certificate issued for a specific domain or service

Generally, CAcert runs as a non‑profit that hands out free digital certificates to anyone who needs them. Typically, the certificates follow standard encryption protocols, yet most browsers and OSes don’t trust them out‑of‑the‑box. In other words, the word “CERT” is a catch‑all for any public key certificate issued by a CA – CAcert’s included. That said, because CAcert’s root isn’t in the default trust stores, you’ll often have to add it manually.

What is Cacert file?

A CAcert file (typically cacerts) is a system-wide keystore containing trusted root certificates issued by CAcert and other certificate authorities

In most Java setups, this file acts as a master list of trusted roots. Typically it ships with the JDK and already contains certs from big commercial CAs. You can tinker with it via the keytool utility that comes with the JDK. Since Java 17, the default storage switched from the old JKS format to PKCS12, and the file now lives under JAVA_HOME/conf/security/cacerts on recent installs. Honestly, keeping an eye on this file can save you a lot of headaches.

How do I get a Cacert certificate?

You can obtain a CAcert certificate by submitting a Certificate Signing Request (CSR) through CAcert's website or generating a key pair and certificate using OpenSSL commands

First, spin up a private key and a CSR, for example with: openssl req -new -newkey rsa:4096 -nodes -keyout yourdomain.key -out yourdomain.csr. Next, hop over to CAcert’s portal and paste in that CSR. Once they’ve run their checks, you’ll be able to download the signed certificate and drop it onto your server. Keep in mind CAcert also hands out Class 3 root certificates for internal networks, but those won’t be trusted out‑of‑the‑box on the public internet. For the latest steps, swing by CAcert’s official site. Honestly, the process is straightforward if you follow the instructions.

Is Cacert trusted?

As of 2026, CAcert certificates are not trusted by default in major web browsers and operating systems, including Chrome, Firefox, Windows, and macOS

Because browser and OS vendors keep CAcert’s root out of their default trust stores, you won’t see it auto‑accepted. Their certs do employ solid SHA‑256 hashing, yet the missing inclusion curtails real‑world use. You could manually add CAcert’s root to a machine, but that’s generally a bad idea for public sites. In most cases, it’s safer to grab a certificate from a widely‑trusted CA such as Let’s Encrypt, which plays nicer with browsers. A quick look at Mozilla’s CA inclusion list (see the link) shows CAcert isn’t there. Honestly, I’d stick with a mainstream CA for anything customer‑facing.

Can I copy cacerts file?

You should not directly copy the cacerts file across different Java versions, as each version includes specific trusted certificates that may differ

Every Java release bundles its own set of trusted roots, so the cacerts file you get with one version may differ from another. If you just copy the file wholesale, you might run into mismatches or even open security holes. A safer route is to export the specific certs you need with keytool -exportcert, then import them into the target cacerts using keytool -importcert. That way you only move what’s required and keep things tidy. Note that starting with Java 11 the default location shifted to JAVA_HOME/conf/security/cacerts. Honestly, taking the export‑import path saves a lot of trouble.

How do I read a cacerts file?

You can read a cacerts file using the Java Keytool command keytool -list -keystore cacerts with the default password "changeit"

Open a terminal and fire off keytool -list -keystore "path/to/cacerts" -storepass changeit, swapping in the real path to your file. On a Windows machine running Java 17 you’ll usually see it under C:\Program Files\Java\jre-17\lib\security\cacerts. Linux folks typically find it at $JAVA_HOME/lib/security/cacerts. If you want the full scoop – issuer, dates, algorithms – tack on the -v flag. Running this command lets you peek at the certificates your Java runtime trusts out of the box. Honestly, it’s a handy way to double‑check your trust store.

How do I open a .keystore file?

You can open a .keystore file using the KeyStore Explorer GUI tool or the Java Keytool command keytool -list -keystore yourfile.keystore

If you prefer a GUI, KeyStore Explorer gives you a friendly interface on Windows, macOS or Linux. Just grab it from keystore-explorer.org, then swing open your file via Menu → Open → Open KeyStore. For those who live in the terminal, the keytool -list -keystore yourfile.keystore -storepass yourpassword command will dump the contents. Remember, you’ll need the keystore password – misplacing it basically locks you out. Both approaches let you juggle certificates and private keys stored in JKS or PKCS12 containers. Honestly, the GUI makes life easier for most people.

What is difference between cacerts and keystore?

The cacerts file stores trusted root certificates from certificate authorities, while a keystore file stores private keys and certificates for your own applications or servers

Think of cacerts as a system‑wide phone book that lists trusted root CAs, so Java apps can verify TLS handshakes. A keystore, on the other hand, is where you stash your own private keys and the public certs you need for your servers. Typically, cacerts is read‑only for everyday users, whereas keystores get regular attention – you add, remove, or rotate certs as they age or services shift. That’s why you’ll see cacerts stay static while keystores are a moving target. Honestly, mixing them up can cause confusion, so keep them separate.

What is Java cacerts password?

The default password for Java's cacerts file is "changeit", which should be changed immediately after installation for security purposes

That password stops anyone from tampering with the cacerts store. By default Java ships with “changeit”, so you’ll want to swap it out as part of your initial hardening. To do that, run keytool -storepasswd and follow the prompts for the old and new passwords. In production, never stick with the default – it’s a common weak point. Keep in mind this password is distinct from any keystore passwords your apps might use. Honestly, changing it early saves you a security audit later.

How do I issue a certificate?

To issue a certificate, generate a Certificate Signing Request (CSR) and submit it to a certificate authority, which will return a signed certificate after validation

Start by generating a CSR – a quick OpenSSL one‑liner does the trick: openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr. Then send that CSR to the CA of your choice; they’ll usually check you own the domain or verify your organization. Once they’re satisfied, they’ll hand back a signed cert (often a .crt or .pem). Drop that cert on your server next to the private key you created earlier. Remember, the steps vary a bit if you’re dealing with an internal CA like CAcert versus a public one such as Let’s Encrypt or DigiCert. Public CAs tend to have tighter validation and may charge, whereas community CAs often give you a free cert with a lighter vetting process. Honestly, for most hobby projects Let’s Encrypt is the easiest route.

Does it cost money to get https?

Free HTTPS certificates are available from providers like Let's Encrypt, while paid certificates from commercial CAs typically cost $10 to $1,000+ per year depending on validation level

If you’re looking for a zero‑price option, Let’s Encrypt hands out domain‑validated certs through tools like Certbot, so HTTPS is within reach for anyone. On the commercial side, you’ll see prices start around $10 for a simple DV cert and can climb past $1,000 for EV certs that verify your company’s identity. A few vendors even throw in free trials or money‑back guarantees. The price gap usually mirrors how thorough the validation is, the level of support you get, and any warranty that comes with the cert. As of 2026, Let’s Encrypt alone has handed out more than 2.5 billion certificates, proving that free HTTPS is more than just a gimmick. Honestly, most small sites are fine with the free option.

How do I generate a CA certificate?

To generate a CA certificate, create a 2048-bit or stronger RSA key pair and self-signed root certificate using OpenSSL's req and x509 commands

First, spin up a strong private key, for example: openssl genrsa -out ca.key 4096. Then create a self‑signed root cert that lives for a decade with: openssl req -new -x509 -key ca.key -out ca.crt -days 3650. Tweak your OpenSSL.cnf to fill in organization info and any policies you need. That root cert can now sign subordinate certs for your internal services. Keep in mind browsers won’t trust a self‑signed CA out‑of‑the‑box – you’ll have to add it to the trust store manually. When you need to bundle it for apps, you can use keytool or OpenSSL to produce a PKCS12 or JKS keystore containing your CA cert. Honestly, this approach works well for test labs, but not for public‑facing services.

What does a certification authority do?

A certification authority (CA) issues, manages, and revokes digital certificates that verify the ownership of public keys, enabling secure communication and authentication across networks

In practice, a CA checks that a domain, organization, or person actually owns the public key they claim, then signs a certificate to bind the two. That signature creates a trust chain so clients can verify a server’s identity without needing a prior handshake. Big browsers and OSes ship with root certs from well‑known CAs, giving them a built‑in trust anchor. Depending on the product, CAs may run simple automated domain checks or go through a heavy‑weight identity vetting for EV certificates. They also publish revocation data – via CRLs or OCSP – so you can tell if a cert has been pulled. Honestly, the CA’s role is the backbone of the web’s security model.

Where is keystore JKS located?

The default location for keystore JKS files varies by Java version, commonly found in JAVA_HOME/lib/security/keystore.jks or JAVA_HOME/conf/security/keystore.jks for Java 9+

If you’re on Windows running Java 8, you’ll usually find the default JKS keystore at C:\Program Files\Java\jre1.8.0_XXX\lib\security\keystore.jks. Starting with Java 9 the security files migrated to JAVA_HOME/conf/security/, so look there for newer releases. On most Linux boxes the path ends up as $JAVA_HOME/lib/security/keystore.jks. That said, many apps ship their own keystore in the project folder rather than using the system default. It’s a good idea to double‑check where your particular Java install puts things, especially if you have multiple versions side by side. Remember, the file won’t exist until you generate one with keytool. Honestly, creating a dedicated keystore for each app keeps things tidy.

How do I download CAcert?

You can download CAcert's root certificates and documentation from their official website at cacert.org, where you'll also find enrollment instructions

Head over to cacert.org and grab the root certificates you need – they’ll let your system trust anything CAcert signs. The download page offers Class 1, Class 3, and Class 4 roots, plus step‑by‑step guidance on how to import them into your trust store. You’ll also find docs on how to enroll for a cert and manage it later. Just remember that browsers don’t ship with CAcert’s roots, so you’ll have to install them yourself. (Side note: community‑run CAs can sometimes run into funding or staffing issues, so it’s worth checking that the service is still active.) Honestly, if you’re planning a production site, you might want a more widely‑trusted CA.

Edited and fact-checked by the TechFactsHub editorial team.
Ryan Foster

Ryan Foster is a networking and cybersecurity writer with 12 years of experience as a network engineer. He's configured more routers than he can count and firmly believes that 90% of internet problems are DNS-related. He lives in Austin, TX.