IIS 7.0 - SSL sertifikası - yenilemek mi yeni mi?


13

SSL sertifikalarımdan birinin (yalnızca basit etki alanı doğrulaması) Windows 2003 IIS 7.0 sunucusunda süresi dolmak üzere.

Başka bir tedarikçiden daha iyi bir teklif aldım ve sertifikamı veren kişiler daha düşük fiyatlar üzerinde pazarlık yapmak istemiyorlar.

Her neyse - IIS'deki sertifika sihirbazından geçerek, "yenilemek" veya "kaldırmak" ve ardından yeni bir sertifika yüklemek için seçeneğim var.

Yani - bir sertifika isteği oluşturmak ve bunu yeni satıcıya geçirmek için "yenile" seçeneğini kullanabilir miyim, yoksa "yeni" istekle başlamam gerekir mi? Yeni satıcı için, önceki sertifikanın başka bir imzalayan tarafından verilmesi önemli midir?

Sorun, eski sertifikayı kaldırma ve yeni CSR oluşturma nedeniyle sunucuyu (en azından güvenli kısım) durdurmak istemiyorum ve yeni sertifikanın yüklenmesini bekleyin.

Veya eski sertifikayı kaldırmadan yeni bir CSR hazırlama seçeneği var mı?

Yanıtlar:


7

Yalnızca IIS 6.0 ile geçici bir web sitesi oluşturmanız gerekir. IIS 7.0, bir kerede birden çok bekleyen istek oluşturmanıza olanak tanır.

IIS 7.0'da aslında, yenileme işlevinin çok büyük bir anahtarla (istediğinizden çok daha büyük) bir CSR oluşturmasına neden olan bir hata vardır. Bu nedenle, yenile seçeneğini seçmek yerine yeni bir bekleyen istek oluşturmanız önerilir. Yüklendikten sonra SSL bağlayıcısını web sitesinde değiştirmeniz yeterlidir ve kesinti süreniz olmayacaktır. Bu, her yenilediğinizde güvenliği artıran yeni bir anahtar oluşturmanıza da olanak tanır.

Sertifika sağlayıcısı (CA), yeni seçeneği mi yoksa yenileme seçeneğini mi kullandığınızla ilgilenmez ve aynı CA ile kalıyor veya yeni bir sipariş verirseniz her iki seçeneği de kullanabilirsiniz.


7

Bir sertifikanın yenilenmesi, sertifikanın son kullanma tarihini güncellerken aynı ortak ve özel anahtarı korumanıza olanak tanır. Bunun avantajı, parmak izini bir yönlendiricide veya başka bir şeyde saklamanız gerektiğidir. El ile yeni bir istek oluşturmak daha kolay olabilmesi için bir isteği yenilemek için aynı veren CA'nın gerekli olduğuna inanıyorum.

IIS'yi patlatmadan yeni bir istek oluşturmak için

Sertifika isteğini manuel olarak oluşturabilir ve gönderebilirsiniz. Yeni sertifikayı aldıktan sonra IIS7'nin aradığı sertifikayı değiştirebilirsiniz. El ile bir web sunucusu SSL sertifikası nasıl oluşturulur .

Sürecin basit özü, gerekli bilgileri içeren bir inf dosyası oluşturacağınız, çalıştırın certreq -new file.inf file.req. İstek dosyasını aldıktan sonra, sertifikanızı vermek istediğiniz CA'ya gönderebilir, ardından size komutla gönderdikleri ortak anahtarı kabul edebilirsiniz.certreq -accept file-from-ca.req

Örnek request.inf

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=fully.qualified.domain.name, OU=Organizational Unit, O=Company, L=City, S=State, C=Country"
KeySpec = 1
KeyLength = 2048
HashAlgorithm = SHA256
Exportable = FALSE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
RequestType = PKCS10
KeyUsage = 0xa0
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
FriendlyName = ""

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; Server Authentication

[RequestAttributes]
CertificateTemplate = WebServer

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "DNS=&"
_continue_ = "DNS="

Yukarıdaki örnek inf, kendi CA'm için dahili olarak kullandığım ancak çoğu ortam için çalışacak şekilde uyarlanabilir. ExportableAnahtarınızı arşivleyebilmek istiyorsanız TRUE olarak ayarlayabilirsiniz . FriendlyNameTamamen isteğe bağlıdır ve Extensionsbölüm alternatif DNS adları (Konu Alternatif İsimler) kullanılarak içindir.

Bir SAN girişine örnek olarak şunlar verilebilir:

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "DNS=example.com&"
_continue_ = "DNS=www.example.com&"
_continue_ = "DNS=secure.example.com"

Bu, bir ad uyuşmazlığı olduğundan şikayet etmeden yukarıdaki üç site ile aynı sertifikayı kullanmanıza izin verecektir (modern tarayıcılarda - IE6'nın anladığını sanmıyorum). Bunu ayarladıysanız SAN'a tam etki alanı adını (konu satırının CN'si) dahil etmeniz önemlidir. Birden fazla alan adına ihtiyacınız yoksa uzantı alanını da tamamen kaldırabilirsiniz (ayrıca, bazı CA'lar bunu desteklemeyebilir).

Süreç

Yukarıdaki bilgileri kaydettikten sonra (çok fazla olduğunu biliyorum). Bu adımları takip et:

  1. Bir komut istemi açın ve yukarıdaki inf'yi kaydettiğiniz dizine cd.
  2. Çalıştırmak certreq -new above.inf request.req
  3. Request.req dosyasını CA'nıza gönderin. İşleyecek ve onaylayacak / reddedecekler.
  4. Bunu onayladıklarında, ortak anahtarınızı bir .cer dosyasında geri göndermelidirler.
  5. certreq -accept file-from-ca.cerAnahtarı ayarlamayı bitirmek için çalıştırın .

İyi şanslar!

Düzenle

Certreq ve inf dosyasının tam sözdizimi Ek 3: Certreq.exe Sözdizimi'nde (Windows Server 2003 SP1) bulunabilir . FriendlyNameVe HashAlgorithmsadece Server 2008 (R2) bulunmaktadır. Komutu çalıştırarak certutil -csplistve çıktıya bakarak desteklenen şifreleme sağlayıcılarının bir listesini görüntüleyebilirsiniz . Geçerli bir Windows 2003 SP2 kutusunda kullanılabilir bir sağlayıcı olarak "Microsoft RSA SChannel Şifreleme Sağlayıcısı" listelenmiştir, bu nedenle dosyanızda tırnak işaretleri doğru ayarlandığından ve bu girdinin yalnızca bir satırda olduğundan (sarma veya çok satırlı olmadığından) emin olun.

ProviderName öğesini ProviderType olarak da değiştirebilir ve çıktısının sağladığı sayıyı kullanabilirsiniz certreq -csplist.

Bu durumda aşağıdaki çıktıyı alıyorum:

Provider Name: Microsoft RSA SChannel Cryptographic Provider
Provider Type: 12

Ben de kullanabilirim

ProvderName = "Microsoft RSA SChannel Cryptographic Provider"

veya

ProviderType = 12

Teşekkürler. Elle nasıl hazırlarım?
Güneşli

Ayrıca - hala beklemedeki soru - sertifikanın yeni bir satıcı tarafından verileceği "yenile" için önemli mi?
Güneşli

Bildiğim kadarıyla, bir yenileme aynı ortak ve özel anahtarı sakladığından, bir yenileme aynı sertifika veren CA'nın size yenilenen sertifikayı göndermesini gerektirir. Farklı bir CA'nın imzalamak için farklı bir anahtar seti olacaktır ve bu nedenle genel / özel anahtar çiftiniz farklı olacaktır.
Joshua

Joshua, şunu bildiriyor: Sertifika İsteği İşlemcisi: Veriler geçersiz. 0x8007000d (WIN32: 13) mycert.inf (HashAlgorithm = "SHA256"). Bunun işe yarayacağından emin misin? Orig. bağlandığınız makalede böyle bir ayar yoktur.
Güneşli

HashAlgorithm ve FriendlyName ayarlarını (onlardan şikayetçi olarak) kaldırdım ve aldım: Sertifika İsteği İşlemcisi: Sağlayıcı türü kayıtlı değerle eşleşmiyor. 0x8009001b (-2146893797). Çok kötü.
Güneşli

1

Tamam, kendi sorumu kısmen cevaplamak için - mevcut sertifikayı kaldırmadan yeni bir sertifika oluşturma / kullanma kısmı (yani sunucuyu durdurmadan), Comodo web sitesinde iyi bir açıklama buldum - temelde bir "geçici" web sitesi oluşturmam gerekiyor seçin ve yeni bir CSR oluşturmak, imza için göndermek ve sertifikayı almak ve almak için kullanın.

Daha sonra ana (gerçek) sitemde geçerli sertifikayı değiştirmem ve geçici sertifikayı silmem gerekiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.