SSL Sertifikası Oluşturucu
Kimlik
Sertifika
Özel anahtar (gizli tutun!)
Kendinden imzalı sertifikalara tarayıcılar varsayılan olarak güvenmez - yalnızca yerel geliştirme, test veya özel ağlar için kullanın.
Yerel geliştirme veya dahili testler için kendinden imzalı bir sertifikayı doğrudan tarayıcınızda oluşturun. RSA anahtar boyutunu (2048, 3072 veya 4096 bit), Common Name değerini, Subject Alternative Names girişlerini, geçerlilik penceresini ve temel kuruluş bilgilerini seçersiniz. Sertifika ve özel anahtarı tarayıcınızda oluşturulur ve asla sunucumuza gönderilmez; her ikisini de Nginx veya Apache için hazır PEM dosyaları olarak indirirsiniz.
Sertifika oluşturma nasıl çalışır
-
1
RSA anahtar boyutunu seçin
2048 bit çoğu test için yeterlidir; 3072 veya 4096, hız pahasına daha büyük bir anahtar sağlar.
-
2
Konuyu ve SAN girişlerini yazın
Common Name ile birlikte sertifikanın kapsaması gereken her ana bilgisayar adı veya IP (modern tarayıcılar CN yerine SAN kullanır).
-
3
Tarayıcıda oluşturun
Kendinden imzalı bir sertifika oluşturulur ve karşılık gelen özel anahtarla imzalanır; tümü tarayıcınızda yerel olarak gerçekleşir.
-
4
Çıktıyı indirin
PEM kodlu bir sertifika (`cert.pem`) ve PEM biçiminde özel anahtar (`key.pem`), kuruluma hazır.
Her şey tarayıcınızda gerçekleşir
Bu oluşturucu tamamen tarayıcınızda çalışır. RSA anahtar çifti bir JavaScript kripto kitaplığıyla yerel olarak oluşturulur, sertifika cihazınızda imzalanır ve ne özel anahtar ne de sertifika sunucumuza yüklenir. Yine de özel anahtarı bir sır gibi koruyun: eline geçiren herkes sertifikayı taklit edebilir.
Kendinden imzalı ne demektir
Hem veren hem konu sizsiniz: sertifika kendi özel anahtarıyla imzalanır, dolayısıyla hiçbir herkese açık sertifika yetkilisi (CA) ona kefil olmaz. Bu yüzden tarayıcılar bir uyarı gösterir. Testler, yerel geliştirme (localhost, dev.local) ve sertifikayı güvenmesi gereken istemcilere dağıtabildiğiniz dahili sunucular için uygundur.
Herkese açık internetin güvendiği bir sertifikaya ihtiyacınız varsa bu araç doğru adım değildir: bir CA imzalı sertifikaya (örneğin Let’s Encrypt veya ücretli bir CA) ihtiyacınız vardır; bu da bir sertifika imzalama isteği (CSR) ve bu tarayıcı aracının yapmadığı bir alan adı doğrulaması gerektirir.
Sertifikada neler bulunur
| Alan | Notlar |
|---|---|
| Konu (CN, O, C) | Common Name, Kuruluş, Ülke |
| Subject Alternative Names | Kapsanan her alan adı veya IP (kritik!) |
| Genel anahtar | RSA, oluşturulan özel anahtardan türetilir |
| Veren | Kendinden imzalı olduğu için konuyla aynı |
| Geçerlilik | Not Before / Not After (geçerlilik günleriniz) |
| Key Usage | digitalSignature, keyEncipherment |
| Extended Key Usage | serverAuth, clientAuth |
| Basic Constraints | CA:FALSE (yaprak sertifika, CA değil) |
Çıktı dosyaları
key.pem, özel anahtar (koruyun, mod 0600)cert.pem, kendinden imzalı sertifika (herkese açık, dağıtılabilir)
Nginx için
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
Apache 2.4+ için
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
Sertifikaya kendi makinelerinizde güvenmek
Denetlediğiniz bir makinede tarayıcı uyarısını susturmak için cert.pem dosyasını o sistemin veya tarayıcının güven deposuna aktarın. Bunu yalnızca kendiniz oluşturduğunuz sertifikalar için ve size ait cihazlarda yapın. mkcert gibi araçlar birden çok hizmet için yerel bir CA otomasyonu sağlar; bu oluşturucu her seferinde tek bir kendinden imzalı sertifika üretir.
Kendinden imzalı sertifika neye uygun değildir
- Herkese açık web siteleri. Kullanıcılar bir uyarı görür ve çoğu ayrılır.
- Üçüncü taraf API entegrasyonları. Çoğu istemci bilinmeyen verenleri reddeder.
- Üretim. Kesinlikle olmaz. Açık internetteki her şey için Let’s Encrypt (ücretsiz) veya ücretli bir CA kullanın.
Sık Sorulan Sorular
Hayır. Anahtar çifti ve sertifika tarayıcınızda oluşturulur ve cihazınızda kalır; hiçbir şey yüklenmez. Yine de indirilen key.pem dosyasını gizli tutun, çünkü eline geçiren herkes sertifikayı taklit edebilir.
Üçüncü taraflar bağlanacaksa hayır. Tarayıcılar dikkat çekici bir uyarı gösterir. Ücretsiz (Let’s Encrypt, ZeroSSL) veya ücretli bir CA tarafından imzalanmış bir sertifika kullanın. Kendinden imzalı, her iki ucu da denetlediğiniz dahili bir ağda makineden makineye iletişim için uygundur.
Geçmişte CN birincil alan adını tutardı. Modern tarayıcılar ana bilgisayar doğrulamasında CN’yi yok sayar ve yalnızca SAN kullanır. Her ana bilgisayar adını her zaman SAN’a yazın; CN’yi yalnızca okunabilir tanımlama için birincil alan adına ayarlayın.
Evet, SAN’a *.example.com yazın. Bir düzey alt alan adını kapsar. Birden çok düzey için birden çok joker ekleyin (*.example.com ve *.dev.example.com).
İlgili Araçlar
A1Z26 Şifre Kodlayıcı
A1Z26 şifresiyle (A=1, B=2, ... Z=26) metni kodlayın veya sayı dizisini özel ayraçla tekrar harflere çözün.
Base85 Kodlayıcı ve Çözücü
PostScript ve PDF dosyalarının içinde kullanılan Adobe Ascii85 biçimiyle Base85 kodlayın ve çözün. İkili veri için Base64'ten daha kompakttır.
Atbash Şifre Kodlayıcı
Metni Atbash şifresiyle kodlayın veya çözün; A-Z harflerini Z-A ile eşleyen İbrani kökenli bir yerine koyma şifresidir. Aynı işlem hem şifreler hem çözer.
Base32 Kodlayıcı ve Çözücü
RFC 4648 alfabesini kullanarak Base32 stringlerini kodlayın ve çözün. TOTP secret'ları, büyük/küçük harf duyarsız token'lar ve insanın yazdığı tanımlayıcılar için kullanışlıdır.
Base58 Kodlayıcı ve Çözücü
UTF-8 metnini veya onaltılık baytları kodlayın; Base58 verisini Bitcoin, Ripple ya da Flickr alfabesiyle güvenle çözün.
Base64 Dosya Kodlayıcı
Herhangi bir dosyayı (PDF, ZIP, görüntü, çalıştırılabilir dosya) JSON, e-posta, YAML veya data URI içine gömmek için Base64 metne kodlayın. Yerel çalışır, yükleme yok.