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, uç nokta 5022'de oluşan ile ilgili SSL_PE_NO_CIPHER
hatayı çözmenize yardımcı olur. Ayrıca, .NET Framework'ün farklı sürümlerinde Aktarım Katmanı Güvenliği'nin (TLS) zorunlu hale getirilmesine yönelik betikler de sağlar.
Belirtiler
Güvenlik Yuvası Katmanı (SSL) "SSL_PE_NO_CIPHER" hatası uç nokta bağlantı noktası 5022'de oluşur ve 15 saniyeden uzun bir gecikme yaşanarak zaman aşımlarına neden olabilir. İstemci ile sunucu arasındaki uyumlu şifreleme paketlerinin olmaması nedeniyle SSL el sıkışması başarısız olduğunda oluşur. Eski veya zayıf şifreleme algoritmaları kullanılırsa bu durum oluşabilir.
Çözüm
Bu hatayı gidermek için şu adımları izleyin:
SSL veya TLS kitaplıklarını güncelleştirin. hem istemci hem de sunucunun güncel SSL veya TLS kitaplıklarının yüklü olduğundan emin olun. Eski sürümler modern ve güvenli şifreleme paketlerini desteklemeyebilir.
Hem istemcide hem de sunucuda Şifreleme Paketi yapılandırmalarını denetleyin. Modern ve güvenli şifreleme paketlerine izin verildiğinden emin olun. Eski veya zayıf şifreleme paketlerini devre dışı bırakmayı göz önünde bulundurun.
SSL veya TLS protokol sürümlerini doğrulayın. hem istemcinin hem de sunucunun aynı SSL veya TLS protokol sürümlerini desteklediğini onaylayın. Eski protokol sürümleri belirli şifreleme paketleriyle uyumlu olmayabilir. Sunucularda TLS 1.2 yoksa, .NET Framework üzerinde TLS 1.2'yi zorunlu kılmak için aşağıdaki betiği çalıştırın:
# .NET Framework v2.0.50727 New-Item -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "AspNetEnforceViewStateMac" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1
# .NET Framework v4.0.30319 New-Item -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "AspNetEnforceViewStateMac" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1
# Wow6432Node\Microsoft\.NETFramework\v2.0.50727 New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "AspNetEnforceViewStateMac" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1
# Wow6432Node\Microsoft\.NETFramework\v4.0.30319 New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "AspNetEnforceViewStateMac" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1
# WinHTTP New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" -Name "DefaultSecureProtocols" -Value 0x00000800
# Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" -Name "DefaultSecureProtocols" -Value 0x00000800
Aşağıdaki betiği çalıştırarak TLS'yi etkinleştirin:
# Enable TLS 1.2 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 0 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 1 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "DisabledByDefault" -Value 0 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "Enabled" -Value 1
Aşağıdaki betiği çalıştırarak TLS'yi devre dışı bırakın:
# Disable TLS 1.1 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "DisabledByDefault" -Value 1 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "Enabled" -Value 0 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -Value 1 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 0 # Disable TLS 1.0 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "DisabledByDefault" -Value 1 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "Enabled" -Value 0 New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -Va. ue 1 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 0
Sistem saatini ve tarihini denetleyin. SSL sertifika doğrulaması için doğru sistem saati ve tarihi gereklidir. Hem istemcide hem de sunucuda sistem saatinin ve tarihinin doğru olduğunu doğrulayın.
Sertifikaları doğrulayın. Sunucuda yüklü SSL sertifikasının geçerli olduğundan ve süresinin dolmadığından emin olun. İstemcinin sunucunun sertifikasını başarıyla doğrulayabilir mi denetleyin.
Güvenlik duvarı ve ara sunucu ayarlarını denetleyin. Gerekli bağlantı noktalarının açık olduğunu ve hiçbir güvenlik duvarı veya ara sunucu ayarının SSL el sıkışmasını engellemediğini doğrulayın.
Betiği hem istemci hem de sunucu bilgisayarlarında yönetici olarak çalıştırın.
Betiği çalıştırdıktan sonra sunucuları yeniden başlatın.
Bu adımlar tamamlandıktan sonra "SSL_PE_NO_CIPHER" hatası çözülmelidir.
Not
Microsoft, Windows kayıt defterini yedeklemenizi önerir.
Ayrıca bkz.
Var olan bir bağlantı uzak konak tarafından zorla kapatıldı (işletim sistemi hatası 10054)