CSR Çözümleyici

Bir sertifika imzalama isteği (CSR) yapıştırın ve içindeki her alanı okuyun: konuyu, anahtarı, her alternatif adı ve her uzantıyı. Sayfa ayrıca isteği herkese açık bir CA'nın uyguladığı kurallara göre denetler ve özel anahtarınızın onunla eşleşip eşleşmediğini söyler. Bir SSL sertifikası da burada çözülür.

Tarayıcınızda Web Crypto ile çözülür · hiçbir şey yüklenmez, hiçbir şey saklanmaz · CA/Browser Forum Baseline Requirements v2.3.1

Bu sayfadaki her şey tarayıcınızda olur. Ağ panelinizi açıp izleyin: hiçbir istek verilerinizi taşımaz.

CSR nedir?

Sertifika imzalama isteği, bir sertifika otoritesinden sertifika isteyen küçük, imzalı bir dosyadır. İçinde açık anahtarınız, sertifikada olmasını istediğiniz adlar ve özel anahtarınızla atılmış bir imza bulunur.

Biçimi PKCS#10'dur ve RFC 2986'da tanımlanmıştır. İmzalanan bölümde yalnızca dört şey vardır: bir sürüm numarası, bir konu adı, açık anahtarınızı taşıyan bir SubjectPublicKeyInfo ve bir öznitelikler kümesi. Bunların tamamı, içindeki açık anahtarın karşılığı olan özel anahtarla imzalanır; yani bir CSR kendi kendini imzalar. Bu imza, anahtara sahip olmanın kanıtıdır: açık anahtarınızı herkes okuyabilir, ama ona karşı doğrulanan bir isteği yalnızca özel anahtarın sahibi imzalayabilir.

Özel anahtarınız dosyanın içinde değildir ve olmamalıdır. Bir CSR'yi e-postayla göndermek, bir CA'nın web formuna yapıştırmak ve burada çözmek güvenlidir — bu yüzden bu sayfa tüm işini hiçbir şeyi hiçbir yere göndermeden tarayıcınızda yapabilir.

Bir istek, bayt baytRFC 2986 · PKCS#10

Dosyanın tamamı

  • Zarf4 bayt
  • İmzalanan bölüm469 bayt
  • Hangi imza algoritması15 bayt
  • İmzanın kendisi261 bayt

İmzalanan bölümün içi

  1. Sürüm3 baytHer zaman sıfır: biçimin tanımladığı tek sürüm
  2. Konu adı108 baytForma yazdığınız ayırt edici ad
  3. Açık anahtarınız294 baytAlgoritma, boyut ve anahtar — bir sertifika otoritesinin kesinlikle kullanacağı tek alan
  4. Öznitelikler60 baytİstediğiniz alternatif adların taşındığı yer

Özel anahtarınızyukarıdaki bölümü imzalarEşleşen özel anahtara sahip olduğunuzun kanıtı · İmza yalnızca o bölümü kapsar, dosyanın tamamını değil

Bu sayfanın sunduğu örnek istek, toplam 749 bayt. İmzalanan bölüme dört şey girer; içindeki açık anahtarın karşılığı olan özel anahtar tam olarak o bölümü imzalar ve ortaya çıkan, en sondaki 261 bayt olur.
CSR çözümleyici sonucu: konusu, anahtarı, alternatif adları ve CA kuralı bulgularıyla çözülmüş bir sertifika imzalama isteğiCSR çözümleyici sonucu: konusu, anahtarı, alternatif adları ve CA kuralı bulgularıyla çözülmüş bir sertifika imzalama isteğiYapıştırın ya da bırakınBir CSR, sertifika ya da açık anahtar — PEM, base64, hex dökümü veya dosya. Birkaçı birden de olur.KararHerkese açık bir CA'nın bu istekle ne yapacağı: verir, değiştirir ya da reddeder; her biri için nedeniyle birlikte.AdlarSertifikanın kapsayacağı her ad; ortak ad da bunlara karşı denetlenir.Anahtar ve imzaAlgoritma, boyut, eğri ve üs; bir de isteğin kendi imzasının doğru olup olmadığı.Anahtar eşleşmesiBu isteğe ait olup olmadığını görmek için özel anahtarı ya da verilen sertifikayı ekleyin. İkisi de tarayıcınızdan çıkmaz.
Parçalarına ayrılmış bir sertifika imzalama isteği: karar, istediği adlar, arkasındaki anahtar ve kendi anahtarınızı eşleştireceğiniz bir yer. Her parçanın neyi gösterdiğini görmek için bir numara seçin.

CSR göndermeden önce nasıl kontrol edilir?

Üç şeyi kontrol etmeye değer: adların kastettiğiniz adlar olduğunu, imzanın doğrulandığını ve içinde CA'nızın uyguladığı bir kuralı bozan bir şey olmadığını.

İsteği yukarıya yapıştırın. Sayfa konuyu öznitelik öznitelik okur, her alternatif adı (SAN) listeler, anahtarın algoritmasını ve boyutunu gösterir, sonra isteğin kendi imzasını denetler. İmzası doğrulanmayan bir istek, oluşturulduktan sonra düzenlenmiş, kesilmiş ya da bozulmuştur — göndermek yerine yeniden oluşturun.

Ardından kurallar gelir. Sertifika otoritesi CA/Browser Forum'un Baseline Requirements kurallarını uygular ve bunlardan birini bozan bir istek reddedilir ya da sessizce değiştirilir. Bu sayfadaki bulgular, CA istediğinizi veremiyorsa Düzeltilmeli, verecek ama bir alanı silecek ya da değiştirecekse Değiştirilecek, yalnızca bilinmeye değer bir şey varsa Bilgi olarak işaretlenir.

Çalıştıkları sırayla üç kontrolCA/Browser Forum TLS BR 2.3.1
  1. AdlarSertifikanın kapsayacağı her ad ve ortak adın bunların arasında olup olmadığı
  2. İmzaTarayıcınızın kendi kriptografisiyle doğrulanır
  3. Sertifika otoritesinin kurallarıTek tek uygulanır, her biri geldiği belgeyle birlikte
  • Gönderinİstekteki hiçbir şey bir kuralı bozmuyor
  • ReddedilecekDosya sağlam; istediği şeye izin verilmiyor
  • Yeniden oluşturunDoğrulanmayan bir imza, dosyanın oluşturulduktan sonra düzenlendiği, kesildiği ya da kötü kopyalandığı anlamına gelir
İlk iki kontrol dosyanın kendisiyle, üçüncüsü ise sertifika otoritesinin neye izin verdiğiyle ilgilidir. Bir istek ilk ikisini geçip yine de reddedilebilir.

Bir CSR'de neler var — ve CA'nız gerçekte neyi kullanır

Bir CSR'deki her şeyden, herkese açık bir CA güvenilir biçimde tek bir alanı kullanır: açık anahtarı. Geri kalanının çoğunu kendisi doğrular, üzerine yazar ya da kopyalaması yasaktır.

DigiCert bunu kendi belgelerinde açıkça söyler: "DigiCert uses the public key embedded in the CSR to create your client certificate. All other fields in the CSR are ignored." OV ya da EV sertifikada CA, kuruluşu, yerleşim yerini ve ülkeyi sertifikaya koymadan önce kendisi doğrulamak zorundadır; yazdıklarınıza olduğu gibi güvenilmez. Geçerlilik tarihleri asla bir istekten alınmaz: Baseline Requirements'ın takvimini izler.

İki konu alanı yalnızca yok sayılmaz, yasaktır. organizationalUnitName (OU) herkese açık bir TLS sertifikasında bulunmamalıdır — CA/Browser Forum'un SC047 oylamasına göre 1 Eylül 2022'den beri verilen hiçbir sertifikada bulunamaz — ve emailAddress alan adı doğrulamalı bir sertifikada hiç kullanılamaz. Ortak ada izin verilir ama önerilmez; varsa alternatif adlardan birini aynen tekrar etmelidir. Bu sayfanın SAN listesinde olmayan bir ortak adı işaretlemesinin nedeni son kuraldır.

Sertifika otoritesi her alanla ne yaparCA/Browser Forum TLS BR 2.3.1
İsteğinizdeNe olurNeden
Açık anahtarSubjectPublicKeyInfoGönderdiğiniz gibi kullanılırSertifika otoritesinin sizden kesinlikle alacağı tek şey
Alternatif adlarsubjectAltName2.5.29.17Gönderdiğiniz gibi kullanılırCA, herhangi birini yazmadan önce her adı kontrol ettiğinizi doğrular
Ortak adCN2.5.4.3Doğrulanır, sonra CA yazarÖnerilmez; varsa alternatif adlardan birini aynen tekrar etmelidir
Kuruluş, yerleşim yeri, eyaletO, L, ST2.5.4.10Doğrulanır, sonra CA yazarKuruluş doğrulamalı bir sertifikada bunlar yazdıklarınızdan değil, CA'nın kendi doğrulanmış kayıtlarından gelir
ÜlkeC2.5.4.6Doğrulanır, sonra CA yazarDoğrulama seviyesi ne olursa olsun bulunabilir
Kuruluş birimiOU2.5.4.11Hiç izin verilmez1 Eylül 2022 tarihinden beri herkese açık bir sertifikada yasak
E-posta adresiemailAddress1.2.840.113549.1.9.1Hiç izin verilmezAlan adı doğrulamalı bir sertifikada kullanılamaz
Başlangıç, bitişnotBefore, notAfterAsla istekten gelmezİsteğinizle değil, sertifika otoritesinin izlediği takvimle belirlenir

“DigiCert uses the public key embedded in the CSR to create your client certificate. All other fields in the CSR are ignored.”

DigiCert, kendi belgeleri
İnsanların kafa yorduğu alanlar ve her birinin gerçekte ne değeri olduğu. Anahtarınız ve adlarınız kalır; kuruluş birimi ne yazarsanız yazın hiç bulunamaz, alan doğrulamalı bir sertifikada e-posta adresi de bulunamaz; tarihleri ise belirlemek hiçbir zaman size ait değildi.

CA bir CSR'yi neden reddeder?

Hemen hemen her ret şunlardan birine varır: CA'nın sertifikalayamayacağı bir ad, fazla geniş bir joker, ayrılmış bir IP adresi, çok küçük bir anahtar, fazla eski bir imza özeti ya da imzası doğrulanmayan bir istek.

Bir sertifika otoritesi iç ağ adı için sertifika veremez — yani "does not end with a Top-Level Domain registered in IANA's Root Zone Database" olan bir ad için. Bu, server.local, intranet, hiç noktası olmayan tek etiketli bir ad ve uydurma her son eki kapsar. Etiketler harf, rakam ve tireden oluşmalıdır, bu yüzden bir host adındaki alt çizgi reddedilir ve bir ad sondaki nokta ile yazılmamalıdır. Bir joker yalnızca en soldaki etiketin tamamının yerini tutabilir, herkese açık bir son ekin asla: *.example.com olur, *.co.uk olmaz. Bir IP adresi bulunabilir, ama ayrılmış biri olamaz — 10.0.0.0/8, 192.168.0.0/16, 127.0.0.1 ya da fc00::/7 olmaz.

Anahtarlarda Baseline Requirements kesindir: modülü 8'e tam bölünen en az 2048 bitlik bir RSA ya da P-256, P-384 veya P-521 üzerinde bir nokta, ve "no other algorithms or key sizes are permitted". CA ayrıca çarpanlarına ayırabildiği bir anahtarı da reddetmek zorundadır; buna "which can be factored within 100 rounds using Fermat's factorization method" olan anahtar da dahildir — bu sayfa bu testi isteğinizdeki anahtara uygular. Ayrıca bir CSR'nin kendi imza özeti sertifikanınki olmasa da Let's Encrypt SHA-1 ile kendi kendine atılan imzaları 2022'de kabul etmeyi bıraktı; bu yüzden hâlâ SHA-1 ile imzalayan eski bir araç, isteğinin geri çevrilmesine yol açar.

Sertifika otoritesinin sertifikalamayacağı adlarCA/Browser Forum TLS BR 2.3.1
  • server.local
    Bir iç ağ adıHerkese açık kök bölgede var olan bir üst düzey alan adıyla bitmez, bu yüzden kimse onun sizin olduğunu kanıtlayamaz
    Reddedildi
  • intranet
    Tek bir etiketHiç noktası olmayan bir ad aynı tanıma girer
    Reddedildi
  • my_host.example.com
    Bir alt çizgiBir etiket harf, rakam ve tire içerebilir, başka bir şey değil
    Reddedildi
  • *.co.uk
    Bir kayıt otoritesinin tamamı üzerinde jokerJoker en soldaki etiketin yerini tutabilir, herkese açık bir son ekin asla
    Reddedildi
  • 192.168.1.10
    Ayrılmış bir adresHerkese açık bir adres sertifikalanabilir; özel ya da özel amaçlı bir aralıktan olan asla
    Reddedildi
  • example.com.
    Sondaki noktaBoş kök etiketi yazılmamalıdır
    Reddedildi
Altı ad, her biri farklı bir kuralı bozuyor — ve her biri, isteği göndermeden önce görebileceğiniz bir ret.

Özel anahtarımın CSR'mle eşleştiğini nasıl anlarım?

Bir özel anahtar dosyası kendi açık anahtarını zaten taşır; bu yüzden eşleşme iki açık anahtarın karşılaştırılmasıdır — hiçbir sırra gerek yoktur ve hiçbir şeyin bir yere gönderilmesi gerekmez.

Yukarıdaki Anahtar ya da sertifika eşleştir bölümünü açın ve anahtarı isteğin yanına ekleyin. Sayfa dosyadan yalnızca açık yarıyı okur — PKCS#8, PKCS#1 ve SEC1 anahtarlarının hepsi anlaşılır — onu isteğin içindeki anahtarla karşılaştırır ve yanıt verir. Hiçbir şey yüklenmez, hiçbir şey saklanmaz ve alandan çıktığınızda anahtar temizlenir. Aynı denetim, bir istekle CA'dan dönen sertifika arasında da çalışır; böylece bir sunucu başlamayı reddetmeden önce "sertifika ile özel anahtar eşleşmiyor" hatası yakalanır.

Anahtarı hiçbir web sayfasına yapıştırmak istemezseniz, aynı yanıt kendi makinenizde iki komuttur. openssl req -in request.csr -pubkey -noout açık anahtarı istekten, openssl pkey -in private.key -pubout ise anahtardan yazdırır: aynı çıktı, eşleştikleri anlamına gelir. Eski -modulus biçimi yalnızca RSA anahtarlarında çalışır; -pubkey her anahtar türünde çalışır.

İki dosya, tek karşılaştırmaRFC 2986 · OpenSSL manual
Tarayıcınız
  • Özel anahtar dosyasıHiçbir yere göndermemeniz gereken dosyaAçık yarısı okunur
  • İstekSertifika otoritesine gönderdiğiniz dosyaAçık anahtarı zaten taşır

Bunlar aynı anahtar mı?

  • EşleşiyorlarGeri dönen sertifika bu anahtarla kurulur
  • EşleşmiyorlarBir web sunucusunun başlamayı reddederken bildirdiği uyuşmazlık budur

Bu çizgiyi hiçbir şey geçmez · Karşılaştırma ağ kapalıyken de çalışırBaşka her yer

Ya da kendi makinenizde yapınopenssl req -in request.csr -pubkey -nooutopenssl pkey -in private.key -puboutAynı çıktı, eşleştikleri anlamına gelir
Bir özel anahtar dosyası kendi açık anahtarını zaten taşır; bu yüzden soru iki açık anahtarı karşılaştırarak çözülür. Bunun için hiçbir sırrın hareket etmesi gerekmez ve etmez.

CSR, sertifika, özel anahtar: fark nedir?

Özel anahtar sırdır. CSR, ona sahip olduğunuzu kanıtlayan bir istektir. Sertifika, CA'nın imzalı yanıtıdır ve üçü arasında tasarım gereği herkese açık olan tek dosyadır.

Üç dosya çoğu zaman aynı klasörde, birbirine şaşırtıcı biçimde benzeyen adlarla durur. Bir özel anahtar -----BEGIN PRIVATE KEY----- ya da -----BEGIN RSA PRIVATE KEY----- ile başlar ve sertifika otoritesi dahil kimseye gönderilmemelidir. Bir sertifika imzalama isteği -----BEGIN CERTIFICATE REQUEST----- ile başlar, o anahtarla imzalanır ve göndermek güvenlidir. Bir sertifika -----BEGIN CERTIFICATE----- ile başlar, CA tarafından imzalanır ve zaten sitenizin her ziyaretçisine gönderilir.

Sertifika verildikten sonra istek artık işe yaramaz: hiçbir şeyi kurmak, yenilemek ya da iptal etmek için gerekmez. Saklamanız ve güvende tutmanız gereken anahtardır. Üçünden birini yukarıya yapıştırın; bu sayfa hangisi olduğunu söyler.

Üç dosya, tek klasör, şaşırtıcı biçimde benzer adlarRFC 7468
  • Özel anahtarGizli

    İlk satırı-----BEGIN PRIVATE KEY-----Yaygın olarak kullanılan diğer adlar-----BEGIN RSA PRIVATE KEY-----

    İmzalayan
    Hiçbiri — imzayı atan odur
    Kimler görebilir
    Siz, başka kimse değil
    Ne işe yarar
    Bu sunucunun, sertifikanın verildiği sunucu olduğunu kanıtlar
  • Sertifika imzalama isteğiHerkese açık

    İlk satırı-----BEGIN CERTIFICATE REQUEST-----Yaygın olarak kullanılan diğer adlar-----BEGIN NEW CERTIFICATE REQUEST-----

    İmzalayan
    Kendisi, özel anahtarla
    Kimler görebilir
    Siz ve sertifika otoritesi
    Ne işe yarar
    Bir sertifika ister ve ait olduğu anahtara sahip olduğunuzu kanıtlar
  • SertifikaHerkese açık

    İlk satırı-----BEGIN CERTIFICATE-----

    İmzalayan
    Sertifika otoritesi
    Kimler görebilir
    Sitenizin her ziyaretçisi
    Ne işe yarar
    Tarayıcıya bu anahtarın bu adlara ait olduğunu söyler

.csr.pem.req.txtHiçbir standart bir isteğe dosya uzantısı atamaz; bunların hepsi kullanılır ve bu sayfa adı değil içeriği okur

Üçünden yalnızca ilki bir sırdır. Sonuncusu zaten her ziyaretçiye verilir ve ortadaki, sertifika geldiği anda artık işe yaramaz.

Bir CSR'yi çevrimiçi çözmek güvenli mi?

Bir CSR hiçbir sır içermez, bu yüzden onu herhangi bir yerde çözmek zararsızdır. Özel anahtar ise başka bir konudur ve insanların onunla karıştırdığı dosya odur.

Bu sayfadaki her şey tarayıcınızda çalışır. İstek, sayfayla birlikte indirilen kodla ayrıştırılır, imza tarayıcınızın kendi Web Crypto'suyla denetlenir ve hiçbir sunucuya verilerinizi taşıyan bir istek yapılmaz — kullanırken ağ panelini izleyebilirsiniz. Bu, sayfanın nasıl yapıldığının bir özelliğidir; güvenmenizi istediğimiz bir söz değil.

Bunun önemli olmasının nedeni CSR'nin yanındaki dosyadır. CA/Browser Forum'un kendi tanımı serttir: "A Private Key is said to be compromised if its value has been disclosed to an unauthorized person, or an unauthorized person has had access to it." Kötüye kullanım gerekmez — başkasının sunucusuna ulaşması yeter. DigiCert 2020'de müşterilerin CSR'lerinin yanına yapıştırdığı 337 özel anahtar buldu ve ilgili her sertifikayı iptal etti; "by sending the private key to DigiCert along with the CSR, the customer has compromised the private key" diye yazdı. Bu sayfa yapıştırdığınız bir özel anahtarı okursa bunu söyler, çözmeyi reddeder ve hiçbirini saklamaz.

Dosya gerçekte nereye giderCA/Browser Forum TLS BR 2.3.1

Bu sayfa

Tarayıcınız
  1. Dosya okunur
  2. Sayfayla birlikte gelen kodla parçalarına ayrılır
  3. İmzayı tarayıcının kendisi denetler
  4. Sonuç çizilir

Verilerinizi taşıyan hiçbir istek çıkmazKullanırken ağ panelini açıp izleyin

Yükleyen bir sayfa

Tarayıcınız

Dosya yüklenir…yanına yapıştırılan her şeyle birlikte

Başkasının sunucusu

Oraya ulaşan bir özel anahtar, yalnızca bu yüzden ele geçmiş sayılır

“A Private Key is said to be compromised if its value has been disclosed to an unauthorized person, or an unauthorized person has had access to it.”

sertifika otoritelerinin kendileri için yazdığı tanım

Bu zaten yaşandı2020 yılında bir sertifika otoritesi, bir isteğin yanına yapıştırılmış 337 özel anahtar bulduİlgili her sertifika iptal edildi

Bir istekteki hiçbir şey gizli değildir, bu yüzden onu herhangi bir yerde çözmek zararsızdır. İnsanların onunla karıştırdığı dosya başka bir konudur ve zarar için kötüye kullanım gerekmez — görülmesi yeter.

RSA mı ECDSA mı: bir CSR hangi anahtarı istemeli?

ECDSA P-256 anahtarı RSA 3072 bit kadar güçlüdür ve çok daha küçüktür; bu yüzden daha iyi varsayılandır. RSA 2048 evrensel olarak kabul edilmeye devam eder.

NIST, P-256 ile RSA-3072'yi aynı 128 bitlik güvenlik gücüne koyar ve tablosunda RSA-4096 için hiç satır yoktur: bir sonraki satır RSA-7680'dir, 192 bit, yani P-384'ün ulaştığı seviye. Yani 4096 bitlik bir RSA anahtarı, her ziyaretçiye 3072'ye göre belgelenmiş hiçbir kazanç sağlamadan fazladan el sıkışma işi yükler. Baseline Requirements P-521'e de izin verir, ama Let's Encrypt onu reddeder; bu yüzden bir P-521 isteği tamamen yasal olup yine de kullanmayı düşündüğünüz CA'da başarısız olabilir.

Ed25519, algoritma ne kadar iyi olursa olsun, bugün herkese açık bir TLS sertifikası için bir seçenek değildir: Baseline Requirements RSA'yı ve üç NIST eğrisini sıralar ve "no other algorithms or key sizes are permitted" ekler. Kuantum sonrası bir anahtar da öyle — herkese açık TLS'de ML-DSA'ya izin verecek oylama Ekim 2026'da birleştirilmeden kapatıldı. Ed25519 ve ML-DSA SSH, imzalama ve özel bir CA için hâlâ yararlıdır ve bu sayfa onları kullanan istekleri okur.

Aynı güç, çok farklı iki boyuttaNIST SP 800-57 Part 1 Rev 5, Table 2
GüçRSA anahtarıEğri
112 bit güvenlik2.048 bitHerhangi bir herkese açık CAHerkese açık bir sertifika otoritesinin izin verdiği hiçbir eğri bu güçte değil
128 bit güvenlik3.072 bitHerhangi bir herkese açık CAP-256Herhangi bir herkese açık CA
4.096 bitHerhangi bir herkese açık CA4.096 bit tabloda hiç yok
192 bit güvenlik7.680 bitHerhangi bir herkese açık CAP-384Herhangi bir herkese açık CA
256 bit güvenlik15.360 bitHerhangi bir herkese açık CAP-521Herhangi bir herkese açık CA
  • RSA anahtarı
  • Eğri
  • Basamaklar, aradaki popüler boyutu atlayarak doğrudan bir boyuttan diğerine geçer; bu yüzden her ziyaretçiye yüklediği fazladan el sıkışma işi, kimsenin yazıya dökmediği bir şeyi satın alır
  • Kabul edenLet's Encrypt

Bir eğri aynı gücü baytların çok küçük bir kısmıyla taşır

Yayımlanmış karşılaştırma ve bir anahtarı gerçekten kullanıp kullanamayacağınızı belirleyen iki şey: kuralların neye izin verdiği ve kullanmayı düşündüğünüz sertifika otoritesinin neye izin verdiği.

Her platformda CSR nasıl oluşturulur?

Tek bir OpenSSL komutu Linux'u, macOS'u ve OpenSSL kurulu Windows'u kapsar. IIS'te certreq, macOS'ta Anahtar Zinciri Erişimi var; bu sitede de anahtarınızı hiçbir yere göndermeyen bir oluşturucu bulunur.

OpenSSL ile openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr -subj "/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com" anahtarı ve isteği tek adımda oluşturur. (-nodes anahtarı şifrelenmemiş bırakır. OpenSSL 3 bunu -noenc olarak da yazar, ama macOS'ta yerleşik gelen LibreSSL yalnızca -nodes bilir.) Ardından openssl req -in example.com.csr -text -verify -noout onu gösterir ve doğrular. Windows'ta certreq -new request.inf request.req, alternatif adların _continue_ satırlarıyla OID 2.5.29.17 altına girdiği bir .inf dosyasını okur — SAN= anahtarı yoktur. Microsoft'un kendi başvuru sayfası, örneğinin artık bir CA'nın reddedeceği SHA-1'i kullandığı konusunda uyarır; bu yüzden özeti kendiniz ayarlayın.

Mac'te Anahtar Zinciri Erişimi > Sertifika Yardımcısı > Sertifika Yetkilisinden Sertifika İste bir tane yazar; anahtar boyutu "Anahtar çifti bilgilerini belirteyim" kutusunun arkasındadır. Ya da anahtarı tarayıcınızın Web Crypto'suyla üreten ve iki dosyayı da bir sunucuya dokunmadan size veren CSR oluşturucumuzu kullanın. Hiçbir standart bir CSR'ye dosya uzantısı atamaz: .csr, .pem, .req ve .txt hepsi kullanılır ve bu sayfa adına güvenmek yerine içeriği okur.

Bir tane oluşturmanın dört yoluOpenSSL · Microsoft Learn · Apple Support
  1. OpenSSLLinux, macOS, Windows

    Anahtarı ve isteği tek bir komutla oluştururopenssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr -subj "/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com"Sonra geri okuyun ve kendi imzasını doğrulayınopenssl req -in example.com.csr -text -verify -noout
  2. certreqWindows Server ve IIS

    Düz metin bir dosyayı okur; alternatif adlar bir uzantılar bölümüne, satır satır girercertreq -new request.inf request.req[Extensions] 2.5.29.17 = "{text}" _continue_ = "DNS=example.com&" _continue_ = "DNS=www.example.com"Microsoft'un kendi örnek sayfası hâlâ bir sertifika otoritesinin artık reddettiği bir özet etrafında yazılmış; bu yüzden özeti kendiniz ayarlayın
  3. Keychain AccessmacOS

    Keychain Access › Certificate Assistant › Request a Certificate From a Certificate AuthorityMac'iniz bu menüleri kendi dilinde adlandırırAnahtar türü ve boyutu, anahtar çiftini belirtmenizi sağlayan kutunun arkasındadırRSA anahtarları 2048 ile 4096 bit arasında; daha küçükleri artık sunulmuyor
  4. DNS RobotHerhangi bir tarayıcı

    Anahtarı tarayıcınızın kendi kriptografisiyle üretir ve iki dosyayı da bir sunucuya dokunmadan size verirOluşturucuyu açın
Tek bir OpenSSL komutu Linux'ta, macOS'ta ve Windows'ta aynı şekilde çalışır. Diğer üç yol, o komutun elinizin altında olmadığı makineler içindir.

Sertifika ne kadar süre geçerli olur?

Bugün verilen herkese açık bir TLS sertifikası 200 günü aşamaz. Bu süre Mart 2027'de 100 güne, Mart 2029'da 47 güne düşer.

Takvim, Nisan 2025'te kabul edilen CA/Browser Forum SC-081v3 oylamasından gelir ve bir CSR'nin etkileyebileceği bir şey değildir: geçerlilik asla istekten gelmez. Her basamağın iki sayısı vardır; SHOULD NOT, MUST NOT'tan bir gün aşağıdadır — bugün 199 ve 200, 2027-03-15'ten itibaren 99 ve 100, 2029-03-15'ten itibaren 46 ve 47. Sayım için "a day is measured as 86,400 seconds" ve bir sonraki günün herhangi bir kısmı tam bir gün sayılır.

Pratik sonuç, yenilemenin otomatik olması gerektiğidir. Hâlâ her yıl elle CSR oluşturuyorsanız, isteği sizin yerinize istemcinin yaptığı ACME'ye geçmenin zamanı geldi — ve Baseline Requirements'ın kendisi yalnızca "a certificate request in a form prescribed by the CA" istese de, PKCS#10'un gerçekten zorunlu olduğu yer de orasıdır.

Bir sertifika en çok ne kadar sürebilirCA/Browser Forum TLS BR 2.3.1 §6.3.2
  1. 15 Mart 2026 öncesiBugünün yeri397 gün398 gün
  2. 15 Mart 2026 itibarıyla199 gün200 gün
  3. 15 Mart 2027 itibarıyla99 gün100 gün
  4. 15 Mart 2029 itibarıyla46 gün47 gün
  • Tüm takvim tek bir oylamadan gelir: SC-081v3, kabul tarihi 11 Nisan 2025
  • Bir gün tam olarak 86.400 saniye sayılır ve bir sonraki günün herhangi bir kısmı tam bir gün sayılır
  • Bir istekteki hiçbir şey bunların hiçbirini değiştirmez
Dört basamak, her birinin iki sayısı var: kuralların önermediği ve yasakladığı. Tarihler çoktan belli; otomatik yenilemeyi tek uygulanabilir yanıt yapan da bu.

Ham ASN.1 size neyi gösterir?

Base64'ün altında bir CSR, DER ile kodlanmış bir ağaçtır. Çözümleyici onu bayt ofsetleriyle çizer ve bildiği her nesne tanımlayıcısını adlandırır; openssl asn1parse komutunun yazdırdığı da budur.

Kimsenin kolay bir adını bilmediği bir alanı göstermenin dürüst yoludur. Çözülen herhangi bir öğede Ham yapı'yı açın; CertificationRequestInfo'yu, konunun göreli ayırt edici adlarını tek tek, SubjectPublicKeyInfo'yu, attributes [0] kümesini ve onun içinde, RFC 5280'in X.509 uzantılarının aynısını taşıyan extensionRequest özniteliğini görürsünüz — nesne tanımlayıcısı 1.2.840.113549.1.9.14, RFC 2986'da değil RFC 2985 §5.4.2'de tanımlıdır.

Orada karşılaşabileceğiniz diğer öznitelik challengePassword'dür (1.2.840.113549.1.9.7). Bir sertifikayı sonradan iptal etmek için ortak bir sır olarak tasarlanmıştı, SCEP kaydında hâlâ kullanılır ve normal bir web sertifikası siparişinde hiçbir rolü yoktur. Bu sayfa, varsa onu gösterir, çünkü göremediğiniz bir alanı kontrol edemezsiniz.

Aynı istek, bayt olarakRFC 2986 · RFC 2985 · RFC 5280
Bayt konumuYapıBoyut
0SEQUENCE749 bayt
4SEQUENCE469 bayt
8INTEGER03 bayt
11SEQUENCE108 bayt
13SET13 bayt
15SEQUENCE11 bayt
17OBJECT IDENTIFIERC2.5.4.65 bayt
22PrintableStringUS4 bayt
26SET21 bayt
28SEQUENCE19 bayt
30OBJECT IDENTIFIERST2.5.4.85 bayt
35UTF8StringCalifornia12 bayt
47SET24 bayt
49SEQUENCE22 bayt
51OBJECT IDENTIFIERL2.5.4.75 bayt
56UTF8StringSan Francisco15 bayt
71SET22 bayt
73SEQUENCE20 bayt
75OBJECT IDENTIFIERO2.5.4.105 bayt
80UTF8StringExample Inc13 bayt
93SET26 bayt
95SEQUENCE24 bayt
97OBJECT IDENTIFIERCN2.5.4.35 bayt
102UTF8Stringwww.example.com17 bayt
119SEQUENCE294 bayt
123SEQUENCE15 bayt
125OBJECT IDENTIFIERrsaEncryption1.2.840.113549.1.1.111 bayt
136NULL2 bayt
138BIT STRING2.160 bit30 82 01 0a 02 82 01 01 00 c5 47 47 1d 26 1c bf275 bayt
413[0]60 bayt
415SEQUENCE58 bayt
417OBJECT IDENTIFIERextensionRequest1.2.840.113549.1.9.1411 bayt
428SET45 bayt
430SEQUENCE43 bayt
432SEQUENCE41 bayt
434OBJECT IDENTIFIERSubject Alternative Name2.5.29.175 bayt
439OCTET STRING32 bayt30 1e 82 0f 77 77 77 2e 65 78 61 6d 70 6c 65 2e34 bayt
473SEQUENCE15 bayt
475OBJECT IDENTIFIERsha256WithRSAEncryption1.2.840.113549.1.1.1111 bayt
486NULL2 bayt
488BIT STRING2.048 bit00 57 41 c5 09 98 14 78 8c ee c3 61 d4 c0 e0 2d261 bayt
  • Başka şeyler taşır
  • Bir değer taşır
  • Konumuyla adlandırılır
  • Uzantıları taşıyan öznitelik

    1.2.840.113549.1.9.14İsteğin kendisini tanımlayan belgeden farklı bir belgede tanımlanmıştır; alternatif adların konunun yanında durmak yerine bir öznitelik içinde taşınmasının nedeni budur
  • Karşılaşabileceğiniz diğer öznitelikBu istekte yok

    1.2.840.113549.1.9.7Sertifikanın sonradan iptalini istemek için tasarlanmış ortak bir sır; bir cihaz kendini bir ağa kaydederken hâlâ kullanılır
Örnek isteğin her baytı, her nesne tanımlayıcısı adlandırılmış olarak. Bir komut satırı çözümleyicisinin yazdırdığı şey bu; yazdırılmak yerine çizildi, böylece bir alanın nerede bitip diğerinin nerede başladığını görebilirsiniz.

CSR çözümleyici: sorular ve yanıtlar

CSR nasıl çözülür?

İsteğin tamamını, -----BEGIN CERTIFICATE REQUEST----- ve -----END CERTIFICATE REQUEST----- satırları dahil, yukarıdaki kutuya yapıştırın ya da dosyayı sayfaya bırakın. Yapıştırdıkça çözülür: konu, açık anahtar, her alternatif ad, talep edilen her uzantı ve parmak izleri. Base64 gövdesini tek başına, bir hex dökümünü yapıştırabilir ya da ikili bir DER dosyası yükleyebilirsiniz.

Bu CSR çözümleyiciyi kullanmak güvenli mi?

Evet, iki nedenle. Bir sertifika imzalama isteği hiçbir sır içermez — bir sertifika otoritesine gönderilmek üzere yapılmıştır — bu yüzden onu herhangi bir yerde çözmek zararsızdır. Ayrıca bu sayfa işi tarayıcınızda yapar: istek sayfayla birlikte indirilen kodla ayrıştırılır ve hiçbir sunucuya hiçbir şey gönderilmez. Yanlışlıkla bir özel anahtar yapıştırırsanız sayfa bunu söyler, çözmeyi reddeder ve hiçbirini saklamaz.

CSR'min geçerli olup olmadığını nasıl kontrol ederim?

Burada çözün ve kararı okuyun. Sayfa, göndereni eşleşen özel anahtara sahip olduğunu kanıtlayan isteğin kendi imzasını denetler, ardından herkese açık bir sertifika otoritesinin uyguladığı kuralları uygular: sertifikalayamayacağı adlar, fazla geniş jokerler, ayrılmış IP adresleri, çok küçük ya da çarpanlarına ayrılabilir anahtarlar, kullanımdan kalkmış konu alanları ve eski imza özetleri. Her bulgu, CA'nın bunu reddedeceğini, değiştireceğini ya da yalnızca not edeceğini söyler.

Sertifika otoritem CSR'mi neden reddediyor?

Yaygın nedenler server.local gibi bir iç ağ adı ya da tek etiketli bir host adı, bir host adında alt çizgi, *.co.uk gibi herkese açık bir son ek üzerinde joker, alternatif adlarda özel bir IP adresi, 2048 bitin altında bir RSA anahtarı ya da hâlâ SHA-1 ile imzalanmış bir istektir. İsteği yukarıda çözün; bunların her biri, bozduğu kuralla birlikte açıkça adlandırılır.

Özel anahtarımın CSR'mle eşleştiğini nasıl anlarım?

Yukarıdaki Anahtar ya da sertifika eşleştir bölümünü kullanın: anahtarı isteğin yanına ekleyin; sayfa anahtar dosyasının içindeki açık anahtarı isteğin içindekiyle tarayıcınızda karşılaştırır. Ya da kendiniz çalıştırın — openssl req -in request.csr -pubkey -noout ve openssl pkey -in private.key -pubout, eşleştiklerinde aynı açık anahtarı yazdırır. Aynı karşılaştırma bir anahtar ile verilmiş bir sertifika arasında da çalışır.

Bu bir SSL sertifikasını da çözebilir mi?

Evet. Bir sertifika yapıştırın, sertifika olarak çözülür: veren ve konu, seri numarası, geçerlilik tarihleri, her alternatif ad, anahtar kullanımı ve genişletilmiş anahtar kullanımı, yetki ve konu anahtar tanımlayıcıları, OCSP ve CA Issuers adresleri, sertifika politikaları ve gömülü sertifika şeffaflığı zaman damgaları. Bir sertifikayı ve isteğini birlikte yapıştırırsanız sayfa aynı anahtarı paylaşıp paylaşmadıklarını da söyler.

Sertifika otoritesi CSR'mden gerçekte hangi alanları kullanır?

Güvenilir biçimde tek birini: açık anahtarı. DigiCert'in kendi belgeleri geri kalanının yok sayıldığını söyler. OV ya da EV sertifikada CA, kuruluşu ve ülkeyi sertifikaya koymadan önce kendisi doğrulamak zorundadır; geçerlilik tarihleri hiçbir zaman istekten değil, her zaman Baseline Requirements takviminden gelir. İki alan herkese açık bir TLS sertifikasında yalnızca yok sayılmaz, yasaktır: OU ve alan adı doğrulamalı sertifikalarda emailAddress.

Ortak ad hâlâ önemli mi?

Yalnızca başka bir şeyin kopyası olarak. Tarayıcılar 2017'den beri host eşleştirmesinde ortak adı yok sayıyor ve yalnızca alternatif adları kullanıyor. Baseline Requirements ortak adı NOT RECOMMENDED olarak işaretler ve varsa "MUST contain exactly one entry that is one of the values contained in the Certificate's subjectAltName extension" şartını koşar. Alternatif adlarınız arasında olmayan bir ortak ad ret sebebidir ve bu sayfa onu işaretler.

Birkaç dosyayı aynı anda çözebilir miyim?

Evet. Bir isteği, sertifikasını ve ara sertifikaları birlikte yapıştırın; her blok yapıştırdığınız sırayla kendi kartında çözülür. Bozuk bir blok diğerlerini durdurmaz. Yapıştırmanın bir yerinde özel anahtar varsa adlandırılır ve atlanır, asla çözülmez. Kırk bloğa kadar çözülür; fazlası sessizce bırakılmaz, sayılır ve bildirilir.

Bir CSR'deki challenge password nedir?

RFC 2985'ten isteğe bağlı bir öznitelik; aslında sertifikanın iptalini isterken belirteceğiniz ortak bir sırdı. SCEP kaydında, yani bir cihazın istek yapmaya izinli olduğunu kanıtladığı yerde hâlâ bir rolü vardır. Normal bir web sertifikası siparişinde hiçbir rolü yoktur ve birkaç aracın gösterdiği bir alan olduğundan bu sayfa, bir istek taşıdığında onu her zaman gösterir.

Herkese açık bir sertifika için Ed25519 anahtarı kullanabilir miyim?

Bugün hayır. Baseline Requirements RSA'ya ve P-256, P-384 ile P-521 eğrilerine izin verir, sonra "no other algorithms or key sizes are permitted" der; bu yüzden hiçbir herkese açık sertifika otoritesi Ed25519 isteğine sertifika vermez. SSH, imzalama ve özel bir CA için iyi bir anahtardır ve bu çözümleyici Ed25519 ile Ed448 isteklerini ve kuantum sonrası ML-DSA anahtarlarını sorunsuz okur.

Bir sertifika artık ne kadar süre geçerli?

Bugün verilen herkese açık bir TLS sertifikası 200 günü aşamaz; 2026-03-15'ten önce bu 398 gündü. CA/Browser Forum SC-081v3 oylaması uyarınca 2027-03-15'te 100 güne, 2029-03-15'te 47 güne düşer. Bir CSR'deki hiçbir şey bunu etkilemez; geçerliliği CA belirler. Bu sürelerde yenilemenin otomatik olması gerekir; bu da pratikte ACME demektir.

Eksik bir şey mi var?Bir özellik ya da yeni bir araç önerin