KB5028608 Αλλαγή στον τρόπο εισαγωγής πιστοποιητικών X.509 .NET Framework χρόνου εκτέλεσης

Σημείωση

Ημερομηνία κυκλοφορίας:
Ιούνιος 22, 2022

[04/07/2023] Αναθεωρήθηκε για να συμπεριλάβει τις εκδόσεις που λείπουν για το Windows 10, έκδοση 1607 και 1507

[24/07/2023] αναθεωρήθηκε για να προστεθούν λεπτομέρειες έκδοσης για την ανάλυση συνάθροισης ασφαλείας και ποιότητας της 11ης Ιουλίου 2023

Σύνοψη

Αυτό το άρθρο παρέχει βοήθεια για τον μετριασμό ενός προβλήματος όταν μετά την εγκατάσταση των ενημερώσεων της 13ης Ιουνίου 2023 για το .NET Framework και το .NET, οι χρήστες ενδέχεται να αντιμετωπίσουν προβλήματα με τον τρόπο με τον οποίο .NET Framework χρόνος εκτέλεσης εισάγει πιστοποιητικά X.509.

Σύμπτωμα

Όταν χρησιμοποιείτε το , X509Certificate2ή X509Certificate2Collection την X509Certificateκλάση για την εισαγωγή αντικειμένων blob PKCS#12 που περιέχει ιδιωτικό κλειδί, η εφαρμογή κλήσης μπορεί να τηρεί την παρακάτω εξαίρεση.

  • System.Security.Cryptography.CryptographicException: Το PKCS12 (PFX) χωρίς παρεχόμενο κωδικό πρόσβασης έχει υπερβεί τις μέγιστες επιτρεπόμενες επαναλήψεις. Ανατρέξτε https://go.microsoft.com/fwlink/?linkid=2233907 για περισσότερες πληροφορίες.

Αυτή η αποτυχία επηρεάζει τα blob PKCS#12 που έχουν εξαχθεί [π.χ., μέσω] χωρίς X509Certificate.Export(X509ContentType.Pfx)κωδικό πρόσβασης. Η αποτυχία μπορεί να συμβεί μη ντετερμινιστικά.

Λύση

Η Microsoft έχει κυκλοφορήσει ενημερωμένα προγράμματα εγκατάστασης για το .NET Framework και το .NET για την αντιμετώπιση αυτού του προβλήματος. Αυτά τα προγράμματα εγκατάστασης μπορούν να εφαρμοστούν στον επηρεαζόμενο υπολογιστή ανεξάρτητα από το αν ο υπολογιστής έχει ήδη εφαρμόσει τις αρχικές ενημερώσεις ασφαλείας της 13ης Ιουνίου 2023, .NET Framework και .NET.

Σημαντικό

  • Εάν έχετε χρησιμοποιήσει προηγουμένως τους διακόπτες μητρώου που τεκμηριώνονται στο θέμα KB5025823 Αλλαγή του τρόπου εισαγωγής πιστοποιητικών X.509 από εφαρμογές .NET για να επιλύσετε αυτό το ζήτημα, καταργήστε αυτούς τους διακόπτες μητρώου πριν από την εγκατάσταση της νέας ενημερωμένης έκδοσης κώδικα. Εκτελέστε τις δύο παρακάτω εντολές από μια γραμμή εντολών με αναβαθμισμένα δικαιώματα, για να καταργήσετε τους διακόπτες μητρώου.
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:32
  • reg delete "HKLM\Software\Microsoft\.NETFramework" /v Pkcs12UnspecifiedPasswordIterationLimit /reg:64

Επίλυση

Αυτό το πρόβλημα αντιμετωπίστηκε σε ενημερώσεις εκτός ζώνης που κυκλοφόρησαν στις 22 Ιουνίου 2023 για .NET Framework 4.6.2 και νεότερες εκδόσεις για Windows και Windows Server εκδόσεις που επηρεάζονται από αυτό το πρόβλημα. Για να λάβετε το μεμονωμένο πακέτο για αυτές τις ενημερώσεις εκτός ζώνης, αναζητήστε τον αριθμό KB στον Κατάλογο του Microsoft Update. Μπορείτε να εισαγάγετε με μη αυτόματο τρόπο αυτές τις ενημερώσεις σε Υπηρεσίες Windows Server Update Services (WSUS) και στο Microsoft Endpoint Configuration Manager. Για οδηγίες σχετικά με τις υπηρεσίες WSUS, ανατρέξτε στο WSUS και στην τοποθεσία καταλόγου. Για οδηγίες διαχείρισης ρύθμισης παραμέτρων, ανατρέξτε στο θέμα Εισαγωγή ενημερώσεων από τον κατάλογο του Microsoft Update.

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

Έκδοση προϊόντος Ενημέρωση
Windows 11, έκδοση 22H2
.NET Framework 4.8.1 Κατάλογος 5028576
Windows 11, έκδοση 21H2
.NET Framework 4.8 Κατάλογος 5028582
.NET Framework 4.8.1 Κατάλογος 5028575
Windows Server 2022
.NET Framework 4.8 Κατάλογος 5028584
.NET Framework 4.8.1 Κατάλογος 5028578
Azure Stack HCI, έκδοση 22H2
.NET Framework 4.8 Κατάλογος 5028584
Azure Stack HCI, έκδοση 21H2
.NET Framework 4.8 Κατάλογος 5028584
Windows 10 Έκδοση 22H2
.NET Framework 4.8 Κατάλογος 5028579
.NET Framework 4.8.1 Κατάλογος 5028574
Windows 10 Έκδοση 21H2
.NET Framework 4.8 Κατάλογος 5028579
.NET Framework 4.8.1 Κατάλογος 5028574
Windows 10 1809 (Ενημέρωση Οκτωβρίου 2018) και Windows Server 2019
.NET Framework 4.7.2 Κατάλογος 5028588
.NET Framework 4.8 Κατάλογος 5028581
Windows 10 1607 (Επετειακή ενημέρωση) και Windows Server 2016
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028623
.NET Framework 4.8 Κατάλογος 5028580
Windows 10 1507
.NET Framework 4.6, 4.6.2 Κατάλογος 5028622
Windows Embedded 8.1 και Windows Server 2012 R2
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028590
.NET Framework 4.8 Κατάλογος 5028585
Windows Embedded 8 και Windows Server 2012
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028589
.NET Framework 4.8 Κατάλογος 5028583
Windows Embedded 7 Standard και Windows Server 2008 R2 SP1
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028591
.NET Framework 4.8 Κατάλογος 5028586
όλες οι υποστηριζόμενες εκδόσεις των Windows
.NET 6.0.19 Κατάλογος 5028613
.NET 7.0.8 Κατάλογος 5028614

Αυτό το πρόβλημα αντιμετωπίστηκε σε τακτική αθροιστική συνάθροιση που κυκλοφόρησε στις 11 Ιουλίου 2023, για όλες τις υποστηριζόμενες εκδόσεις .NET Framework για τα Windows και τις εκδόσεις Windows Server που επηρεάζονται από αυτό το πρόβλημα.  Η Συνάθροιση ενημερώσεων ασφαλείας και ποιότητας είναι διαθέσιμη μέσω του Windows Update, του Υπηρεσίες Windows Server Update Services και του Καταλόγου του Microsoft Update.

Σημείωση: Οι πελάτες που βασίζονται σε Windows Update και Υπηρεσίες Windows Server Update Services θα λαμβάνουν αυτόματα τις .NET Framework ενημερώσεις για συγκεκριμένη έκδοση. Οι προχωρημένοι διαχειριστές συστήματος μπορούν επίσης να χρησιμοποιήσουν τις παρακάτω συνδέσεις απευθείας λήψης του καταλόγου του Microsoft Update για ενημερώσεις που αφορούν .NET Framework. Προτού εφαρμόσετε αυτές τις ενημερώσεις, βεβαιωθείτε ότι έχετε ελέγξει προσεκτικά την εφαρμογή της έκδοσης .NET Framework, για να διασφαλίσετε ότι εγκαθιστάτε ενημερώσεις μόνο σε συστήματα όπου ισχύουν.

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

Έκδοση προϊόντος Ενημέρωση
Windows 11, έκδοση 22H2
.NET Framework 3.5, 4.8.1 Κατάλογος 5028851
Windows 11, έκδοση 21H2
.NET Framework 3.5, 4.8 Κατάλογος 5028856
.NET Framework 3.5, 4.8.1 Κατάλογος 5028850
Windows Server 2022
.NET Framework 3.5, 4.8 Κατάλογος 5028858
.NET Framework 3.5, 4.8.1 Κατάλογος 5028852
Azure Stack HCI, έκδοση 22H2 5028935
.NET Framework 3.5, 4.8 Κατάλογος 5028858
Azure Stack HCI, έκδοση 21H2 5028943
.NET Framework 3.5, 4.8 Κατάλογος 5028858
Windows 10 Έκδοση 22H2 5028937
.NET Framework 3.5, 4.8 Κατάλογος 5028853
.NET Framework 3.5, 4.8.1 Κατάλογος 5028849
Windows 10 Έκδοση 21H2 5028944
.NET Framework 3.5, 4.8 Κατάλογος 5028853
.NET Framework 3.5, 4.8.1 Κατάλογος 5028849
Windows 10 1809 (Ενημέρωση Οκτωβρίου 2018) και Windows Server 2019 5028936
.NET Framework 3.5, 4.7.2 Κατάλογος 5028862
.NET Framework 3.5, 4.8 Κατάλογος 5028855
Windows 10 1607 (Επετειακή ενημέρωση) και Windows Server 2016
.NET Framework 3.5, 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028169
.NET Framework 4.8 Κατάλογος 5028854
Windows 10 1507
.NET Framework 3.5, 4.6, 4.6.2 Κατάλογος 5028186
Windows Embedded 8.1 και Windows Server 2012 R2 5028941
.NET Framework 3.5 Κατάλογος 5028872
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028864
.NET Framework 4.8 Κατάλογος 5028859
Windows Embedded 8 και Windows Server 2012 5028940
.NET Framework 3.5 Κατάλογος 5028869
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028863
.NET Framework 4.8 Κατάλογος 5028857
Windows Embedded 7 Standard και Windows Server 2008 R2 SP1 5028939
.NET Framework 3.5.1 Κατάλογος 5028871
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2 Κατάλογος 5028865
.NET Framework 4.8 Κατάλογος 5028860
Windows Server 2008 SP2 5028942
.NET Framework 2.0, 3.0 Κατάλογος 5028870
.NET Framework 4.6.2 Κατάλογος 5028865

Ενημερώσεις που επηρεάζονται

Επηρεάζονται οι ακόλουθες εκδόσεις .NET Framework και .NET:

  • .NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, όταν εγκατασταθεί η ενημέρωση ασφαλείας της 13ης Ιουνίου 2022.
  • .NET Framework 4.8, όταν εγκατασταθεί η ενημέρωση ασφαλείας της 13ης Ιουνίου 2022.
  • .NET Framework 4.8.1, όταν εγκατασταθεί η ενημέρωση ασφαλείας της 13ης Ιουνίου 2022.
  • .NET 6.0.18.
  • .NET 7.0.7.

Συχνές Ερωτήσεις (FAQs)

Πότε εισήχθη αυτή η αλλαγή;

Αυτή η αλλαγή συμπεριφοράς παρουσιάστηκε στις ενημερώσεις ασφαλείας της 13ης Ιουνίου 2022 για το .NET και το .NET Framework.

Είναι απαραίτητο να εγκαταστήσω αυτήν τη νέα ενημέρωση;

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

Αυτή η νέα ενημέρωση αντικαθιστά την ενημέρωση της 13ης Ιουνίου 2023 .NET Framework;

Όχι. Εάν χρησιμοποιείτε .NET Framework, θα πρέπει πρώτα να εγκαταστήσετε τη συνάθροιση ενημερώσεων της 13ης Ιουνίου 2023 ή τις ενημερώσεις μόνο για την ασφάλεια πριν εγκαταστήσετε τη νέα ενημέρωση της 22ας Ιουνίου 2023.

Αυτή η νέα ενημέρωση αντικαθιστά το .NET 6.0.18 ή το .NET 7.0.7;

Ναι. Ως μέρος αυτής της ενημέρωσης, κυκλοφορούμε επίσης τα .NET 6.0.19 και .NET 7.0.8, τα οποία μπορούν να ληφθούν από https://get.dot.net/. Αυτές οι εκδόσεις προορίζονται να αντικαταστήσουν το .NET 6.0.18 και το .NET 7.0.7, τα οποία κυκλοφόρησαν στις 13 Ιουνίου 2023.

Η μόνη διαφορά μεταξύ του .NET 6.0.19 / 7.0.8 και του .NET 6.0.18 / 7.0.7 είναι η επιδιόρθωση συμβατότητας που αναφέρεται παραπάνω. Το .NET 6.0.19 / 7.0.8 δεν φέρει πρόσθετες επιδιορθώσεις ασφαλείας πέρα από αυτές που έχουν ήδη δημοσιευτεί στο .NET 6.0.18 / 7.0.7.

Πληροφορίες σχετικά με την προστασία και την ασφάλεια