Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Η έκδοση .NET Framework 3.5 και οι παλαιότερες εκδόσεις δεν παρείχαν υποστήριξη για εφαρμογές για τη χρήση προεπιλεγμένων εκδόσεων συστήματος ασφάλειας επιπέδου μεταφοράς (TLS) ως κρυπτογραφικό πρωτόκολλο. Αυτή η ενημέρωση επιτρέπει τη χρήση της έκδοσης TLS v1.2 στο .NET Framework 3.5.

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

Επίλυση

Λήψη πληροφοριών

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

Έχουμε κάνει τις ακόλουθες βελτιώσεις σε αυτόν τον τομέα:

  • Μπορείτε να ορίσετε τα παρακάτω κλειδιά μητρώου ώστε να χρησιμοποιούν τις προεπιλογές του λειτουργικού συστήματος για SSL και TLS αντί για τις προεπιλογές κωδικοποιημένων .NET Framework για μια διαχειριζόμενη εφαρμογή που εκτελείται στον υπολογιστή.

    • Για λειτουργικά συστήματα 64 bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    • Για λειτουργικά συστήματα 32 bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    Σημείωση Εάν η εφαρμογή έχει ορίσει τα API ServicePointManager.SecureProtocol σε κώδικα ή μέσω αρχείων ρύθμισης παραμέτρων σε συγκεκριμένη τιμή ή χρησιμοποιεί τα API SslStream.AuthenticateAs* για να καθορίσει μια συγκεκριμένη απαρίθμηση SslProtocols, δεν προκύπτει συμπεριφορά ρύθμισης μητρώου.

  • Επιπλέον, έχουμε προσθέσει την απαρίθμηση SslProtocolsExtensions που μπορείτε να χρησιμοποιήσετε ως επιλογή για τη ρύθμιση της ιδιότητας TLS v1.2, TLS v1.1, καθώς και για τις προεπιλογές λειτουργικού συστήματος για την ιδιότητα ServicePointManager.SecurityProtocol κατά τη στόχευση της έκδοσης .NET framework έκδοση 2.0 SP2. (Ανατρέξτε στην ενότητα Καθοδήγηση για προγραμματιστές για πληροφορίες σχετικά με τον τρόπο χρήσης των επεκτάσεων.)

    Σημείωση Windows Vista SP2 και ο Windows Server 2008 SP2 δεν υποστηρίζουν εκδόσεις πρωτοκόλλου ασφάλειας επιπέδου μεταφοράς (TLS) νεότερες από 1.0. Οι διαχειριζόμενες εφαρμογές .NET Framework 2.0 SP2 που εκτελούνται στα Windows Vista SP2 ή στον Windows Server 2008 SP2 δεν μπορούν να χρησιμοποιήσουν TLS 1.2 ή TLS 1.1, ακόμη και εάν έχουν οριστεί αυτά τα πρωτόκολλα στην ιδιότητα ServicePointManager.SecurityProtocol.

Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αρχείων υποστήριξης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:

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

Οδηγίες για προγραμματιστές

Ο ορισμός των νέων επεκτάσεων είναι στα ακόλουθα αρχεία:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    χρησιμοποιώντας system.security.authentication;
    Public static class SecurityProtocolTypeExtensions
    {
    public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
    public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
    public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
    }
    }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication
    {
    public static class SslProtocolsExtensions
    {
    δημόσια σταθερά SslProtocols Tls12 = (SslProtocols)0x00000C00;
    public const SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Για να συμπεριλάβετε την υποστήριξη για TLS v1.2, συμπεριλάβετε τα αρχεία προέλευσης στο έργο σας και, στη συνέχεια, ορίστε την έκδοση πρωτοκόλλου, χρησιμοποιώντας τις ακόλουθες μεθόδους:
 

  • Οι εφαρμογές που χρησιμοποιούν API που βασίζονται στο ServicePointManager μπορούν να ορίσουν το πρωτόκολλο, χρησιμοποιώντας τα εξής:

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Οι εφαρμογές που χρησιμοποιούν SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) μπορούν να ορίσουν την τιμή SslProtocols ως SslProtocolsExtensions.Tls12.

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

Επίσης, όταν αλλάζετε τον κωδικό εφαρμογής για να ενεργοποιήσετε την υποστήριξη για TLS v1.2 με .NET Framework 3.5 SP1, θα πρέπει να βεβαιωθείτε ότι έχετε αντιμετωπίσει τις παρακάτω εξαιρέσεις σε υπολογιστές στους οποίους δεν έχει αναπτυχθεί αυτή η ενημέρωση κώδικα:
 

  1. Εάν η άμεση επιδιόρθωση δεν είναι εγκατεστημένη, τα API που βασίζονται στο ServicePointManager (HTTP, FTP, SMTP) θα ενεργοποιούν το "System.NotSupportedException: Το πρωτόκολλο ασφαλείας που ζητήθηκε δεν υποστηρίζεται" όταν η εφαρμογή καλεί Το ServicePointManager.SecurityProtocol για να ορίσει τη νέα τιμή.

  2. Εάν η άμεση επιδιόρθωση δεν είναι εγκατεστημένη, τα API που βασίζονται στο SslStream θα κάνουν εξαιρέσεις όταν καλούν οποιοδήποτε από τα API AuthenticateAs*:

    System.ArgumentException: Η καθορισμένη τιμή δεν είναι έγκυρη στην απαρίθμηση "SslProtocolType".
    Όνομα παραμέτρου: sslProtocolType

Σημείωση Για το SslStream μόνο, έναν συνδυασμό Tls12, Tls11 με οποιοδήποτε από τα υπάρχοντα Tls, Ssl3, Ssl2 (για παράδειγμα: Tls12 | Tls11 | Tls) θα υποβιβάσει σιωπηρά τα υπάρχοντα πρωτόκολλα (για παράδειγμα: Tls) σε ένα σύστημα χωρίς την ενημέρωση κώδικα. Θα συνδεθεί σε Tls χωρίς να δημιουργήσει την εξαίρεση.
 

Περισσότερες πληροφορίες

Για να ενεργοποιήσετε την έκδοση TLS v1.1 ή v1.2 ως προεπιλογές λειτουργικού συστήματος, ακολουθήστε τις οδηγίες στη διεύθυνση https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.

Σημείωση Τα TLS v1.1 και v1.2 δεν είναι διαθέσιμα στα Windows Vista ή τον Windows Server 2008.

Εάν πρέπει να απενεργοποιήσετε τις προεπιλογές του λειτουργικού συστήματος που ορίζονται από το κλειδί μητρώου που αναφέρονται στην ενότητα "Επίλυση" για συγκεκριμένες εφαρμογές, μπορείτε να το κάνετε προσθέτοντας το ακόλουθο κλειδί μητρώου:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Πλήρης διαδρομή του .exe για το αρχείο>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Για περισσότερες πληροφορίες σχετικά με το TLS v1.2, ανατρέξτε στο θέμα Εισαγωγή στο TLS v1.2.

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

Windows έκδοση

Πρόγραμμα-πελάτης SSL2

SSL2 Server

Πρόγραμμα-πελάτης SSL3

SSL3 Server

Πρόγραμμα-πελάτης TLS 1.0

TLS 1.0 Server

Πρόγραμμα-πελάτης TLS 1.1

TLS 1.1 Server

Πρόγραμμα-πελάτης TLS 1.2

TLS 1.2 Server

Windows Vista SP2 και Windows Server 2008 SP2

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Δ / Υ

Δ / Υ

Δ / Υ

Δ / Υ

Windows 7 SP1 και Windows Server 2008 R2 SP1

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Από

Από

Από

Από

Windows Server 2012

Από

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Windows 8.1 και Windows Server 2012 R2

Από

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Windows 10

Από

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Windows 10 (1511)

Από

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Windows 10 (1607) και Windows Server 2016

Δ / Υ

Δ / Υ

Από

Από

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Ενεργοποιημένο

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

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

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×