Windows Server 2019 işletim sisteminde “The internal error state is 10013.” hatasının giderilmesi

Windows Server işletim sisteminde IIS üzerinde yayınladığınız web siteniz TLS bağlantısı kuramazsa “The internal error state is 10013.” hata mesajıyla karşılaşabilirsiniz. Yani, Windows Application Event Log’larında göreceğiniz hata mesajı aşağıdaki gibidir.

A fatal error occurred while creating a TLS client credential. The internal error state is 10013.

Bu hata, Schannel Security Service Provider (SSP) ile ilgili sorunlar olduğunda Application Event Log’da ID 36871 ile kaydedilir. Başka bir örnekte; web sunucusu gerçekten devre dışı bırakılmış bir şifreleme algoritması veya protokolü kullanmaya çalışıyor olabilir. Benzer şekilde uyumsuz makine (incompatible machine key) anahtarları veya yetersiz dosya izinlerine sahip makine anahtarları da bu hataya neden olmaktadır.

Windows Server 2019 işletim sisteminde bu sorunu çözmek için aşağıdaki adımları yapmanız gerekecektir. Bu talimatları uyguladıktan sonra 10013 hata logları kaydedilmediyse, lütfen sunucuda kullandığınız diğer tüm uygulamaların ve hizmetlerin beklendiği gibi çalıştığından emin olmanız gerekecektir.

  1. “Machine Key” Dosya izinin doğrulanması;

Bu başlık altında C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys klasöründeki izinleri düzenleyiniz.

  • Everyone hesabı erişimi için; Special erişmi için This Folder Only
  • Network Service hesabı erişimi için; Read & Execute yetkisi “This folder, subfolder and files“.
  • Administrator hesabı erişimi için; Full Control yetkisi This folder, subfolder and files“.
  • System hesabı erişimi için; Full Control yetkisi This folder, subfolder and files“.
  • IUSR hesabı erişimi için; Full Control yetkisi This folder, subfolder and files“.

Bu kısımda yapılan değişikliklerden sonra sunucuyu yeniden başlatın. 10013 hataları kaybolmalıdır. Ancak, EventViewer’da hala “Schannel 10013” hatalarını görüyorsanız, sonraki çözümü deneyin.

2. .Net 4.0’da TLS Sürümünün TLS 1.2 olarak değiştirilmesi;

Aşağıdaki komutları çalıştırınız.

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /reg:32

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /reg:32

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:32

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64

Yapılan bu değişikliklerden sonra işletim sisteminizi yeniden başlatınız.

işletim sistemi açıldıktan sonra sorunun tekrarlaması durumunda Local Security Policy’de “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” değerini “Enable” olarak değiştiriniz ve işletim sisteminizi tekrardan yeniden başlatınız.