Soru MS Sertifika Hizmetleri, OpenSSL ile oluşturulan CA'ya Alt Yetenek Olabilir mi?


Alanım için bir kuruluş sertifika yetkilisi kurmak istiyorum. Bu yüzden çeşitli amaçlar için sertifika verebilirim. Çevrimdışı bir CA'ya sahip olmanın en iyi uygulamasını takip etmeyi ve işletme CA'mı bir alt kullanıcı olarak ayarlamayı isterim. Ancak bu görev için tam bir Windows kopyası lisanslamak saçma gibi görünüyor.

Yapabilmeyi umduğum şey, bir USB flash diske bazı canlı dağıtım yüklemek ve sonra openssl'ı yüklemek ve flash sürücümde CA'mı kurmak. Kök anahtarını / sertifikayı oluşturmaya hazır olduğumda, bilgisayarı ağdan ayıracağım ve daha sonra bu USB diski ağa bağlı bir bilgisayarda tekrar kullanmam.

Kullanılabilecek bir Windows kurumsal CA için uygun bir CA sertifikası imzalayıp oluşturabilir miyim? CA'yı oluşturmak ve alt CA sertifikasını doğru şekilde imzalamak için OpenSSL ile hangi seçenekleri kullanmam gerekir.

Web’de arama girişiminde bulundum ve bu konuyla ilgili bulabildiğim tek şey buydu. Ama 2008'den önce geliyor ve ben her insanın başarılı olduğuna emin değilim.


15
2017-09-10 23:13


Menşei


Açık olmak gerekirse, araç mutlaka OpenSSL olmak zorunda değil, ama EJBCA gibi büyük bir CA çalıştırmak istemiyorum. Bir livecd / liveusb ortamında çalıştırılabilecek çok hafif bir CA arıyorum. - Zoredache


Cevaplar:


Evet, gayet iyi çalışıyor; Windows sertifika yetkilisi, Windows olmayan bir köke bağımlı olarak çalıştırmayla ilgili hiçbir özelliğe sahip değildir.

Enterprise modunda bir OpenSSL kökü ve bir Windows 2008 R2 bağımlııyla test edilmiştir.


MS CA'nın OpenSSL yapılandırmasında beklediği şeylerle güzel oynayabileceğiniz birkaç şey:

  • Geçerli AIA ve CDP konumları, kök sertifikaya, bölüm tarafından yapılandırılan bölümde uygulanmalıdır. x509_extensions mülkiyet [req] kendinden imzalı kök için bölüm. Bu satırlarda bir şey:

    authorityInfoAccess = caIssuers;URI:http://test-rootca.test.local/root.pem
    crlDistributionPoints = URI:http://test-rootca.test.local/root.crl
    
  • Belirli bir OpenSSL yapılandırması, varsayılan olarak alt CA'lara izin vermez. İmzalı istekler için bunu değiştirin (tabiki CA olmaması gereken istekler için bunun yerinde olmadığından emin olun). Bu, tarafından yapılandırılan bölümde olacaktır. x509_extensions mülkiyet [ca] Bölüm:

    basicConstraints=CA:TRUE
    certificatePolicies=2.5.29.32.0
    

Yani, test etmek için bir CA yapacağız.

Kökünü yap:

openssl req -new -x509 -keyout /etc/ssl/private/root.key -out /etc/ssl/certs/root.pem -nodes -extensions v3_ca

Yaptığınız yapılandırmayla çalışın ve gerekli dosyaları ve dizinleri oluşturun. [ca] OpenSSL yapılandırmanızın bölümü.

Tüm şeyler Microsoft'un gidişini elde etmek için hazır; Manuel imzalama ile bir Windows bağımlı CA oluşturmak.

Sertifika isteğini OpenSSL sunucusuna yükleyin. Bu sırada, kök sertifikayı indirin. Kullanıcının değil, bilgisayarın güvenilir kök deposuna aktarın!

Alt sertifikayı verin:

openssl ca -in test-subca.req
(you might need to specify a permissive policy manually with -policy, check your config)

Bu işe yaramazsa, CA'nız muhtemelen yapılandırma - yeni certs dizini, dizin dosyası, seri dosyası vb. İle ilgili bir soruna sahiptir. Hata mesajını kontrol edin.

Eğer gitti, o zaman bu. Eğer yapmadıysanız, bir CRL yapın ve yukarıda yapılandırdığınız CDP'ye koyun; Apache'yi kurdum ve webroot'ta sıkıştı:

openssl ca -gencrl -out /var/www/root.crl

Sertifikayı henüz yapmadıysa AIA konumuna getirin:

cp /etc/ssl/certs/root.pem /var/www/root.pem

Yeni verilen alt sertifikayı indirin ve Sertifika Yetkilisi MMC ek bileşeniyle birlikte CA'ya yükleyin. Güven veya doğrulama ile ilgili herhangi bir sorun hakkında anlaşılacak, ancak bunu almanın ahlaki bir itirazı yok.

Sonuç; Enterprise PKI ek bileşeninden şikayetçi olmayan çalışan bir Windows CA OpenSSL Generated Certificate özniteliklerde.

working-ca


14
2017-09-27 21:20





Ne aldığınızı görüyorum, ama OpenSSL'in iş için bir araç olduğunu sanmıyorum. Bakmak isteyebilirsiniz Açık Kaynak Sertifika Yetkilisi projeleri gibi EJBCA Bu işlevsellik OpenSSL'den daha fazla odaklanmış ve kullanabileceğiniz özel belgelere sahip.

Konseptin işe yaramayacağına dair bir neden göremiyorum çünkü yaptığınız tek şey, sertifika CA'sının sertifikasını imzalamak. Bunu yapmak için bir genel CA'ya ödeme yapıyorsanız, ne tür bir sunucu kullandığını bilmeniz veya önemsememeniz gerekmez.

İlgilenmeniz gereken tek şey:

  • alt sertifikanız tarafından oluşturulan CSR'den sertifikayı imzalayabilirsiniz
  • sonuç ast bağlı olarak yüklenebilir
  • hedeflediğiniz müşteriler için güvenilir olarak yüklenebilen bir kök imzalama sertifikanız var.
  • bir yere servis edilen bir iptal listesi oluşturabilirsiniz.

Bunu yaptığımı söyleyemem, ancak windows kutusundan bir CSR oluşturmak için dokümanlar izlerseniz, bir CSR'den bir .p7k sertifikası oluşturmak için CA belgelerinizi takip ederseniz emin olmalısınız.

Bu arada, CA'nızı bir önyükleme diski yerine Hyper-V ya da VMware gibi popüler bir hiper yönetici için sanal bir makine olarak oluşturmanızı öneririm, halefinizin bulabileceği bir yerde çok güvenli bir şekilde sakladığınızdan emin olun ve döndürün Çalıştığından emin olmak için periyodik olarak çevrimdışı ya da yeni medya / teknolojiye aktarın. Bir kök CA 10 veya 20 yıllık bir ömre sahip olabilir ...


6
2018-02-07 21:38



+1 OpenSSL, bir CA oluşturmak için önde gelen bir araçtır, ancak genel olarak çalışır. Bir Windows Enterprise CA için bir alt CA sertifikası vermedim, ancak neden işe yaramayacağını hayal bile edemiyorum (MS, geçmişte daha rekabetçi olmayan rekabete aykırı davranışlarda bulunmuş olsa da). VM için CA için büyük +1. Kök sertifikanın ikinci bir kopyasını tutmak iyi bir fikirdir (Kağıt üzerinde Base64 çok dayanıklıdır ve güvenli / depozito kutusu içinde saklanabilir) - Chris S
Herhangi bir NIC olmadan bir VM kurabildiğimi ve sadece CSR'leri almak ve sertifikaları imzalamak için sanal bir disket sürücüsü kullanabileceğimi fark ettiğimde kendimle oldukça memnun kaldım. Sneakernet, 21. Yüzyılın Sanal Parıltısıyla Yeniden Doğuyor! - dunxd