SSL Sertifikası Oluşturucu

Kimlik

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. 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. 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. 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. 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