εξώφυλλοΕκμάθηση λογισμικούΛόγοι και λύσεις για το "Αίτημα ματαιώθηκε: Απέτυχε η δημιουργία ασφαλούς καναλιού SSL/TLS"
Λόγοι και λύσεις για το "Αίτημα ματαιώθηκε: Απέτυχε η δημιουργία ασφαλούς καναλιού SSL/TLS"

Περιγραφή: Το αίτημα ματαιώθηκε: Απέτυχε η δημιουργία ασφαλούς καναλιού SSL/TLS. Δεν ήταν δυνατή η δημιουργία ασφαλούς καναλιού SSL/TLS. Δημιουργία πλατφορμών: Windows Server 2012, Windows 7 Service Pack 1 (SP1) και Windows Server 2008 R2 SP1

[επεισόδιο] λήψη ιστότοπου Είναι ένα εργαλείο λήψης ολόκληρου του ιστότοπου Εισαγάγετε τη διεύθυνση URL για λήψη με ένα κλικ. Είναι απλό και εύκολο στη χρήση και έχει εργασίες πολλαπλών νημάτων.

Λύση 1: Επίπεδο κώδικα

Ορίστε τον κωδικό πριν από το HttpWebRequest

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

Λύση 2: Επίπεδο συστήματος

Εάν η παραπάνω μέθοδος δεν λειτουργεί, πρόκειται για πρόβλημα σε επίπεδο συστήματος. Ενημερώστε την ενημερωμένη έκδοση κώδικα συστήματος σύμφωνα με το σύστημα που χρησιμοποιείτε αυτήν τη στιγμή.

Ενημερωμένη έκδοση για ενεργοποίηση των TLS 1.1 και TLS 1.2 ως τα προεπιλεγμένα πρωτόκολλα ασφαλείας στο WinHTTP στα Windows, αυτή η ενημέρωση παρέχει υποστήριξη για Transport Layer Security (TLS) στον Windows Server 2012, Windows 7 Service Pack 1 (SP1) και Windows Server 2008 R2 SP1 1.1 και υποστήριξη 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

Ενημερώστε την ενημερωμένη έκδοση κώδικα KB3140245

Ενεργοποιήστε τα TLS 1.1 και 1.2 στα Windows 7 σε επίπεδο στοιχείου SChannel (με οποιαδήποτε ενημέρωση παρακάτω)

Μέθοδος 1: Χρησιμοποιήστε το πακέτο εγκατάστασης της ενημέρωσης της Microsoft για να ενημερώσετε το MicrosoftEasyFix51044.msi
Μέθοδος 2: Μη αυτόματη ενημέρωση του μητρώου

Αντιγράψτε τον ακόλουθο κωδικό μητρώου και εισαγάγετέ τον στο μητρώο. Δημιουργήστε ένα νέο txt, αλλάξτε το επίθημα txt σε reg (κλειδί μητρώου) και εισαγάγετε (δημιουργήστε αντίγραφο ασφαλείας πριν την εισαγωγή)

WIN7 64
[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
Windows Server
[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

Βεβαιωθείτε ότι το σύστημα υποστηρίζει TLS1.2, TLS1.3

Το PowerShell ανοίγει:

[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

Η πρώτη γραμμή κώδικα ελέγχει την υποστηριζόμενη έκδοση TLS. Η δεύτερη γραμμή κώδικα τροποποιεί την υποστήριξη TLS.

Λύση 3: Αναβαθμίστε το σύστημα

Καμία από τις δύο προηγούμενες μεθόδους δεν θα λειτουργήσει, επομένως μπορείτε να χρησιμοποιήσετε μόνο την τελική μέθοδο:

  • Αναβαθμίστε το σύστημα σε Windows 10 και Windows Server 2019 (υποστηρίζει TLS1.2).
  • Αναβαθμίστε το σύστημα σε Windows 11 και Windows Server 2022 (υποστηρίζει TLS1.3).

Σημείωση: Για συγκεκριμένες εκδόσεις TSL που υποστηρίζονται από κάθε έκδοση των Windows, ανατρέξτε στις συμπληρωματικές πληροφορίες σε αυτό το άρθρο.


Άλλο περιεχόμενο αναφοράς

Άλλο περιεχόμενο αναφοράς ένα

Λύσεις υπάρχουν, αλλά εξαρτώνται από την έκδοση πλαισίου:

.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. Το μόνο πρόβλημα είναι ότι το SecurityProtocolType στο .NET 4.0 δεν έχει καταχώρηση για TLS1.2, επομένως πρέπει να χρησιμοποιήσουμε την αριθμητική αναπαράσταση αυτής της τιμής enum:

ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 ή χαμηλότερο. Το TLS 1.2(*) δεν υποστηρίζεται και δεν υπάρχει λύση. Αναβαθμίστε την εφαρμογή σας στην πιο πρόσφατη έκδοση του πλαισίου.

ΥΓ Για το σενάριο 3, υπάρχει επίσης ένα hack μητρώου που θα αναγκάσει το 4.5 να χρησιμοποιήσει το TLS 1.2 από προεπιλογή χωρίς να χρειάζεται να το επιβάλει μέσω προγραμματισμού. PPS Όπως αναφέρει ο Christian Pop της Microsoft παρακάτω, υπάρχει μια πιο πρόσφατη ενημέρωση κώδικα διαθέσιμη για .NET 3.5 που επιτρέπει την υποστήριξη TLS1.2.

Βλέπω:

  • KB3154518 – Συνάθροιση αξιοπιστίας HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154519 – Συνάθροιση αξιοπιστίας HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154520 – Συνάθροιση αξιοπιστίας HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Άλλο περιεχόμενο αναφοράς 2

Ίσως το μήκος του κλειδιού πιστοποιητικού που παρέχεται από τον ιστότοπο είναι 512 bit και σύμφωνα με τα τρέχοντα βιομηχανικά πρότυπα, θα πρέπει να περιέχει ένα δημόσιο κλειδί τουλάχιστον 2048 bit. Η ενημέρωση ασφαλείας του Σεπτεμβρίου 2016 της Microsoft απάντησε σε αυτό το ζήτημα δηλώνοντας ότι εάν το μήκος του δημόσιου κλειδιού είναι μικρότερο από 2048 byte (π.χ. RSA 512),Τα Windows μπορούν να ακυρώσουν τις συνδέσεις HTTPS

Οι εγκατεστημένες ενημερώσεις είναι

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

Άλλο περιεχόμενο αναφοράς τρία

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 προεπιλεγμένη τιμή: SecurityProtocolType.Ssl3 .net 4.6/4.7 προεπιλεγμένη τιμή: SecurityProtocolType.Tls |

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

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)0.1d

Το συμπέρασμα του TLS1.2 είναι το εξής:

  • Η εγκατάσταση του .Net3.5.1 απαιτεί μια ενημέρωση κώδικα και, στη συνέχεια, την προσθήκη απαρίθμησης TLS1.2
  • Η εγκατάσταση του .Net 4.0 απαιτεί τροποποίηση του μητρώου και στη συνέχεια προσθήκη απαρίθμησης TLS1.2
  • Μετά την εγκατάσταση του .Net4.5, πρέπει επίσης να προσθέσετε την απαρίθμηση TLS1.2
  • Μετά την εγκατάσταση του .Net4.6.1, το 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

πρόσθετα υλικά

Αυτό το άρθρο είναι γραμμένο απόλήψη ιστότοπουΣυγκεντρωμένο και οργανωμένο, το περιεχόμενο προέρχεται από το Διαδίκτυο, αναφέρετε την πηγή κατά την επανεκτύπωση, σας ευχαριστώ.

Εφαρμογή λογισμικού: λήψη προτύπου και σχεδιασμός βελτιστοποίησης εκτός σύνδεσης. Σημείωση: Αυτό το λογισμικό δεν είναι πρόγραμμα χάκερ και δεν μπορεί να πραγματοποιήσει λήψη δεδομένων παρασκηνίου!
Αποποίηση ευθύνης: Η υπηρεσία προορίζεται για προσωπική μελέτη, έρευνα ή εκτίμηση, καθώς και για άλλους μη εμπορικούς ή μη κερδοσκοπικούς σκοπούς, αλλά ταυτόχρονα θα πρέπει να συμμορφώνεται με τις διατάξεις της νομοθεσίας περί πνευματικών δικαιωμάτων και άλλους σχετικούς νόμους και δεν πρέπει να παραβιάζει την νόμιμα δικαιώματα αυτού του ιστότοπου και των κατόχων συγγενικών δικαιωμάτων Οι κίνδυνοι που σχετίζονται με τη χρήση των εργαλείων σε αυτόν τον ιστότοπο δεν έχουν καμία σχέση με αυτό το λογισμικό.
Πνευματικά δικαιώματα © 2019-2024 Rabbit Software Με την επιφύλαξη παντός δικαιώματος Guangdong ICP No. 19111427-2
Πληροφορίες φροντιστηρίου Εγχειρίδιο χρήστη Θέματα ιστότοπου