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. Exportable
Anahtarınızı arşivleyebilmek istiyorsanız TRUE olarak ayarlayabilirsiniz . FriendlyName
Tamamen isteğe bağlıdır ve Extensions
bö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:
- Bir komut istemi açın ve yukarıdaki inf'yi kaydettiğiniz dizine cd.
- Çalıştırmak
certreq -new above.inf request.req
- Request.req dosyasını CA'nıza gönderin. İşleyecek ve onaylayacak / reddedecekler.
- Bunu onayladıklarında, ortak anahtarınızı bir .cer dosyasında geri göndermelidirler.
certreq -accept file-from-ca.cer
Anahtarı 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 . FriendlyName
Ve HashAlgorithm
sadece Server 2008 (R2) bulunmaktadır. Komutu çalıştırarak certutil -csplist
ve çı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