Geliştirme için bir alan adı için kendinden imzalı bir sertifika nasıl oluşturulur?


123

Ben subdomain.example.comben geliştirme amacıyla kullandıkları. Web uygulama çözümüm, harici sistemlerden çağırmam gereken bir web API vb. İçeriyor, bu nedenle localhost kullanmıyorum.

Şimdi SSL'yi test etmem ve subdomain.example.comgeliştirme alan adım için bir sertifikaya ihtiyacım var .

Http://technet.microsoft.com/en-us/library/cc753127(v=ws.10).aspx adresinde açıklandığı gibi kendinden imzalı bir sertifika oluşturmayı denedim , ancak bu sertifika yalnızca localhost için çalışıyor. Bu sertifika amacım için kullanılabilir mi yoksa geliştirme alt alanım için kendinden imzalı bir sertifika oluşturmam gerekecek mi? Geliştirme alt alanım için kendinden imzalı bir sertifika oluşturmam gerekirse, bunun için hangi yardımcı programı veya çevrimiçi hizmeti (Ücretsiz) kullanabilirim?

Yanıtlar:


133

IIS'nin kendinden imzalı sertifika özelliğiyle, sertifika için ortak adı (CN) ayarlayamazsınız ve bu nedenle, alt etki alanı seçiminize bağlı bir sertifika oluşturamazsınız.

Sorunu aşmanın bir yolu, .Net 2.0 SDK ile birlikte gelen makecert.exe'yi kullanmaktır. Sunucumda şu adrestedir:

C:\Program Files\Microsoft.Net\SDK\v2.0 64bit\Bin\makecert.exe

Bir imzalama yetkilisi oluşturabilir ve bunu LocalMachine sertifikaları havuzunda aşağıdaki şekilde saklayabilirsiniz (bu komutlar bir Yönetici hesabından veya yükseltilmiş bir komut isteminde çalıştırılmalıdır):

makecert.exe -n "CN=My Company Development Root CA,O=My Company,
 OU=Development,L=Wallkill,S=NY,C=US" -pe -ss Root -sr LocalMachine
 -sky exchange -m 120 -a sha1 -len 2048 -r

Ardından, alt etki alanınıza bağlı ve yeni yetkiliniz tarafından imzalanmış bir sertifika oluşturabilirsiniz:

(-İn parametresinin değerinin yukarıdaki yetkinizi oluşturmak için kullanılan CN değeriyle aynı olması gerektiğini unutmayın.)

makecert.exe -n "CN=subdomain.example.com" -pe -ss My -sr LocalMachine
 -sky exchange -m 120 -in "My Company Development Root CA" -is Root
 -ir LocalMachine -a sha1 -eku 1.3.6.1.5.5.7.3.1

Sertifikanız, Tom Hall'un gönderisinde açıklandığı gibi sitenize bağlı olacak şekilde IIS Yöneticisinde görünmelidir.

Bu çözüm için Mike O'Brien'a http://www.mikeobrien.net/blog/creating-self-signed-wildcard adresindeki mükemmel blog yazısı için tüm tebrikler


8
Ben bu işi yapabildim. Yoluma çıkmak için Visual Studio 2010 komut istemini kullanmak zorunda kaldım makecert.exe. Sertifikalar için daha güvenli olacağımı ve kullanacağımı düşündüm -a SHA512 -len 8192- oluşturmak sonsuza kadar sürdü. Ve olabileceğinden şüphelendiğim gibi, IIS'nin kullandığı şifreleme düzeyi üzerinde sıfır etkisi oldu. Varsayılan olarak IIS 128-bit kullanır, bunu değiştirmek için grup ilkesi işleri yapmanız gerekir . Diğer okuyucular için daha fazla not: sihirli sayıları sonradan değiştirmeyin, -ekugereklidir.
BrainSlugs83

3
Yukarıdaki tüm komutları yönetici ayrıcalıklarına sahip bir komut isteminden çalıştırın, aksi takdirde "Hata: Depolamak için kodlanmış sertifikayı kaydet başarısız => 0x5" mesajı alırsınız.
Giles Roberts

1
Ayrıca geliştirme için makecert.exe ile kendinden imzalı sertifikalar oluşturma harika bir bağlantı paylaşmak istiyorum . Bağlantı, kök sertifika, sunucu sertifikası ve istemci sertifikası oluşturmaya yönelik adım adım yaklaşımı açıklar. Ayrıca bunların nasıl kullanılacağını açıklayan bir yazı var.
Vikram Singh Saini

3
Chrome gibi tarayıcılar kullanımdan kaldırmaya başladı sha1. Değiştirin -a sha512ve -len 2048ikinci makecertçağrıya eklemeyi düşünün ve her şey yolunda olmalıdır.
O. Jones

2
Bunun artık Windows 10'da çalışmadığını unutmayın (en azından yukarıda gösterildiği gibi). Bunun yerine herhangi bir sorun olmadan çalışan PowerShell cmdlet'ini kullanmak zorunda kaldım.
DVK

120

PowerShell'i kullanma

Windows 8.1 ve Windows Server 2012 R2'den (Windows PowerShell 4.0) ve sonraki sürümlerde, yeni New-SelfSignedCertificatecmdlet'i kullanarak kendinden imzalı bir sertifika oluşturabilirsiniz :

Örnekler:

New-SelfSignedCertificate -DnsName www.mydomain.com -CertStoreLocation cert:\LocalMachine\My

New-SelfSignedCertificate -DnsName subdomain.mydomain.com -CertStoreLocation cert:\LocalMachine\My

New-SelfSignedCertificate -DnsName *.mydomain.com -CertStoreLocation cert:\LocalMachine\My

IIS Yöneticisini Kullanma

  1. IIS Yöneticisini başlatın
  2. Sunucu düzeyinde, IIS altında, Sunucu Sertifikaları'nı seçin.
  3. Sağ tarafta Eylemler altında Kendinden İmzalı Sertifika Oluştur'u seçin
  4. "Sertifika için kolay bir ad belirtin" yazan yere, referans için uygun bir ad yazın.
    1. Örnekler: www.domain.comveyasubdomain.domain.com
  5. Ardından sol taraftaki listeden web sitenizi seçin
  6. Sağ taraftaki Eylemler altında Bağlantılar'ı seçin.
  7. Yeni bir HTTPS bağlantısı ekleyin ve az önce oluşturduğunuz sertifikayı seçin (sertifikanız bir joker karakter sertifikasıysa, bir ana bilgisayar adı belirtmeniz gerekir)
  8. Tamam'a tıklayın ve test edin.

7
PowerShell çözümü için +1. Hızlı ve kolay ve bunu yaptıktan sonra, yeni sertifika IIS Yöneticim> Bağlantılar> Siteler> [Uygulamam]> Bağlantıları Düzenle> Düzenle> SSL Sertifikası açılır menüsünde ortaya çıktı.
Jon Schneider

3
Yukarıdaki talimatları izledikten ve ardından sertifikayı görüntüledikten sonra, talimatlar hala localhost adına sahip olan CN alanını doldurmadı.
daveD

7
Kesinlikle. Bu yanlış! "Kolay adın" CN ile hiçbir ilgisi yoktur. Bu cevabın neden bu kadar çok olumlu oyu olduğunu bilmiyorum?
c00000fd

25
Bu olumlu oylar alıyor çünkü Powershell yöntemi gerçekten çalışıyor. (Bkz. @DivineOps yanıtı) Kullandığım komut şudur: New-SelfSignedCertificate -FriendlyName *.mydomain.local -DnsName *.mydomain.local, localhost -CertStoreLocation Cert:\LocalMachine\MyBu, Kişisel mağazada bir sertifika oluşturur. Ardından, önce sertifikayı bir dosyaya aktardım ve ardından IIS Yöneticisi aracılığıyla (https bağlamam için kullanmak için) IIS'ye ve ardından MMC aracılığıyla Güvenilen Kök CA'lara (tarayıcı uyarılarını önlemek için) yeniden içe aktardım.
Anton

3
-NotAfterSeçeneği (onsuz, varsayılan sadece 1 yıldır) da son kullanma tarihi belirtmek için kullanışlıdır. Kullandığım örnekNew-SelfSignedCertificate -DnsName *.mydomain.com -FriendlyName *.mydomain.com -NotAfter (Get-Date).AddYears(15) -CertStoreLocation cert:\LocalMachine\My
Ben Amada

52

Belirli etki alanınız için yeni sertifika oluşturmak için:

Powershell ISE'yi yönetici olarak açın, şu komutu çalıştırın:

New-SelfSignedCertificate -DnsName *.mydomain.com, localhost -CertStoreLocation cert:\LocalMachine\My

Yeni sertifikaya güvenmek için:

  • Mmc.exe dosyasını açın
  • Konsol Kökü -> Sertifikalar (Yerel Bilgisayar) -> Kişisel'e gidin
  • Oluşturduğunuz sertifikayı seçin, sağ tıklayın -> Tüm Görevler -> Dışa Aktar ve bir .pfx dosyası oluşturmak için dışa aktarma sihirbazını izleyin
  • Konsol Kökü -> Sertifikalar -> Güvenilen Kök Sertifika Yetkilileri'ne gidin ve yeni .pfx dosyasını içe aktarın

Sertifikayı sitenize bağlamak için:

  • IIS Yöneticisi'ni açın
  • Sitenizi seçin ve sağ bölmede Siteyi Düzenle -> Bağlantılar'ı seçin
  • Doğru ana bilgisayar adı ve yeni sertifika ile yeni https bağlaması ekleyin

2
Bu yalnızca Windows 8.1 ve Windows Server 2012 R2 (Windows PowerShell 4.0) veya sonraki sürümlerinde çalışır, ancak sertifikayı bu işletim sistemlerinden birinde oluşturabilir ve daha sonra başka bir bilgisayara aktarabilirsiniz (bu sertifikayı SSRS ile kullanmak için yaptım Windows Server 2008 R2'de yüklü).
mprost

2
Güvenilir Kök Sertifika Yetkililerine kopyalamak için Dışa Aktarma ve İçe Aktarma yerine, sadece Kopyala ve Yapıştır
jk7

Kopyala / Yapıştır yalnızca aynı sunucuda çalışır. Sertifikayı Kişisel klasöründen aynı sunucudaki Güvenilen Kök Sertifika Yetkililerine ctrl tuşunu basılı tutarak da sürükleyebilirsiniz. Başka bir ana bilgisayarın uyarı olmadan siteye erişebilmesini istiyorsanız, bunu dışa aktarmanız ve sertifikayı yerel TRCA'larına aktarmalarını sağlamanız gerekir (özel anahtarı eklemeniz gerekmez).
jessewolfe

41

Verilen yanıtlardan parçaları ve diğer kaynakları birleştirerek Windows'ta kendinden imzalı sertifikalarda yolumu bulmalıydım. İşte benim (ve umarım tamamlanmış) adım adım. Umarım kendi acı veren öğrenme eğrilerimden biraz kurtarır. Ayrıca, kendi sertifikalarınızı oluşturduğunuzda er ya da geç ortaya çıkacak ilgili konular hakkında bilgiler de içerir.

Windows 10 ve daha düşük sürümlerde kendinden imzalı bir sertifika oluşturun

Makecert.exe'yi kullanmayın. Microsoft tarafından kullanımdan kaldırılmıştır.
Modern yöntem bir Powershell komutu kullanır.

Windows 10:

Powershell'i Yönetici ayrıcalıklarıyla açın:

New-SelfSignedCertificate  -DnsName "*.dev.local", "dev.local", "localhost"  -CertStoreLocation cert:\LocalMachine\My  -FriendlyName "Dev Cert *.dev.local, dev.local, localhost"  -NotAfter (Get-Date).AddYears(15)

Windows 8, Windows Server 2012 R2:

Bu sistemlerde Powershell'de -FriendlyName ve -NotAfter parametreleri mevcut değildir. Bunları yukarıdaki komut satırından kaldırmanız yeterlidir.
Powershell'i Yönetici ayrıcalıklarıyla açın:

New-SelfSignedCertificate  -DnsName "*.dev.local", "dev.local", "localhost"  -CertStoreLocation cert:\LocalMachine\My

Bir alternatif, sertifika oluşturmak için Win 10'un tüm özelliklerini kullanmanıza izin veren aşağıdaki eski Windows sürümü için yöntemi kullanmaktır ...

Daha eski Windows sürümleri:

Daha eski Windows sürümleri için önerim, sertifikayı bir Win 10 makinesinde oluşturmak, bir mmc örneği kullanarak bir .PFX dosyasına aktarmak (aşağıdaki "Sertifikaya güven" bölümüne bakın) ve hedef makinedeki sertifika deposuna, eski Windows işletim sistemi. Sertifikayı içe aktarmak için üzerine sağ TIKLAMAYIN. Bağlam menüsünde bir "Sertifikayı içe aktar" öğesi olmasına rağmen, tüm denemelerimde onu Win Server 2008'de kullanmak için başarısız oldu. Bunun yerine hedef makinede başka bir mmc örneği açın, "Sertifikalar (Yerel Bilgisayar) / Kişisel / Sertifikalar" a gidin. , orta bölmeyi sağ tıklayın ve Tüm görevler → İçe aktar'ı seçin.

Ortaya çıkan sertifika

Yukarıdaki komutların ikisi de etki alanları için bir sertifika oluşturmak localhostve *.dev.local.
Win10 sürümü ayrıca 15 yıllık bir canlı süreye ve "Dev Cert * .dev.local, dev.local, localhost" okunabilir bir ekran adına sahiptir.

Güncelleme: Parametrede birden fazla ana bilgisayar adı girişi sağlarsanız -DnsName(yukarıda gösterildiği gibi), bu girişlerden ilki alanın Konusu (AKA Ortak Adı) olur. Tüm ana bilgisayar adı girişlerinin tam listesi, sertifikanın Konu Alternatif Adı (SAN) alanında saklanacaktır. (Bunu belirttiğiniz için @BenSewards'a teşekkürler.)

Sertifika, oluşturulduktan sonra IIS'nin herhangi bir HTTPS bağlamasında hemen kullanılabilir olacaktır (talimatlar aşağıdadır).

Sertifikaya güvenin

Yeni sertifika, herhangi bir güven zincirinin parçası değildir ve bu nedenle hiçbir tarayıcı tarafından güvenilir kabul edilmez. Bunu değiştirmek için, sertifikayı makinenizdeki Güvenilen Kök CA'ların sertifika deposuna kopyalayacağız:

Mmc.exe'yi açın, Dosya → Ek Bileşen Ekle / Kaldır → sol sütunda "Sertifikalar" ı seçin → Ekle → "Bilgisayar Hesabı" → Sonraki → "Yerel Bilgisayar ..." → Bitir → Tamam

Sol sütunda "Sertifikalar (Yerel Bilgisayar) / Kişisel / Sertifikalar" ı seçin.
Yeni oluşturulan sertifikayı bulun (Win 10'da "Kolay ad" sütunu yardımcı olabilir).
Bu sertifikayı seçin ve panoya kopyalamak için Ctrl-C tuşlarına basın.

Sol sütunda "Sertifikalar (Yerel Bilgisayar) / Güvenilir Kök CA'lar / Sertifikalar" ı seçin.
Sertifikanızı bu mağazaya yapıştırmak için Ctrl-V tuşlarına basın.
Sertifika, Güvenilen Kök Yetkililer listesinde görünmelidir ve artık güvenilir olarak kabul edilmektedir.

IIS'de kullanın

Şimdi IIS Yöneticisine gidebilir, yerel bir web sitesinin bağlantılarını seçin → Ekle → https → formun bir ana bilgisayar adı girin myname.dev.local(sertifikanız yalnızca için geçerlidir *.dev.local) ve yeni sertifikayı seçin → Tamam.

Ev sahiplerine ekle

Ayrıca ana bilgisayar adınızı C: \ Windows \ System32 \ drivers \ etc \ hosts konumuna ekleyin:

127.0.0.1  myname.dev.local

Mutlu

Artık Chrome ve IE, sertifikayı güvenilir olarak değerlendirmeli ve açtığınızda web sitenizi yüklemelidir https://myname.dev.local.

Firefox kendi sertifika deposuna sahiptir. Sertifikanızı buraya eklemek için, web sitenizi FF'de açmalı ve FF sizi sertifika konusunda uyardığında istisnalara eklemelisiniz.

Edge tarayıcısı için daha fazla işlem gerekebilir (aşağıya bakın).

Sertifikayı test edin

Sertifikalarınızı test etmek için Firefox en iyi seçiminizdir. (İnanın bana, ben de bir Chrome hayranıyım, ancak bu durumda FF daha iyidir.)

İşte nedenleri:

  • Firefox, vardiya-yeniden yüklemede temizlenen kendi SSL önbelleğini kullanır. Bu nedenle, yerel web sitelerinizin sertifikalarındaki herhangi bir değişiklik, FF'nin uyarılarına hemen yansırken, diğer tarayıcıların Windows SSL önbelleğinin yeniden başlatılması veya manuel olarak temizlenmesi gerekebilir.
  • Ayrıca FF, sertifikanızın geçerliliğini kontrol etmeniz için bazı değerli ipuçları verir: FF, sertifika uyarısını gösterdiğinde Gelişmiş'e tıklayın. FF size metin bloğunun merkez satırlarında bir veya daha fazla olası uyarı içeren kısa bir metin bloğu gösterecektir:

Kendinden imzalı olduğu için sertifika güvenilir değil.

Bu uyarı doğrudur! Yukarıda belirtildiği gibi, Firefox Windows sertifika deposunu kullanmaz ve yalnızca bir istisna eklerseniz bu sertifikaya güvenir. Bunu yapmak için düğme uyarıların hemen altındadır.

Sertifika isim için geçerli değil ...

Bu uyarı, yanlış bir şey yaptığınızı gösterir. Sertifikanızın (joker karakter) etki alanı, web sitenizin etki alanıyla eşleşmiyor. Sorun, web sitenizin (alt) etki alanını değiştirerek veya eşleşen yeni bir sertifika yayınlayarak çözülmelidir. Aslında, sertifika eşleşmese bile FF'de bir istisna ekleyebilirsiniz, ancak Chrome'da böyle bir kombinasyonla yeşil bir asma kilit sembolü asla elde edemezsiniz.

Firefox bu yerde süresi dolmuş sertifikalar, eski imzalama algoritmalarına sahip sertifikalar vb. Gibi pek çok güzel ve anlaşılır sertifika uyarısı görüntüleyebilir. Herhangi bir sorunu çözmek için bana bu düzeyde geri bildirim veren başka bir tarayıcı bulamadım.

Hangi (alt) alan kalıbını geliştirmeyi seçmeliyim?

Yukarıdaki New-SelfSignedCertificate komutunda joker etki alanını kullandık *.dev.local.

Şöyle düşünebilirsiniz: Neden kullanmıyorsunuz *.local?

Basit neden: Joker karakter etki alanı olarak yasa dışıdır.
Joker sertifikaları gerekir en azından ikinci seviye alan adı içermelidir.

Bu nedenle, formun etki alanları *.localHTTP web siteleri geliştirmek için iyidir. Ancak HTTPS için çok fazla değil, çünkü başlattığınız her yeni proje için yeni bir eşleşen sertifika vermek zorunda kalacaksınız.

Önemli yan notlar:

  • Geçerli ana bilgisayar alanları YALNIZCA harf a çukur z, rakamlar, kısa çizgiler ve noktalar içerebilir. Alt çizgilere izin verilmez! Bazı tarayıcılar bu ayrıntı konusunda gerçekten seçicidir ve alan motör_head.dev.localadınızı joker karakter kalıbınızla eşleştirmeyi inatla reddettiklerinde size zor anlar yaşatabilir *.dev.local. Geçiş yaptığınızda uyacaklar motoer-head.dev.local.
  • Bir sertifikadaki joker karakter, bir etki alanında yalnızca BİR etiketle (= iki nokta arasındaki bölüm) eşleşir, daha fazla olamaz. *.dev.local eşleşir myname.dev.local ama DEĞİL other.myname.dev.local!
  • *.*.dev.localSertifikalarda çok seviyeli joker karakterler ( ) mümkün DEĞİLDİR. Yani other.myname.dev.localyalnızca formun joker karakteriyle kapsanabilir *.myname.dev.local. Sonuç olarak, en iyisi dördüncü seviye bir alan bölümü kullanmamaktır. Tüm varyasyonlarınızı üçüncü seviyeye koyun. Bu şekilde, tüm geliştirme siteleriniz için tek bir sertifika elde edeceksiniz.

Edge ile ilgili sorun

Bu aslında kendinden imzalı sertifikalarla ilgili değildir, ancak yine de tüm süreçle ilgilidir:
Yukarıdaki adımları izledikten sonra, Edge açtığınızda herhangi bir içerik göstermeyebilir myname.dev.local.
Bunun nedeni, Modern Uygulamalar için Windows 10'un ağ yönetiminin "Ağ İzolasyonu" adı verilen karakteristik bir özelliğidir.

Bu sorunu çözmek için, Yönetici ayrıcalıklarına sahip bir komut istemi açın ve aşağıdaki komutu bir kez girin:

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

Edge ve Network Isolation hakkında daha fazla bilgi burada bulunabilir: https://blogs.msdn.microsoft.com/msgulfcommunity/2015/07/01/how-to-debug-localhost-on-microsoft-edge/


2
Burada, ilk DNS adının, joker karakter olmasını istemeyebileceğiniz Konu Adı olarak da kaydedildiğini belirtmek isterim.
Ben Sewards

@BenSewards: Bunu belirttiğiniz için teşekkürler, Ben. Yanıtı konu / SAN alanı ayrıntılarını içerecek şekilde güncelledim. SAN alanı yerine Konu alanında joker karakter ana bilgisayar adına sahip olmada herhangi bir sorun görüyor musunuz?
Jpsy

@Jpsy - Bu, kendi kendine imzalanan sertifikanın oluşturulduğu sunucuda yerel olarak benim için çalışıyor, ancak (istemci) makinelerimdeki Firefox veya Chrome'da değil. Anladığım appname.dev has a security policy called HTTP Strict Transport Security (HSTS), which means that Firefox can only connect to it securely. You can’t add an exception to visit this site.gibi, talimatınızın aksine, müşteri istisnasını eklemenize izin vermiyor. Bu, SSL Ayarları, SSL İste ve İstemci sertifikaları seçenekleriyle ilgili olarak IIS içinde kötü bir yapılandırma mı?
Code Maverick

@CodeMaverick: Sorununuzla ilgili herhangi bir şans eseri bazı reklam engelleyici veya anti virüs yazılımı olabilir mi? Başka bir seçenek de, sertifikanın kullandığınız alan adıyla eşleşmemesi olabilir. Sertifikanın CN veya SAN'daki * işaretinin , alan adında ( nokta içermeyen) yalnızca bir segmenti temsil edebileceğini unutmayın . Yani CN *.mydomain.comiçin geçerli bir sertifika olabilir, me.mydomain.comancak bunun için değil me.at.mydomain.com.
Jpsy

14

IIS 8'de barındırılan bir projede SSL'yi etkinleştirmek istediğimde de aynı problemle karşılaştım. Son olarak kullandığım araç , günlerce makecert komutlarıyla savaştıktan sonra OpenSSL idi. Sertifika Debian'da oluşturuldu, ancak onu sorunsuz bir şekilde IIS 7 ve 8.

İndir OpenSSL'yi OS ve uyumlu bu yapılandırma dosyası. Yapılandırma dosyasını OpenSSL'nin varsayılan yapılandırması olarak ayarlayın.

Öncelikle, Sertifika Yetkilisinin (CA) özel anahtarı ve sertifikasını oluşturacağız. Bu sertifika, sertifika talebini (CSR) imzalamak içindir.

Bu süreçte gerekli olan tüm alanları doldurmalısınız.

  1. openssl req -new -x509 -days 3650 -extensions v3_ca -keyout root-cakey.pem -out root-cacert.pem -newkey rsa:4096

Bunun gibi varsayılan ayarlarla bir yapılandırma dosyası oluşturabilirsiniz: Şimdi, Sertifika Yetkililerine gönderilen dosya olan sertifika talebini oluşturacağız.

Ortak Ad, sitenizin etki alanı olarak ayarlanmalıdır, örneğin: public.organization.com .

  1. openssl req -new -nodes -out server-csr.pem -keyout server-key.pem -newkey rsa:4096

Artık sertifika talebi, oluşturulan CA sertifikası ile imzalanır.

  1. openssl x509 -req -days 365 -CA root-cacert.pem -CAkey root-cakey.pem -CAcreateserial -in server-csr.pem -out server-cert.pem

Oluşturulan sertifika, IIS'ye alınabilen bir .pfx dosyasına aktarılmalıdır.

  1. openssl pkcs12 -export -out server-cert.pfx -inkey server-key.pem -in server-cert.pem -certfile root-cacert.pem -name "Self Signed Server Certificate"

Bu adımda, CA sertifikasını içe aktaracağız.

  1. Sunucunuzda CA sertifikasını Güvenilen Kök Sertifika Yetkililerine almalısınız, çünkü IIS içe aktarılacak sertifikaya güvenebilir. IIS'ye alınacak sertifikanın, CA'nın sertifikası ile imzalandığını unutmayın.

    • Komut İstemi'ni açın ve mmc yazın .
    • Dosyaya tıklayın .
    • Ek Bileşen Ekle / Kaldır ... öğesini seçin .
    • Sertifikalara çift ​​tıklayın .
    • Bilgisayar Hesabı'nı ve İleri -> öğesini seçin .
    • Yerel Bilgisayar ve Bitir'i seçin .
    • Tamam .
    • Git Sertifikalar -> Güvenilen Kök Sertifika Yetkilileri -> Sertifikalar , rigth tıklama Sertifikalar ve seçmek Tüm Görevler -> İthalat ...

görüntü açıklamasını buraya girin

  • Sonraki -> Gözat ... öğesini seçin .
  • Root-cacert.pem dosyasının konumuna göz atmak için Tüm Dosyalar'ı seçmelisiniz .
  • İleri'ye tıklayın ve Tüm sertifikaları aşağıdaki depoya yerleştir'i seçin : Güvenilen Kök Sertifika Yetkilileri .
  • İleri'ye ve Bitir'e tıklayın .

görüntü açıklamasını buraya girin

Bu adımla, IIS sertifikamızın gerçekliğine güveniyor.

  1. Son adımımızda sertifikayı IIS'ye aktaracağız ve bağlayıcı siteyi ekleyeceğiz.

    • Açık Internet Information Services (IIS) Yöneticisi ya yazın inetmgr komuta istemi üzerine ve gidin Sunucu Sertifikalar .
    • İçe Aktar ... 'ı tıklayın .
    • .Pfx dosyasının yolunu, parolayı ayarlayın ve Web Hosting'de Sertifika deposunu seçin .

görüntü açıklamasını buraya girin

  • Tamam'a tıklayın .
  • Şimdi IIS Yöneticisi'nde sitenize gidin ve Bağlamalar ... ve Yeni bir bağlama ekle'yi seçin .

  • Bağlama türü olarak https'yi seçin ve içe aktarılan sertifikayı görebilmeniz gerekir.

  • Tamam'a tıklayın ve her şey tamamlandı.

görüntü açıklamasını buraya girin


Kendinden imzalı bir sertifika ile daha uzun süre kullanım süresine sahip olmak istedim ve makecert.exe içeren Windows SDK, Windows ana bilgisayarında mevcut değildi. Bir Linux ana bilgisayarı ve bu cevap çözümü sağladı.
richk

Cevabımı faydalı bulduğunuza sevindim.
Joseph

Bu "public.organization.com", openssl komutunun neresine yerleştirilir?
The One

2

Diğer bir seçenek de, web sitesi başına alan adını belirlemenize izin veren kendinden imzalı bir sertifika oluşturmaktır. Bu, onu birçok alan adında kullanabileceğiniz anlamına gelir.

IIS Yöneticisinde

  1. Makine adı düğümüne tıklayın
  2. Açık Sunucu Sertifikaları
  3. Eylemler panelinde, 'Kendinden İmzalı Sertifika Oluştur'u seçin
  4. 'Kolay bir ad belirtin ...' alanına * Dev adını verin (tür listesinden 'Kişisel'i seçin)
  5. Kayıt etmek

Şimdi, web sitenizde IIS'de ...

  1. Bağlamaları yönetin
  2. Https için yeni bir bağlama oluşturun
  3. Listeden kendinden imzalı sertifikanızı seçin
  4. Seçildikten sonra, alan adı kutusu etkinleştirilecek ve alan adınızı girebileceksiniz.

görüntü açıklamasını buraya girin


Şimdiye kadarki en faydalı cevap için teşekkürler. En azından geliştirmede kullanmak için bu hızlı.
cabaji99

0

Kendinden imzalı bir sertifika oluşturmanın başka bir kolay yolu, Jexus Manager'ı kullanmaktır.

Jexus Yöneticisi

  1. Bağlantılar panelinde bir sunucu düğümü seçin.
  2. Orta panelde, yönetim sayfasını açmak için Sunucu Sertifikaları simgesine tıklayın.
  3. Eylemler panelinin altında, "Kendinden İmzalı Sertifika Oluştur ..." menü öğesini tıklayın.

https://www.jexusmanager.com/en/latest/tutorials/self-signed.html

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.