Create self‑signed SSL/TLS certificates and Certificate Signing Requests (CSR) instantly. Now with Subject Alternative Name (SAN) to cover multiple domains/IPs. All cryptographic operations happen in your browser – your private key is never transmitted.
An SSL/TLS certificate enables encrypted communication between a client and a server. It contains the server's public key, identity information, and a digital signature from a trusted authority (or itself, in case of self‑signed certificates). Our generator creates X.509 certificates compliant with RFC 5280, usable with Apache, Nginx, IIS, Node.js, and many other platforms.
“Self‑signed certificates are perfect for development and internal networks, but for public sites you need a CA‑signed certificate to avoid security warnings.” – Mozilla SSL Configuration Generator
Modern browsers and clients require that certificates list all domain names and IP addresses they protect in the subjectAltName extension. The Common Name (CN) field is deprecated for multi‑domain validation. Our tool automatically includes the CN as a SAN entry and lets you add additional DNS names or IP addresses. This is essential for certificates that need to secure multiple services, e.g., example.com, www.example.com, and mail.example.com.
We use the jsrsasign library, a pure JavaScript implementation of RSA, ECDSA, and X.509. When you click "Generate":
All operations are asynchronous but fast. The private key is displayed in PEM format and can be downloaded as .key file; the certificate as .crt or .pem.
| Type | Trust | Use Case | Browser Warning |
|---|---|---|---|
| Self‑signed | Not automatically trusted | Dev, testing, internal | Yes (unless manually added to trust store) |
| CA‑signed (e.g., Let's Encrypt) | Trusted by default | Public websites | No |
| Private CA | Trusted within organization | Enterprise internal apps | No after CA certificate installed |
A developer working on a microservices architecture needed to test HTTPS across multiple services: api.dev.local, auth.dev.local, and app.dev.local. Using this generator with SAN, they created a single certificate covering all three domains, installed it on their development machine's trust store, and eliminated browser warnings while testing OAuth and secure cookies.
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt for PKCS#12. For DER, use openssl x509 -outform der -in certificate.crt -out certificate.der.