ဖော်ပြချက်- တောင်းဆိုမှုကို ဖျက်သိမ်းလိုက်သည်- SSL/TLS လုံခြုံသောချန်နယ်ကို ဖန်တီး၍မရပါ။ SSL/TLS လုံခြုံသောချန်နယ်ကို ဖန်တီး၍မရပါ။ ပလပ်ဖောင်းများတည်ဆောက်ခြင်း- Windows Server 2012၊ Windows 7 Service Pack 1 (SP1) နှင့် Windows Server 2008 R2 SP1
[အပိုင်း] website ဒေါင်းလုဒ်လုပ်ပါ။ ၎င်းသည် ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် ဒေါင်းလုဒ်လုပ်ရန် URL ကို ရိုက်ထည့်ရန် ဆိုက်တစ်ခုလုံး ဒေါင်းလုဒ်လုပ်ရန် လွယ်ကူပါသည်။
HttpWebRequest မတိုင်ခင်ကုဒ်ကို သတ်မှတ်ပါ။
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
အထက်ဖော်ပြပါနည်းလမ်းသည် အလုပ်မလုပ်ပါက၊ သင်လက်ရှိအသုံးပြုနေသည့် စနစ်အတိုင်း စနစ်အဆင့်ဆိုင်ရာ ပြဿနာတစ်ခုဖြစ်သည်။
Windows ရှိ WinHTTP တွင် မူရင်းလုံခြုံရေးပရိုတိုကောများအဖြစ် TLS 1.1 နှင့် TLS 1.2 ကိုဖွင့်ရန် အပ်ဒိတ်လုပ်ခြင်းအတွက် ဤအပ်ဒိတ်သည် Windows Server 2012၊ Windows 7 Service Pack 1 (SP1) နှင့် Windows Server 2008 R2 SP1 1.1 တွင် သယ်ယူပို့ဆောင်ရေးအလွှာလုံခြုံရေး (TLS) အတွက် ပံ့ပိုးမှုပေးပါသည်။ နှင့် TLS 1.2 ပံ့ပိုးမှု၊ တရားဝင်စာရွက်စာတမ်းကို ကိုးကားပါ။ https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
အောက်ဖော်ပြပါ မှတ်ပုံတင်ကုဒ်ကို ကူးယူပြီး မှတ်ပုံတင်စာရင်းထဲသို့ ထည့်သွင်းပါ။ txt အသစ်တစ်ခုဖန်တီးပါ၊ suffix txt ကို reg (registry key) သို့ပြောင်းပြီး တင်သွင်းပါ (မတင်သွင်းမီ အရန်ကူးယူပါ)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
PowerShell ပွင့်လာသည်-
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
ကုဒ်၏ပထမလိုင်းသည် ပံ့ပိုးထားသော TLS ဗားရှင်းကို စစ်ဆေးသည်
ယခင်နည်းလမ်းနှစ်ခုစလုံးသည် အလုပ်မဖြစ်သောကြောင့် သင်သည် အဆုံးစွန်သောနည်းလမ်းကိုသာ သုံးနိုင်သည်-
မှတ်ချက်- Windows ဗားရှင်းတစ်ခုစီမှ ပံ့ပိုးပေးထားသော သီးခြား TSL ဗားရှင်းများအတွက်၊ ဤဆောင်းပါးတွင် ဖြည့်စွက်အချက်အလက်များကို ဖတ်ရှုပါ။
ဖြေရှင်းချက်များ ရှိပါသည်၊ သို့သော် ၎င်းတို့သည် မူဘောင်ဗားရှင်းပေါ်တွင်မူတည်သည်-
.NET 4.6 နှင့် အထက်။ TLS 1.2 ကို ပံ့ပိုးရန် သင်သည် နောက်ထပ် မည်သည့်အလုပ်မျှ လုပ်ဆောင်ရန် မလိုအပ်ပါ၊ ၎င်းကို မူရင်းအတိုင်း ပံ့ပိုးထားသည်။
.NET 4.5 TLS 1.2 ကို ပံ့ပိုးထားသော်လည်း ၎င်းသည် မူရင်းပရိုတိုကောမဟုတ်ပေ။ ၎င်းကိုအသုံးပြုရန်သင်ရွေးချယ်ရန်လိုအပ်သည်။ အောက်ပါကုဒ်သည် TLS 1.2 ကို ပုံသေအဖြစ် သတ်မှတ်သည်၊ လုံခြုံသော အရင်းအမြစ်တစ်ခုသို့ မချိတ်ဆက်မီ ၎င်းကို လုပ်ဆောင်ရန် သေချာပါစေ။
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0 TLS 1.2 ကို မပံ့ပိုးနိုင်သော်လည်း သင့်စနစ်တွင် .NET 4.5 (သို့မဟုတ် ထို့ထက်မြင့်) ကို ထည့်သွင်းပါက၊ သင်၏ အပလီကေးရှင်းဘောင်သည် TLS 1.2 ကို မပံ့ပိုးသော်လည်း TLS 1.2 ကို အသုံးပြုရန် ရွေးချယ်ခွင့်ရှိသေးသည်။ တစ်ခုတည်းသောပြဿနာမှာ .NET 4.0 ရှိ SecurityProtocolType တွင် TLS1.2 အတွက် ထည့်သွင်းခြင်း မရှိသောကြောင့်၊ ဤ enum တန်ဖိုး၏ ကိန်းဂဏာန်းကိုယ်စားပြုမှုကို အသုံးပြုရပါမည်-
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 သို့မဟုတ် အောက်။ TLS 1.2(*) ကို မပံ့ပိုးပါ၊ ဖြေရှင်းချက်မရှိပါ။ သင့်လျှောက်လွှာကို မူဘောင်၏ နောက်ဆုံးဗားရှင်းသို့ အဆင့်မြှင့်ပါ။
PS scenario 3 အတွက်၊ 4.5 အား ပရိုဂရမ်မာကျကျ အတင်းအကြပ်လုပ်စရာမလိုဘဲ TLS 1.2 ကို မူရင်းအတိုင်းအသုံးပြုရန် အတင်းအကြပ်ခိုင်းစေမည့် registry hack မှုလည်းရှိပါသည်။ PPS Microsoft ၏ Christian Pop အောက်တွင်ဖော်ပြထားသည့်အတိုင်း TLS1.2 ပံ့ပိုးမှုပေးနိုင်သည့် .NET 3.5 အတွက် နောက်ဆုံးထွက် patch တစ်ခုရှိသည်။
ကြည့်ပါ-
ဝဘ်ဆိုက်မှ ပံ့ပိုးပေးသည့် လက်မှတ်သော့အရှည်သည် 512 bits ဖြစ်နိုင်ပြီး လက်ရှိလုပ်ငန်းဆိုင်ရာ စံနှုန်းများအရ ၎င်းတွင် အများသူငှာသော့ 2048 bits ထက်မနည်း ပါဝင်သင့်သည်။ Microsoft ၏ စက်တင်ဘာလ 2016 လုံခြုံရေးအပ်ဒိတ်တွင် အများသူငှာသော့၏အရှည်သည် 2048 bytes (ဥပမာ RSA 512) ထက်နည်းပါက ဤပြဿနာကို တုံ့ပြန်ခဲ့ပါသည်။Windows သည် HTTPS ချိတ်ဆက်မှုများကို ပယ်ဖျက်နိုင်သည်။
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 မူရင်းတန်ဖိုး- SecurityProtocolType.Tls |. SecurityProtocolType.Ssl3 .net 4.6/4.7 မူရင်းတန်ဖိုး- SecurityProtocolType.Tls | SecurityProtocolType.Tls11 |
SCH_USE_STRONG_CRYPTO ဤအလံကို .NET Framework 4.6 တွင် အလိုအလျောက်အသုံးပြုနိုင်မည်ဖြစ်ပါသည်။ https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Win7Sp1 နှင့် .Net 3.5.1 တွင် TLS1.2 ကို ပံ့ပိုးထားသည်။
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Close ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00;
TLS1.2 ၏နိဂုံးမှာ ဤအရာဖြစ်သည်-
.net4 အောက်တွင် မှတ်ပုံတင်ခြင်း မွမ်းမံခြင်း။
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001
ဤဆောင်းပါးကို ရေးသားသည်။website ဒေါင်းလုဒ်လုပ်ပါ။စုစည်းပြီး စနစ်တကျ၊ အကြောင်းအရာသည် အင်တာနက်မှလာသည်၊ ပြန်လည်ပုံနှိပ်သည့်အခါ အရင်းအမြစ်ကို ကျေးဇူးပြု၍ ညွှန်ပြပေးပါ၊ ကျေးဇူးတင်ပါသည်။