🪄 Self-Signed SSL Certificate Generator

Generate a self-signed SSL certificate and RSA private key for use in testing and development environments.

⚠️ A self-signed certificate isn't issued by a trusted CA, so browsers will show a "not secure" warning. Use it only for local development and testing.

How to use

  1. Enter the Common Name (domain) and organization info.
  2. Choose the validity period and key size.
  3. Click "Generate" to download the certificate and private key.

🎯 Use Cases

Example

Input
Common Name: localhost
Country: KR   Validity: 365 days   Key Size: 2048 bit
Output
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgIUbx0Rcj4iJjOAcQZSTq7GgqRE8fcwDQYJKoZIhvcNAQEL
BQAwITELMAkGA1UEBhMCS1IxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yNjA3MjIw
… (a private key key.pem is generated too)
-----END CERTIFICATE-----

Setting the Common Name to localhost produces a self-signed certificate (cert.pem) whose subject and issuer match, plus a private key (key.pem). Each generation uses a fresh random key, so the actual value differs every time; the output above is a representative sample.

What self-signed certificates are

A self-signed certificate is issued by yourself with no CA — for dev and testing only.

ItemDetails
Issuer = subjectNo signing CA — outside the browser trust chain
Generated partsAn RSA key pair — certificate (public) and key (private) files
Good forLocal development, internal testing, staging
Not forPublic services — visitors see a security warning

FAQ

Is the private key sent to a server?
No. RSA key generation and signing are all handled by the browser's Web Crypto API, and the generated output follows the same logic that has been verified with actual openssl signature verification.
Can I use this in production?
A self-signed certificate isn't signed by a trusted Certificate Authority (CA), so visitors' browsers will show a warning. For production, use a certificate from a public CA such as Let's Encrypt.
Can I use the generated certificate on a local dev server?
Yes. If you set a local domain such as localhost as the Common Name, you can use it directly with a local HTTPS dev server.
Is the browser warning abnormal?
It is expected — the cert is not from a trusted CA. Proceed via Advanced → continue for testing.
Can it serve a real site?
Not recommended. Use a free CA certificate like Let's Encrypt for public services.

More Security Tools

🔑
Password Generator
Generate strong random passwords
#️⃣
Hash Generator
Generate MD5, SHA-1, SHA-256 hashes
📱
QR Code Generator
Turn text/URLs into a QR code
🗝️
htpasswd Generator
Generate APR1-MD5 hashed passwords
🔍
SSL Certificate Viewer
Check issuer, validity & SANs
📜
CSR Viewer
Check CSR subject & public key info
♻️
SSL Certificate Converter
Convert PEM ↔ DER (HEX)
🤝
Cert/Key Pair Checker
Verify a certificate matches its private key
🩺
SSL Checker
Check HTTPS connectivity & trust
🔐
Base64 Encode/Decode
Convert text ↔ Base64
🔑
HTTP Auth Header Generator
Build Basic/Bearer Authorization headers
🪪
JWT Decoder
Inspect JWT header/payload, verify HS256
🎫
Random Token Generator
Generate Hex/Base64/UUID tokens
🔒
Jasypt Encrypt/Decrypt
Encrypt/decrypt Spring Boot ENC(...) values