Araç tanıtımı
Certificate Signing Request (CSR), bir SSL/TLS sertifikası almanın ilk adımıdır. Web siteniz için HTTPS yapılandırmanız gerektiğinde önce bir CSR dosyası oluşturup imzalanması için bir sertifika otoritesine (CA) göndermeniz gerekir.
Çevrimiçi CSR oluşturucumuz bu süreci basit ve güvenli hale getirir:
- Tamamen yerel işleme: CSR oluşturmanın tamamı tarayıcınızda gerçekleşir. Özel anahtarınız cihazınızdan çıkmaz
- Birden fazla algoritma desteği: RSA (2048/3072/4096 bit) ve ECDSA (P-256/P-384/P-521) imza algoritmalarını destekler
- Esnek yapılandırma: Birden fazla alan adı (SAN), joker alan adı ve daha fazlasını ekleyin
- Kurulum gerekmez: OpenSSL veya başka komut satırı araçları kurmadan CSR'yi doğrudan tarayıcınızda oluşturun
Güvenlik uyarısı
CSR oluşturucumuzu kullandığınızda hem özel anahtar hem CSR tarayıcınızda yerel olarak oluşturulur ve hiçbir sunucuya yüklenmez. Bu aracı tamamen çevrimdışı kullanabilirsiniz.
CSR'yi ne zaman oluşturmanız gerekir?
Şu durumlarda bir CSR oluşturmanız gerekir:
- Yeni bir SSL sertifikası satın almak: Bir alan adı için ilk SSL/TLS sertifikası başvurusu
- Süresi dolmak üzere olan bir sertifikayı yenilemek: Mevcut sertifikanın süresi dolmak üzereyse ve yeniden oluşturulması gerekiyorsa
- Alan adı bilgilerini değiştirmek: Sertifikadaki alan adlarını veya kuruluş bilgilerini değiştirmeniz gerektiğinde
- Anahtarın ele geçirilmesi: Özel anahtarın sızdığından kuşkulanıyorsanız hemen yeni bir anahtar çifti ve CSR oluşturun
CSR için özet algoritması nasıl seçilir
Özet algoritmaları, sertifikalar için dijital imza oluşturmakta kullanılır. Doğru özet algoritmasını seçmek sertifika güvenliği için önemlidir. CSR oluşturucumuz üç yaygın özet algoritmasını destekler:
SHA-256 (Önerilen)
SHA-256 şu anda en yaygın özet algoritmasıdır ve güvenlik ile performans arasında en iyi dengeyi sunar:
- Güvenlik: 256 bit çıktı, bilinen tüm saldırılara karşı yeterlidir
- Uyumluluk: Tüm modern tarayıcılar ve işletim sistemleri destekler
- Performans: Hesaplama hızlıdır ve çoğu senaryo için uygundur
- Önerilen kullanım: Vakaların %99'unda seçilmelidir
SHA-384
SHA-384 daha yüksek güvenlik sağlar, ancak hesaplama yükü biraz daha fazladır:
- Güvenlik: 384 bit çıktı, daha geniş güvenlik payı
- Kullanım alanları: Finans ve sağlık gibi çok yüksek güvenlik gerektiren sektörler
- Uyumluluk: Tüm modern sistemler destekler
SHA-512
SHA-512 en yüksek güvenlik düzeyini sağlar:
- Güvenlik: 512 bit çıktı, en güçlü güvenlik güvencesi
- Performans etkisi: Hesaplama ve doğrulama görece daha yavaştır
- Kullanım alanları: Özel güvenlik gereksinimi olan çok az senaryo
Öneri
Kullanıcıların büyük çoğunluğu için SHA-256 öneririz. Özel bir uyumluluk gereksiniminiz yoksa SHA-256 yeterli güvenliği sağlar.
CSR için imza algoritması nasıl seçilir
CSR'yi çevrimiçi oluştururken bir imza algoritması seçmeniz gerekir. İki ana seçenek vardır: RSA ve ECDSA.
RSA algoritması
RSA, en geleneksel ve en yaygın imza algoritmasıdır:
Üstünlükleri:
- Geniş uyumluluk: Eski sistemler dahil neredeyse tüm aygıtlar ve tarayıcılar destekler
- Olgun ve kararlı: Onlarca yıllık pratik kullanımla kanıtlanmıştır
- Yüksek CA desteği: Tüm sertifika otoriteleri destekler
Sakıncaları:
- Büyük anahtar boyutu: Güvenlik için genellikle 2048 bit veya 4096 bit anahtar gerekir
- Performans yükü: Şifreleme ve şifre çözme görece yavaştır
- Büyük sertifika boyutu: Oluşan sertifika dosyaları daha büyüktür
Önerilen anahtar uzunlukları:
- 2048 bit: Standart seçim. Güvenli ve performanslıdır, çoğu senaryo için uygundur
- 4096 bit: Daha yüksek güvenlik, ancak belirgin bir performans etkisi vardır. Yüksek güvenlik gereksinimleri için uygundur
ECDSA algoritması
ECDSA (Elliptic Curve Digital Signature Algorithm) daha modern bir seçimdir:
Üstünlükleri:
- Küçük anahtar boyutu: 256 bitlik bir ECDSA anahtarı, 3072 bitlik bir RSA anahtarına eşdeğer güvenlik sağlar
- İyi performans: İmza oluşturma ve doğrulama daha hızlıdır
- Bant genişliğine uygun: Daha küçük sertifika boyutu, daha hızlı aktarım
- Mobil cihazlara uygun: Kaynağı kısıtlı cihazlar için daha elverişlidir
Sakıncaları:
- Uyumluluk: Bazı eski sistemler desteklemeyebilir (örneğin Windows XP, Android 4.x ve öncesi)
- CA desteği: Bazı sertifika otoriteleri desteklemeyebilir veya ek ücret alabilir
Önerilen eğriler:
- P-256 (secp256r1): Standart seçim, yaygın olarak desteklenir
- P-384 (secp384r1): Daha yüksek güvenlik düzeyi
Hangisini seçmelisiniz?
Önerilen: RSA 2048
Web sitenizin tüm kullanıcıları (eski cihaz kullananlar dahil) desteklemesi gerekiyorsa RSA 2048 bit en güvenli seçimdir. RSA certificate signing request oluşturmak için çevrimiçi CSR aracımızı kullanın.
Önerilen: ECDSA P-256
Mobil uygulamalar genellikle performans ve bant genişliğine duyarlıdır. ECDSA'nın küçük boyutu ve yüksek performansı onu uygun bir seçim yapar. Tüm modern mobil cihazlar ECDSA destekler.
Önerilen: RSA 2048 veya daha yüksek
Kurumsal ortamların çeşitli işletim sistemi sürümlerini desteklemesi gerekebilir. Burada RSA'nın uyumluluk üstünlüğü açıktır. Özel güvenlik gereksinimleri varsa RSA 4096 seçin.
Önerilen: ECDSA P-256
API hizmetlerini genellikle modern istemciler çağırır. ECDSA'nın performans üstünlüğünden yararlanabilir ve TLS el sıkışma süresini azaltabilirsiniz.
OpenSSL ile CSR oluşturma
Kullanışlı bir çevrimiçi CSR oluşturucu sunsak da CSR'yi komut satırı araçlarıyla nasıl oluşturacağınızı bilmek de yararlıdır. OpenSSL en yaygın komut satırı aracıdır.
RSA Certificate Signing Request
# Generate 2048-bit RSA private key and CSR
openssl req -new -newkey rsa:2048 -nodes \
-keyout domain.key \
-out domain.csr
# Generate 4096-bit RSA private key and CSR
openssl req -new -newkey rsa:4096 -nodes \
-keyout domain.key \
-out domain.csrÇalıştırdıktan sonra şu bilgileri girmeniz istenir:
- Country Name (ülke kodu, örneğin US)
- State or Province (eyalet/il)
- Locality Name (şehir)
- Organization Name (kuruluş adı)
- Organizational Unit (birim)
- Common Name (alan adı, örneğin autossl.dev)
- Email Address (isteğe bağlı)
Önce bir csr.conf yapılandırma dosyası oluşturun:
# Request configuration section
[req]
default_bits = 2048 # RSA key size in bits
prompt = no # Disable interactive prompts
default_md = sha256 # Hash algorithm for signature
distinguished_name = dn # Reference to DN section below
req_extensions = req_ext # Reference to extensions section
# Distinguished Name (certificate subject information)
[dn]
C = US # Country code
ST = California # State or Province
L = San Francisco # Locality (city)
O = Example Company # Organization name
CN = autossl.dev # Common Name (primary domain)
# Request extensions (additional certificate attributes)
[req_ext]
subjectAltName = @alt_names # Reference to alternative names section
# Subject Alternative Names (additional domains for this certificate)
[alt_names]
DNS.1 = autossl.dev # Primary domain
DNS.2 = www.autossl.dev # Subdomain with www
DNS.3 = *.autossl.dev # Wildcard for all subdomainsArdından CSR'yi oluşturun:
openssl req -new -nodes \
-newkey rsa:2048 \
-keyout domain.key \
-out domain.csr \
-config csr.confopenssl req -new -newkey rsa:2048 -nodes \
-keyout domain.key -out domain.csr \
-subj "/C=US/ST=California/L=San Francisco/O=Example Company/CN=autossl.dev"Not: Bu yöntem SAN (Subject Alternative Names) ekleyemez.
ECDSA Certificate Signing Request
# Generate ECDSA private key using P-256 curve
openssl ecparam -genkey -name prime256v1 -out domain.key
# Using P-384 curve
openssl ecparam -genkey -name secp384r1 -out domain.key
# Generate CSR based on private key
openssl req -new -key domain.key -out domain.csrOluşturulan CSR'yi doğrulama
CSR'yi oluşturduktan sonra içeriğini doğrulamak için şu komutları kullanın:
# View detailed CSR information
openssl req -text -noout -in domain.csr
# Verify CSR signature
openssl req -verify -in domain.csr
# Extract domain information from CSR
openssl req -noout -subject -in domain.csrÖzel anahtar güvenliği
Oluşturulan özel anahtar dosyası (örneğin domain.key) güvende tutulmalı ve
kimseyle paylaşılmamalıdır. Sıkı dosya izinleri ayarlamanız önerilir:
chmod 600 domain.key
Sık sorulan sorular
CSR ile özel anahtar arasındaki ilişki nedir?
CSR oluşturduğunuzda aslında bir anahtar çifti oluşturursunuz: bir özel anahtar ve bir açık anahtar. CSR açık anahtarı ve kimlik bilgilerinizi içerir. Özel anahtar gizli tutulmalıdır. CA, CSR'deki bilgileri kullanarak bir sertifika verir. Bu sertifika yalnızca karşılık gelen özel anahtarla kullanılabilir.
Aynı CSR yeniden kullanılabilir mi?
Teknik olarak evet, ancak önerilmez. En iyi uygulama, her yeni sertifika başvurusunda yeni bir anahtar çifti ve CSR oluşturmaktır. Bir sertifikanın süresi dolar veya yeniden verilmesi gerekirse (örneğin CA değiştirirken) yeni bir certificate signing request oluşturmalısınız.
CSR gönderildikten sonra nelerin saklanması gerekir?
Özel anahtar dosyasını saklamanız gerekir. Sertifika verildikten sonra SSL/TLS yapılandırmak için özel anahtara ihtiyacınız vardır. Özel anahtarı kaybederseniz sertifikanız olsa bile kullanamazsınız ve yeniden başvurmanız gerekir.
Çevrimiçi araçlar ile komut satırı oluşturma arasındaki fark nedir?
İşlevsel olarak fark yoktur. CSR oluşturucumuz anahtarları tarayıcıda üretmek için Web Crypto API kullanır ve OpenSSL ile üretilen sonuçlarla tam uyumludur. Çevrimiçi araçların üstünlüğü daha sezgisel ve kullanımı kolay olmalarıdır. Yazılım kurmanız veya komut ezberlemeniz gerekmez.
En iyi uygulamalar
- Anahtar uzunluğu seçimi: RSA için en az 2048 bit, ECDSA için P-256 veya daha yükseğini kullanın
- Düzenli sertifika güncellemesi: Sertifikanın süresinin dolmasını beklemeyin. 30 gün önceden yenilemeniz önerilir
- SHA-256 kullanın: Özel bir gereksiniminiz yoksa SHA-256 en iyi seçimdir
- SAN ekleyin: Web sitenizin birden fazla alan adı varsa (örneğin autossl.dev ve www.autossl.dev) CSR oluştururken tüm alan adlarını ekleyin
- Özel anahtarları koruyun: Sıkı dosya izinleri kullanın ve şifreli saklamayı değerlendirin
- Özel anahtarları yedekleyin: Özel anahtarları güvenli bir konuma yedekleyin ve yedeklerin de gerektiği gibi korunduğundan emin olun
Web siteniz için certificate signing request oluşturmak üzere CSR oluşturucu aracımızı şimdi kullanın.