Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, sertifika zincirini derleme girişimi sırasında ADFS 2.0 sertifika hatasını düzeltmeye yardımcı olur.
Özgün KB numarası: 3044974
Özet
Active Directory Federasyon Hizmetleri (AD FS) 2.0 sorunlarının çoğu aşağıdaki ana kategorilerden birine aittir. Bu makale, sertifika sorunlarını gidermek için adım adım yönergeler içerir.
- Bağlantı sorunları (KB 3044971)
- ADFS hizmet sorunları (KB 3044973)
- Sertifika sorunları (KB 3044974)
- Kimlik doğrulama sorunları (KB 3044976)
- Talep kuralları sorunları (KB 3044977)
Belirtiler
Bu sorun, bir AD FS sertifikası değiştirildikten veya değiştirildikten sonra başlar.
Program, AD FS tarafından verilen belirteci kabul etme işlemini durdurur.
AD FS, imzalı bir istek veya yanıt aldığında veya Bağlı Olan Taraf Uygulamasına verilecek belirteci şifrelemeye çalıştığında aşağıdaki hatalardan birini döndürür:
- Olay Kimliği 316
Bağlı olan taraf güven imzalama sertifikası için sertifika zinciri oluşturma girişimi sırasında bir hata oluştu. - Olay Kimliği 315
Talep sağlayıcı güven imzalama sertifikası için sertifika zinciri oluşturma girişimi sırasında bir hata oluştu. - Olay Kimliği 317
Bağlı olan taraf güven şifreleme sertifikası için sertifika zinciri oluşturma girişimi sırasında bir hata oluştu.
- Olay Kimliği 316
Aşağıdaki sertifikayla ilgili olay kimlikleri AD FS olay günlüğüne kaydedilir:
- Olay Kimliği 133
Açıklama: Federasyon Hizmeti yapılandırması işlenirken 'serviceIdentityToken' öğesinin geçersiz veriye sahip olduğu bulundu. Yapılandırılan sertifikanın özel anahtarına erişilemedi. Sertifikanın değerleri şunlardır:Element: serviceIdentityToken - Olay Kimliği 385
AD FS 2.0, AD FS 2.0 yapılandırma veritabanındaki bir veya daha fazla sertifikanın el ile güncelleştirilmiş olması gerektiğini algılamıştı. - Olay Kimliği 381
Yapılandırma sertifikası için sertifika zinciri oluşturma girişimi sırasında bir hata oluştu. - Olay Kimliği 102
Federasyon Hizmeti'nin uç noktaları etkinleştirilirken bir hata oluştu.
Ek Veriler
Özel durum ayrıntıları:
System.ArgumentNullException: Değer null olamaz.
Parametre adı: sertifika - Olay Kimliği: 387
AD FS 2.0, Federasyon Hizmeti'nde belirtilen sertifikalardan birinin veya daha fazlasının AD FS 2.0 Windows Hizmeti tarafından kullanılan hizmet hesabı için erişilebilir olmadığını algılamıştı.
Kullanıcı Eylemi: AD FS hizmet hesabının sertifika özel anahtarları üzerinde okuma izinlerine sahip olduğundan emin olun.
Ek Ayrıntılar:
Parmak izi 'xxxx' olan belirteç imzalama sertifikası
- Olay Kimliği 133
Çözüm
Bu sorunu çözmek için verilen sırayla bu adımları izleyin. Bu adımlar, sorunun nedenini belirlemenize yardımcı olur. Sorunun her adımdan sonra çözülmüş olup olmadığını denetlediğinizden emin olun.
1. Adım: Özel anahtarları denetleme
Tüm AD FS sertifikalarının (Hizmet iletişimleri, belirteç şifre çözme ve belirteç imzalama) geçerli olup olmadığını ve bunlarla ilişkilendirilmiş özel bir anahtarı olup olmadığını denetleyin. Ayrıca, sertifikanın geçerlilik süresi içinde olduğundan emin olun.
Sertifikaları nerede bulabilirim?
Hizmet iletişim sertifikaları için:
AD FS sunucusunda Başlat'a tıklayın, Çalıştır'a tıklayın, MMC.exe yazın ve enter tuşuna basın.
Ek Bileşen Ekle/Kaldır iletişim kutusunda Tamam'a tıklayın.
Sertifikalar ek bileşeni ekranında Bilgisayar hesabı sertifika deposuna tıklayın.
Hizmet İletişimleri sertifikasının özelliklerini görüntülemek için Sertifika (Yerel Bilgisayar) öğesini genişletin, Kişisel'i genişletin ve sertifikalar'a tıklayın.
Belirteç imzalama ve belirteç şifresi çözme sertifikaları için:
- Sertifikalar varsayılan olarak ADFS sunucusu tarafından eklenen otomatik olarak imzalanan sertifikalarsa, ADFS Hizmeti hesabını kullanarak ADFS sunucusunda etkileşimli olarak oturum açın ve kullanıcının sertifika deposunu (certmgr.msc) denetleyin.
- Sertifikalanan, AutoCertificateRollover devre dışı bırakıldıktan sonra ADFS yöneticileri tarafından yapılandırılan bir sertifika yetkilisinden (CA) geliyorsa, bunu ADFS sunucusunun sertifika deposu altında bulabilmelisiniz.
2. Adım: Sertifikaların Şifreleme Yeni Nesil (CNG) özel anahtarı kullanmadığından emin olun
CNG özel anahtarını kullanan sertifikalar Belirteç İmzalama ve Belirteç Şifre Çözme için desteklenmez. AD FS otomatik olarak imzalanan sertifikayı oluşturduysa, bu sertifika CNG kullanmaz. CA tarafından verilen bir sertifika için sertifikanın CNG tabanlı olmadığından emin olun.
CA şablonu listelenen şifreleme hizmeti sağlayıcılarından herhangi birini kullanıyorsa, bu CA tarafından verilen sertifika AD FS sunucusu tarafından desteklenmez.
3. Adım: IIS'deki Hizmet iletişim sertifikalarının SSL bağlamasının 443 numaralı bağlantı noktasına bağlı olup olmadığını denetleyin
Denetleme ve düzeltme
IIS Yöneticisi'ni başlatın. Bunu yapmak için Başlat'a, Yönetim Araçları'na ve ardından Internet Information Services (IIS) Yöneticisi'ne tıklayın.
Sunucu adına tıklayın ve siteler klasörünü genişletin.
Web sitenizi (genellikle "Varsayılan Web Sitesi" olarak bilinir) bulun ve seçin.
Sağ taraftaki Eylemler menüsünde Bağlamalar'a tıklayın. Https teklif türünün 443 numaralı bağlantı noktasına bağlı olduğundan emin olun. Aksi takdirde, bağlantı noktasını değiştirmek için Düzenle'ye tıklayın.
4. Adım: Hizmet iletişim sertifikasının geçerli, güvenilir olduğundan ve iptal denetimi geçirdiğinden emin olun
Nasıl denetlenecek?
AD FS 2.0 Yönetimi'ni açın.
Hizmet'i genişletin, Sertifika'ya tıklayın, hizmet iletişim sertifikasına sağ tıklayın ve ardından Sertifikayı görüntüle'ye tıklayın.
Ayrıntılar bölmesinde Dosyaya kopyala'ya tıklayın ve dosyayı Filename.cer olarak kaydedin.
Bir komut isteminde, hizmet iletişim sertifikasının geçerli olup olmadığını belirlemek için aşağıdaki komutu çalıştırın:
Run 'Certutil -verify -urlfetch certificate.CER > cert_cerification.txt'
"cert_verification.txt" öğesinin üzerinde oluşturulan çıkış dosyasını açın.
Dosyanın sonuna gidin ve başarılı bir iptal testi için aşağıdakileri içerip içermediğini denetleyin:
Yaprak sertifika iptal denetimi geçirildi
CertUtil: -verify komutu başarıyla tamamlandı.Dosya, iptal denetimlerinin başarısız olduğunu veya iptal sunucusunun çevrimdışı olduğunu gösteriyorsa, sertifika zincirindeki hangi sertifikanın doğrulanamadını belirlemek için günlüğü denetleyin.
Herhangi bir AIA veya CDP yolunun başarısız olup olmadığını denetleyin. Bir dosya türü altında birden çok yolun belirtildiği bir senaryoda, her iki yol da doğrulanmış olarak işaretlenmelidir.
---------------- Sertifika AIA ----------------
Doğrulanmış "Sertifika (0)" Saat: 0
[0.0]http://www.contoso.com/pki/mswww(6).crt
Başarısız "AIA" Saati: 0
URL alınırken hata oluştu: Sunucu adı veya adresi 0x80072ee7 çözümlenemedi (WIN32: 12007)
http://corppki/aia/mswww(6).crt
sertifika CDP ---------------- ----------------
Doğrulanmış "Temel CRL (5a)" Saat: 0
[0.0]http://mscrl.contoso.com/pki/crl/mswww(6).crl
Doğrulanmış "Temel CRL (5a)" Saat: 0
[1.0]http://crl.contoso.com/pki/crl/mswww(6).crl
Başarısız "CDP" Saati: 0
URL alınırken hata oluştu: Sunucu adı veya adresi 0x80072ee7 çözümlenemedi (WIN32: 12007)
http://corppki/crl/mswww(6).crl
AIA, CDP veya OCSP yolundan herhangi biri kullanılamıyorsa ağ izlemesi toplamak yararlı olabilir.
Günlük girdisi sertifikanın iptal edilmiş olduğunu gösteriyorsa, geçerli ve iptal edilmemiş başka bir sertifika istemeniz gerekir.
5. Adım: ADFS hizmet hesaplarının ADFS sertifikalarının özel anahtarı için Okuma iznine sahip olduğundan emin olun
Okuma iznini denetleme
AD FS sunucusunda Başlat'a tıklayın, Çalıştır'a tıklayın, MMC.exe girin ve enter tuşuna basın.
Ek Bileşen Ekle/Kaldır iletişim kutusunda Tamam'a tıklayın.
Bilgisayar sertifika depolarını görüntülemek için Konsol Kökü penceresinde Sertifikalar (Yerel Bilgisayar) seçeneğine tıklayın.
AD FS hizmetine sağ tıklayın, Tüm Görevler'in üzerine gelin ve özel anahtarları yönet'e tıklayın.
AD FS hesabının Okuma iznine sahip olup olmadığını denetleyin.
6. Adım: ADFS AutoCertificateRollover özelliğinin belirteç imzalama ve belirteç şifre çözme sertifikaları için etkinleştirilip etkinleştirilmediğini denetleyin
ADFS AutoCertificateRollover özelliğini denetleme
- AutoCertificateRollover devre dışı bırakılırsa, belirteç imzalama ve belirteç şifre çözme sertifikaları otomatik olarak yenilenmez. Bu sertifikaların süresi dolmadan önce AD FS yapılandırmasına yeni bir sertifika eklendiğinden emin olun. Aksi takdirde, bağlı olan taraf AD FS sunucusu tarafından verilen belirteci güvenmez.
- AutoCertificateRollover etkinleştirilirse, eski sertifikaların süresinin dolmasından 20 gün önce yeni belirteç imzalama ve belirteç şifre çözme sertifikaları oluşturulur. Yeni sertifikalar oluşturulduktan beş gün sonra Birincil durumu alır. Yeni sertifika kümesi oluşturulduktan sonra, bağlı olan taraf ve talep sağlayıcısı güvenlerinde aynı bilgilerin güncelleştirildiğinden emin olun.
AD FS AutoCertificateRollover özelliği hakkında daha fazla bilgi için aşağıdaki TechNet konularına bakın:
AD FS 2.0: AutoCertificateRollover'ı Etkinleştirme ve Hemen Kullanma
7. Adım: Sertifika SAN'sine federasyon hizmeti adını ekleme
Sertifikada SAN (Konu Alternatif Adı) özniteliği etkinleştirildiyse, federasyon hizmeti adı da sertifikanın SAN'sine diğer adlarla birlikte eklenmelidir. Daha fazla bilgi için bkz . SSL Sertifika Gereksinimleri.
8. Adım: (CN=GUID,CN=<ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>) sertifika paylaşımı kapsayıcısı için hizmet hesabı izinlerini> denetleyin
Hizmet hesabı iznini denetleme ve düzeltme
Bir etki alanı denetleyicisinde (DC), Adsiedit.msc dosyasını açın.
Varsayılan adlandırma bağlamı'na bağlanın.
CN=<GUID,CN>=ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM'u> bulun.
Not
Bu kapsayıcı adında köşeli ayraç içindeki parametreler gerçek değerleri temsil eder. GUID örneği"62b8a5cb-5d16-4b13-b616-06caea706ada" şeklindedir.
GUID'ye sağ tıklayın ve ardından Özellikler'e tıklayın. Birden fazla GUID varsa şu adımları izleyin:
AD FS hizmetini çalıştıran sunucuda Windows PowerShell'i başlatın.
Şu komutu çalıştırın:
Add-PSSnapin microsoft.adfs.powershellGet-ADFSProperties
CertificateShareingContainer altında çalışan AD FS hizmetinin GUID'sini bulun.
ADFS hizmet hesabının bu nesneye ve tüm alt nesnelere Okuma, Yazma ve "Tüm alt nesneleri oluştur" izinlerine sahip olduğundan emin olun.
9. Adım: Talep sağlayıcılarını ve bağlı olan tarafları sertifika güncelleştirmeleri için denetleme
Belirteç imzalama ve belirteç şifre çözme sertifikaları değiştiyse, talep sağlayıcılarının ve bağlı olan tarafların yeni sertifikalara sahip olacak şekilde güncelleştirildiğinden emin olun. Talep sağlayıcıları ve bağlı olan taraflar güncelleştirilmezse, AD FS hizmetine güvenemezler.
- Değişiklik yapıldıktan sonra Federationmetadata.xml talep sağlayıcısı ve bağlı olan tarafla paylaşın.
- Talep sağlayıcısı ve bağlı olan taraf yalnızca yeni belirteç imzalama ve belirteç şifre çözme sertifikalarının (özel anahtar olmadan) federasyon güveninde güncelleştirilmesini gerektirebilir.
10. Adım: Talep sağlayıcısından veya bağlı olan taraftan imzalı istek ve yanıt olup olmadığını denetleyin
İmzalı istek ve yanıt, AD FS sunucusu tarafından talep sağlayıcısından veya bağlı olan taraftan alınmış olabilir. Bu senaryoda, AD FS sunucusu imzalama için kullanılan sertifikanın geçerliliğini denetleyebilir ve başarısız olabilir. AD FS, AD FS sunucusuna şifrelenmiş belirteç göndermek için kullanılan bağlı olan tarafla ilişkili sertifikanın geçerliliğini de denetler.
Senaryolar
AD FS 2.0, bağlı olan taraf tarafından gönderilen imzalı bir SAML-P isteği alır.
Not
Oturum açma isteklerinin imzasını gerektirmek yapılandırılabilir bir seçenektir. Bağlı olan taraf güveni için bu gereksinimi ayarlamak için RequireSignedSamlRequests parametresini Set-ADFSRelyingPartyTrust cmdlet'iyle birlikte kullanın.
AD FS 2.0, bağlı olan taraftan imzalı bir SAML oturum kapatma isteği alır. Bu senaryoda, oturum kapatma isteğinin imzalanması gerekir.
AD FS 2.0, talep sağlayıcısından bir oturum kapatma isteği alır ve bağlı olan taraf için bir oturum kapatma isteğini şifreler. Bu senaryoda, talep sağlayıcısı oturumu kapatma işlemini başlatır.
AD FS 2.0, bağlı olan taraf için şifrelenmiş bir belirteç oluşturur.
AD FS 2.0, bir talep sağlayıcısından verilen bir belirteç alır.
AD FS 2.0, talep sağlayıcısından imzalı bir SAML oturumu kapatma isteği alır. Bu senaryoda, oturum kapatma isteğinin imzalanması gerekir.
Sorunu çözmek için denetlenecekler
Talep sağlayıcısı güveninin imzalama sertifikasının geçerli olduğundan ve iptal edilmediğinden emin olun.
İptal ayarında "yok" veya "yalnızca önbellek" ayarı belirtilmezse AD FS 2.0'ın sertifika iptal listesine erişebildiğinden emin olun.
Not
Aşağıdaki iptal ayarlarını yapılandırmak için AD FS 2.0 için Windows PowerShell cmdlet'lerini kullanabilirsiniz:
- Set-ADFSClaimsProviderTrust veya Set-ADFSRelyingPartyTrust cmdlet'inin SigningCertificateRevocationCheck parametresi
- Set-ADFSRelyingPartyTrust veya Set-ADFSClaimsProviderTrust cmdlet'inin EncryptionCertificateRevocationCheck parametresi
Daha fazla bilgi için bkz . AD FS 2.0 ile ilgili sertifika sorunlarını giderme.