Aspnetcore: لا يمكن إنشاء شهادة تطوير على macOS Catalina

تم إنشاؤها على ٥ مارس ٢٠٢٠  ·  78تعليقات  ·  مصدر: dotnet/aspnetcore

وصف الخطأ

محاولة إنشاء شهادة تطوير على macOS Catalina الخاص بي (الإصدار 10.15.4 Beta (19E242d)) باستخدام الأداة dev-certs ولكنها لا تعمل.

انتاج:

iRuiMSFT-MBP:~ rmarinho$ dotnet dev-certs https
A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:
'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'
This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:
'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'
This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
password to unlock /Users/rmarinho/Library/Keychains/login.keychain-db: 
keychain: "/Users/rmarinho/Library/Keychains/login.keychain-db"
version: 512
class: 0x00000011 
attributes:
    0x00000000 <uint32>=<NULL>
    0x00000001 <blob>="com.apple.AppleMediaServices.mediaToken.macappstore"
    0x00000002 <blob>=<NULL>
    0x00000003 <uint32>=<NULL>
    0x00000004 <uint32>=<NULL>
    0x00000005 <uint32>=<NULL>
    0x00000006 <blob>=<NULL>
    0x00000007 <blob>=<NULL>
    0x00000008 <blob>=<NULL>
    0x00000009 <uint32>=0x00000000 
    0x0000000A <uint32>=0x00000000 
    0x0000000B <uint32>=0x00000000 
    0x0000000C <blob>=<NULL>
    0x0000000D <blob>=<NULL>
    0x0000000E <uint32>=<NULL>
    0x0000000F <uint32>=<NULL>
    0x00000010 <uint32>=<NULL>
    0x00000011 <uint32>=<NULL>
    0x00000012 <uint32>=<NULL>
    0x00000013 <uint32>=<NULL>
    0x00000014 <uint32>=<NULL>
    0x00000015 <uint32>=<NULL>
    0x00000016 <uint32>=<NULL>
    0x00000017 <uint32>=<NULL>
    0x00000018 <uint32>=<NULL>
    0x00000019 <uint32>=<NULL>
    0x0000001A <uint32>=<NULL>
security: SecKeychainItemCopyAccess: A missing value was detected.
Something went wrong. The HTTPS developer certificate could not be created.

لإعادة إنتاج

ادارة

dotnet dev-certs https

مزيد من التفاصيل الفنية

  • إصدار ASP.NET Core: 3.1
  • قم بتضمين ناتج dotnet --info
  • IDE (VS / VS Code / VS4Mac) الذي تعمل عليه ، وهو إصدار
iRuiMSFT-MBP:~ rmarinho$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.102
 Commit:    573d158fea

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.15
 OS Platform: Darwin
 RID:         osx.10.15-x64
 Base Path:   /usr/local/share/dotnet/sdk/3.1.102/

Host (useful for support):
  Version: 3.1.2
  Commit:  916b5cba26

.NET Core SDKs installed:
  2.1.4 [/usr/local/share/dotnet/sdk]
  2.1.200 [/usr/local/share/dotnet/sdk]
  2.1.300 [/usr/local/share/dotnet/sdk]
  2.1.301 [/usr/local/share/dotnet/sdk]
  2.1.302 [/usr/local/share/dotnet/sdk]
  2.1.403 [/usr/local/share/dotnet/sdk]
  2.1.500 [/usr/local/share/dotnet/sdk]
  2.1.505 [/usr/local/share/dotnet/sdk]
  2.1.700 [/usr/local/share/dotnet/sdk]
  2.1.701 [/usr/local/share/dotnet/sdk]
  2.2.101 [/usr/local/share/dotnet/sdk]
  2.2.107 [/usr/local/share/dotnet/sdk]
  2.2.203 [/usr/local/share/dotnet/sdk]
  2.2.300 [/usr/local/share/dotnet/sdk]
  3.0.100-rc1-014190 [/usr/local/share/dotnet/sdk]
  3.0.100 [/usr/local/share/dotnet/sdk]
  3.1.100-preview1-014459 [/usr/local/share/dotnet/sdk]
  3.1.100-preview2-014569 [/usr/local/share/dotnet/sdk]
  3.1.100-preview3-014645 [/usr/local/share/dotnet/sdk]
  3.1.100 [/usr/local/share/dotnet/sdk]
  3.1.101 [/usr/local/share/dotnet/sdk]
  3.1.102 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview5-19227-01 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview9.19424.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-rc1.19457.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0-preview1.19508.20 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0-preview2.19528.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0-preview3.19555.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.14 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-rc1-19456-20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0-preview1.19506.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0-preview2.19525.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0-preview3.19553.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
affected-medium area-commandlinetools bug feature-devcerts severity-major

التعليق الأكثر فائدة

تحديث مهم

هذه مشكلة مستمرة في أحدث إصدار من SDK (3.1.102) ولا نزال نحقق فيه.
لحل هذه المشكلة ، اتبع الخطوات التالية :

  • تأكد من فتح Keychain Access وحذف جميع شهادات المضيف المحلي في سلسلة مفاتيح تسجيل الدخول وفي سلسلة مفاتيح النظام التي تم إنشاؤها بواسطة ASP.NET Core.
  • افتح bash في المحطة.
  • قم بإنشاء مجلد مؤقت وأقراص مضغوطة بداخله.
  • قم بتشغيل البرنامج النصي التالي https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

ال 78 كومينتر

مرحبًا rmarinho ، سأواجه نفس الخطأ بالضبط ، مع نفس حزمة التطوير.
لقد قمت بالاطلاع على جميع الصفحات التي تقترح إزالة الشهادة من مفتاح النظام ، وقم بتشغيل الأمرين --clean و - Trust ولكن لا شيء يعمل.

هل لدى أي شخص المزيد من الأفكار حول ما يجب تجربته بعد ذلك؟ سيكون موضع تقدير كبير. شكرا لك.

rmarinho شكرا على الاتصال بنا.

هل يمكنك التحقق من بعض الأشياء؟
هل لديك أي شهادة "مضيف محلي" على سلسلة المفاتيح الخاصة بك؟ (إذا كان الأمر كذلك ، بافتراض أنه نواة asp.net تم إنشاؤها)
هل يمكنك إزالته يدويًا؟
تحقق أيضًا من شهادات النظام لنفس الشهادة وقم بإزالتها من هناك أيضًا.

هل يمكنك تشغيل dotnet dev-certs https --check والإبلاغ عن رمز الخروج؟

مرحبًا ، لقد قمت بإزالة الخطأ الذي كان لدي ، نفس الخطأ ، لكنه يقوم بإنشاء واحد جديد على سلسلة المفاتيح.
لم يكن لدي أي منها في شهادات النظام فقط على سلسلة مفاتيح تسجيل الدخول.

iRuiMSFT-MBP:~ rmarinho$ dotnet dev-certs https --check
A valid HTTPS certificate was found but it may not be accessible across security partitions. Run dotnet dev-certs https to ensure it will be accessible during development.

هل يمكنك محاولة تشغيل security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 <<login-keychain>> من سطر الأوامر ومعرفة ما إذا كان قد نجح؟ (استبدال <<logi-keychain>> بمسار سلسلة المفاتيح الفعلي)

تمكنت من حل هذا.

  • قم بإنشاء شهادة موقعة ذاتيًا
  • تشغيل على سطر الأوامر تثبيت أداة dotnet - global dotnet-dev-certs
  • أعد تشغيل الصندوق

لقد كافحت مع هذا الخطأ المتعلق بأقسام الأمان. إنه غريب جدا. ما زلت لا أعرف ما هو السبب الجذري لذلك.

  • تشغيل على سطر الأوامر تثبيت أداة dotnet - global dotnet-dev-certs

لا يجب عليك القيام بذلك ، أو لست متأكدًا من أن له أي تأثير ، حيث أن أداة dotnet-dev-certs مجمعة مع SDK وأعتقد أن هذه هي الأفضلية.

غالبًا ما تتعلق هذه المشكلة بالتوثيق على نظام التشغيل Mac OS. هل قمت بتنزيل برنامج التثبيت لنظام التشغيل Mac أو هل استخدمت التوزيع الثنائي؟ أعتقد أنه يجب توثيق كليهما ، ولكن يمكن أن يكون هذا هو أصل المشكلة

لقد قمت بتنزيل برنامج التثبيت لنظام التشغيل Mac OS. ربما لم يتضمن الإصدار 3.1 شهادات dev. هل هذا هو الحال؟ - أظهر لي خيار الاختيار ذلك (لم يتم تضمين شهادات).

لا يتم تضمين الشهادات ، يتم إنشاء الشهادات على الجهاز. هل تستخدم macOS Catalina (10.15.4 Beta (19E242d)) ؟

javiercn أعتقد أن آخر dotnet sdk تم تثبيته بواسطة Visual Studio لنظام تحديث Mac.

أنا في أحدث إصدار بيتا (10.15.4 بيتا (19E250c)

الانتظار في ✋

نفس المشكلة. ما نجح مثل 3 أسابيع ، توقف فجأة. قمت بالتنظيف من خلال dotnet dev-certs https --clean ، ولكن dotnet dev-certs https --trust ثم طلب مني تقديم كلمة المرور لتسجيل الدخول الخاص بي .keychain-db ورفضها. حتى أنني قمت بإعادة تعيينه من خلال security set-keychain-password ، ولكن دون جدوى.

=== Visual Studio Community 2019 for Mac ===

Version 8.4.8 (build 2)
Installation UUID: ddc1ff0c-8d88-428e-8706-9c5852e78933
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 5.16.1.25 (issue-7441-d16-3-vsmac / 881172e73)

    Package version: 606000166

=== Mono Framework MDK ===

Runtime:
    Mono 6.6.0.166 (2019-08/d9001b5ae70) (64-bit)
    Package version: 606000166

=== Roslyn (Language Service) ===

3.4.0-beta4-19562-05+ff930dec4565e2bc424ad3bf3e22ecb20542c87d


=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.102/Sdks
SDK Versions:
    3.1.102
    3.1.101
    3.1.100
    3.0.101
    3.0.100
    2.2.402
    2.1.802
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/msbuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    3.1.2
    3.1.1
    3.1.0
    3.0.1
    3.0.0
    2.2.7
    2.1.15
    2.1.14
    2.1.13


=== Build Information ===

Release ID: 804080002
Git revision: 4f35aa7e44fb398379e512d0bfd6f8df8d34b5ac
Build date: 2020-02-27 16:16:52+00
Build branch: release-8.4
Xamarin extensions: 4f35aa7e44fb398379e512d0bfd6f8df8d34b5ac

=== Operating System ===

Mac OS X 10.15.3
Darwin 19.3.0 Darwin Kernel Version 19.3.0
    Thu Jan  9 20:58:23 PST 2020
    root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

aspnetde هل أنت أيضًا مشترك في الإصدار التجريبي من Mac OS Catalina؟

هل أنت أيضًا في الإصدار التجريبي من Mac OS Catalina؟

تضمين التغريدة نسخة عادية.

aspnetde هل يمكنك تقديم تفاصيل الخطأ؟ (خرج وحدة التحكم ، إلخ.)

يمكنك محاولة تشغيل الأمر يدويًا ومعرفة ما إذا كان ذلك سيؤدي إلى حل المشكلة؟

يمكنك محاولة تشغيل الأمر يدويًا ومعرفة ما إذا كان ذلك سيؤدي إلى حل المشكلة؟

كما هو مذكور في تعليقي الأول ، لقد فعلت ذلك بالفعل (بعد المستندات ).

ها هي جولة أخرى فاشلة:

thomas@TB-MBP-2017 ~ % dotnet dev-certs https --check     
A valid HTTPS certificate was found but it may not be accessible across security partitions. Run dotnet dev-certs https to ensure it will be accessible during development.
thomas@TB-MBP-2017 ~ % dotnet dev-certs https --clean     
Cleaning HTTPS development certificates from the machine. This operation might require elevated privileges. If that is the case, a prompt for credentials will be displayed.
HTTPS development certificates successfully removed from the machine.
thomas@TB-MBP-2017 ~ % dotnet dev-certs https --check
No valid certificate found.
thomas@TB-MBP-2017 ~ % dotnet dev-certs https --trust     
A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:
'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'
This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:
'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'
This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Trusting the HTTPS development certificate was requested. If the certificate is not already trusted we will run the following command:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <<certificate>>'
This command might prompt you for your password to install the certificate on the system keychain.
Password:
password to unlock /Users/thomas/Library/Keychains/login.keychain-db: 
keychain: "/Users/thomas/Library/Keychains/login.keychain-db"
version: 512
class: 0x0000000F 
attributes:
    0x00000000 <uint32>=0x0000000F 
    0x00000001 <blob>="<key>"
    0x00000002 <blob>=<NULL>
    0x00000003 <uint32>=0x00000001 
    0x00000004 <uint32>=0x00000000 
    0x00000005 <uint32>=0x00000000 
    0x00000006 <blob>=0xFB53860E4AA8B4728D5B0FEF29B3090935FBD083  "\373S\206\016J\250\264r\215[\017\357)\263\011\0115\373\320\203"
    0x00000007 <blob>=<NULL>
    0x00000008 <blob>=0x7B38373139316361322D306663392D313164342D383439612D3030303530326235323132327D00  "{87191ca2-0fc9-11d4-849a-000502b52122}\000"
    0x00000009 <uint32>=0x0000002A  "\000\000\000*"
    0x0000000A <uint32>=0x00000800 
    0x0000000B <uint32>=0x00000800 
    0x0000000C <blob>=0x0000000000000000 
    0x0000000D <blob>=0x0000000000000000 
    0x0000000E <uint32>=0x00000000 
    0x0000000F <uint32>=0x00000000 
    0x00000010 <uint32>=0x00000001 
    0x00000011 <uint32>=0x00000000 
    0x00000012 <uint32>=0x00000001 
    0x00000013 <uint32>=0x00000000 
    0x00000014 <uint32>=0x00000001 
    0x00000015 <uint32>=0x00000000 
    0x00000016 <uint32>=0x00000001 
    0x00000017 <uint32>=0x00000000 
    0x00000018 <uint32>=0x00000000 
    0x00000019 <uint32>=0x00000000 
    0x0000001A <uint32>=0x00000000 
security: SecKeychainItemSetAccessWithPassword: The user name or passphrase you entered is not correct.
thomas@TB-MBP-2017 ~ % dotnet dev-certs https --check
A valid HTTPS certificate was found but it may not be accessible across security partitions. Run dotnet dev-certs https to ensure it will be accessible during development.
thomas@TB-MBP-2017 ~ % 

لدي نفس المشكلة.

عند الجري
أمر:
dotnet dev-certs https -c
النتائج:
A valid HTTPS certificate was found but it may not be accessible across security partitions. Run dotnet dev-certs https to ensure it will be accessible during development.

أمر:
dotnet dev-certs https -t -v
النتائج:
security: SecKeychainItemCopyAccess: The specified item is no longer valid. It may have been deleted from the keychain. Listing 'HTTPS' certificates on 'CurrentUser\My'. '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 4AED6BC2B253402E22B060BC1FB646EBEDA33D37 - 3/5/2020 9:48:35 PM - 3/5/2021 9:48:35 PM - True Checking certificates for validity. Listing valid certificates '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 4AED6BC2B253402E22B060BC1FB646EBEDA33D37 - 3/5/2020 9:48:35 PM - 3/5/2021 9:48:35 PM - True Listing invalid certificates '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Listing 'HTTPS' certificates on 'LocalMachine\My'. '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Checking certificates for validity. Listing valid certificates '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Listing invalid certificates '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Filtering found certificates to those with a subject equal to 'CN=localhost' '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 4AED6BC2B253402E22B060BC1FB646EBEDA33D37 - 3/5/2020 9:48:35 PM - 3/5/2021 9:48:35 PM - True Listing certificates excluded from consideration. '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Failed to make certificate key accessible Exception message: Error making the key accessible across partitions. Something went wrong. The HTTPS developer certificate could not be created.

إصدار Mac OS:
image

نحن نواجه هذه المشكلة أيضًا!

كنت أواجه المشكلة أيضًا. اكتشف أن المشكلة بدأت مع تثبيت ASP Net Core SDK 3.1.102. أنا أستخدم Mac OS 10.15.3 Beta.

بعد أن أزلت SDK 3.1.102 ، اختفت المشكلة.

استخدم هذا لإزالة SDK 3.1.102
sudo rm -rf /usr/local/share/dotnet/sdk/3.1.102
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.2
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/3.1.2
sudo rm -rf /usr/local/share/dotnet/host/fxr/3.1.2

ما لاحظته أثناء التحقيق بين SDK 3.1.101 و SDK 3.1.102 لشهادة المضيف المحلي هو أن 3.1.102 تفتقد إلى المضيف المحلي الموقعة ذاتيًا على النظام وأن الشهادة الموقعة ذاتيًا للمضيف المحلي لم يتم تمييزها على أنها موثوقة دائمًا بينما SDK 3.1 .101 لديه كل من تسجيل الدخول وشهادة موقعة ذاتيًا للمضيف المحلي للنظام وكلاهما تم تعيينهما على الثقة دائمًا لجميع مستوى الثقة.

بالنسبة لي ، لم أتمكن من العثور على /usr/local/share/dotnet/host/fxr/3.1.102 .
بدلاً من ذلك قمت بإزالة /usr/local/share/dotnet/host/fxr/3.1.2 وعملت.

بالنسبة لي ، لم أتمكن من العثور على /usr/local/share/dotnet/host/fxr/3.1.102 .
بدلاً من ذلك قمت بإزالة /usr/local/share/dotnet/host/fxr/3.1.2 وعملت.

سيئتي ، إنها 3.1.2 للملف في fxr. أنا أكتب بناءً على ذاكرتي لأنني أزلت هذه الملفات بالفعل. تم تحديث خطواتي

هناك العديد من التقارير حول هذا الموضوع ، لذلك سأحاول تقديم بعض الخطوات اليدوية حول كيفية معالجة / تخفيف هذه المشكلة أثناء التحقيق:
انظر هنا للحصول على إرشادات حول كيفية الإزالة وإتاحة الوصول عبر الأقسام والثقة بالشهادات يدويًا.

بالنسبة للمتضررين ، أقترح عليك القيام بما يلي:

  • نظف شهاداتك يدويًا.
  • أنشئ شهادة جديدة بـ dotnet dev-certs https

    • إذا فشلت هذه الخطوة في إتاحة الوصول إلى الشهادة عبر الأقسام ، فقم بإتاحتها عبر الأقسام ، وحاول جعلها قابلة للوصول عبر الأقسام يدويًا باتباع الإرشادات الواردة في المضمون المذكور أعلاه.

    • إذا فشلت الإرشادات الخاصة بجعل الشهادة يمكن الوصول إليها عبر القسم ، فاتبع الإرشادات أدناه.

    • لإلغاء حظر نفسك ، احصل على توقيع SHA256 للشهادة (يمكنك القيام بذلك في الوصول إلى سلسلة المفاتيح من خلال فحص الشهادة)

      image

    • أنشئ ملفًا باسم certificate.<<sha256>>.sentinel داخل ~ / .dotnet /

  • ثق بالشهادة يدويًا عن طريق تصدير الشهادة من Keychain Access والثقة بها security add-trusted-cert كما هو موضح في المستند.

تفاصيل مهمة لهذه القضية

لكي نساعد في التحقيق في هذه المشكلة ، ستساعدنا المعلومات التالية:

  • إصدار نظام التشغيل
  • قائمة حزم SDK المثبتة

    • إذا كنت تتذكر الترتيب الذي تم تثبيته به ، فقم بتضمين ذلك.

    • هل قمت بتشغيل توزيع ثنائي جنبًا إلى جنب (من ملف .tar.gz تم تنزيله)؟

    • هل تم توثيق جميع حزم SDK التي قمت بتثبيتها؟

    • تلميح: إذا لم يكن برنامج التثبيت موثقًا لكان نظام التشغيل Mac OS قد حظر التثبيت وكان عليك إلغاء حظره يدويًا.

    • هل اتباع الخطوات الموضحة أعلاه يحل مشكلتك؟

    • إذا لم يحدث ذلك ، فهل يمكنك تقديم تفاصيل عن الخطوة اليدوية التي فشلت وإخراج الأمر.

    • إذا كان الأمر كذلك ، فيرجى تقديم مجموعة محددة من الخطوات التي اتبعتها حيث سيساعدنا ذلك في تضييق نطاق المشكلة ومساعدة الأشخاص الآخرين على حلها.

كنت أواجه المشكلة أيضًا. اكتشف أن المشكلة بدأت مع تثبيت ASP Net Core SDK 3.1.102. أنا أستخدم Mac OS 10.15.3 Beta.

بعد أن أزلت SDK 3.1.102 ، اختفت المشكلة.

بالنسبة لي ، كان كل شيء على ما يرام حتى قمت بتحديث SDK ، لكن هذا أدى إلى حل المشكلة.
لقد أزلت للتو إصدار SDK هذا وأعدت إنشاء شهاداتي:

sudo rm -rf /usr/local/share/dotnet/sdk/3.1.102
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.2
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/3.1.2
sudo rm -rf /usr/local/share/dotnet/host/fxr/3.1.2

  • dotnet dev-certs https --clean
  • dotnet dev-certs https -t

شكرا لكfrozenfroze !!

تحديث مهم

هذه مشكلة مستمرة في أحدث إصدار من SDK (3.1.102) ولا نزال نحقق فيه.
لحل هذه المشكلة ، اتبع الخطوات التالية :

  • تأكد من فتح Keychain Access وحذف جميع شهادات المضيف المحلي في سلسلة مفاتيح تسجيل الدخول وفي سلسلة مفاتيح النظام التي تم إنشاؤها بواسطة ASP.NET Core.
  • افتح bash في المحطة.
  • قم بإنشاء مجلد مؤقت وأقراص مضغوطة بداخله.
  • قم بتشغيل البرنامج النصي التالي https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

يمكنك العثور على PID لعملية securityd وتشغيل log stream --process <PID> . يجب أن يوفر ذلك نظرة ثاقبة إضافية لما يحدث على مستوى نظام التشغيل. (systemd هو إدارة الوصول إلى عناصر KeyChain)
أيضًا ، قد يكون هذا مخالفًا للحدس ولكن المهم إذا كانت "دوت نت" ذاتيًا تأتي من 3.1 أم لا. (نظرًا لأن جميع الإصدارات تتجاوز نفس النظام الثنائي ، لذا فإن التسلسل مهم وقائمة sdks المتاحة هي تلميح فقط))
يمكنك التحقق باستخدام codesign -v -d --entitlements --extract-certificates /usr/local/share/dotnet/dotnet (أو ما هو مسار الإصدار) لمعرفة ما إذا تم استخدام ثنائي موقعة أو غير موقعة.

أنا أيضا أواجه مشاكل خطيرة مع هذا. لقد واجهت المشكلة منذ أسبوعين وقمت بإصلاحها بناءً على التعليقات الواردة من التحميل الذي لم يكن ناجحًا ، لذلك حطمت المشروع ، وتم استنساخه من github والآن عادت المشكلة مرة أخرى.

أنا غير قادر حتى على إنشاء شهادة التطوير. أي تقدم؟

dotnet dev-certs https - تحقق من
لم يتم العثور على شهادة صالحة.

dotnet dev-certs https --clean
تنظيف شهادات تطوير HTTPS من الجهاز. قد تتطلب هذه العملية امتيازات مرتفعة. إذا كانت هذه هي الحالة ، فسيتم عرض مطالبة ببيانات الاعتماد.
تمت إزالة شهادات تطوير HTTPS بنجاح من الجهاز.

dotnet dev-certs https
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
"sudo security set-key-partition-list -D localhost -S غير موقعة :، معرف الفريق: UBF8T346G9 "
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
هناك خطأ ما. تعذر إنشاء شهادة مطور HTTPS.

دوت نت - info
NET Core SDK (تعكس أي global.json):
الإصدار: 3.1.201.0
الالتزام: b1768b4ae7

بيئة التشغيل:
اسم نظام التشغيل: Mac OS X
إصدار نظام التشغيل: 10.14.0
منصة نظام التشغيل: داروين
RID: osx.10.14-x64
المسار الأساسي: /usr/local/share/dotnet/sdk/3.1.201/

المضيف (مفيد للدعم):
الإصدار: 3.1.3.1
الالتزام: 4a9f85e9f8

NET Core SDKs المثبتة:
3.0.100 [/ usr / local / share / dotnet / sdk]
3.1.101 [/ usr / local / share / dotnet / sdk]
3.1.200 [/ usr / local / share / dotnet / sdk]
3.1.201 [/ usr / local / share / dotnet / sdk]

NET Core runtimes المثبتة:
Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.16 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

لتثبيت أوقات تشغيل أو SDK إضافية لـ .NET Core:
https://aka.ms/dotnet-download

تأكد من إلغاء تأمين KeyChainfcbogle. أوصي أيضًا باستخدام KeyChain والبحث عن أي شهادات مضيف محلي.

مرحبا wfurt شكرا لتعليقاتك.
لقد فعلت ما تقترحه (قضيت ساعات في محاولة تصحيح هذا). هنا هو الإخراج من جهازي. لقد قمت بترقية macos الخاص بي إلى catalina الليلة الماضية. تفاصيل النظام ومخرجات إدارة المفاتيح أدناه:

دوت نت - info
NET Core SDK (تعكس أي global.json):
الإصدار: 3.1.201.0
الالتزام: b1768b4ae7

بيئة التشغيل:
اسم نظام التشغيل: Mac OS X
إصدار نظام التشغيل: 10.15.1
منصة نظام التشغيل: داروين
RID: osx.10.15-x64
المسار الأساسي: /usr/local/share/dotnet/sdk/3.1.201/

المضيف (مفيد للدعم):
الإصدار: 3.1.3.1
الالتزام: 4a9f85e9f8

NET Core SDKs المثبتة:
3.1.201 [/ usr / local / share / dotnet / sdk]

NET Core runtimes المثبتة:
Microsoft.AspNetCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

لتثبيت أوقات تشغيل أو SDK إضافية لـ .NET Core:
https://aka.ms/dotnet-download

==================================================== ======================
dotnet dev-certs https - تحقق من
لم يتم العثور على شهادة صالحة.
dotnet dev-certs https - موثوق
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
تم طلب الثقة في شهادة تطوير HTTPS. إذا لم تكن الشهادة موثوقة بالفعل ، فسنقوم بتشغيل الأمر التالي:
sudo security add-Trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> "
قد يطالبك هذا الأمر بكلمة المرور لتثبيت الشهادة على سلسلة مفاتيح النظام.
حدث خطأ أثناء حفظ شهادة مطور HTTPS في مخزن الشهادات الشخصية للمستخدم الحالي.

dotnet dev-certs https -t -v
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
تم طلب الثقة في شهادة تطوير HTTPS. إذا لم تكن الشهادة موثوقة بالفعل ، فسنقوم بتشغيل الأمر التالي:
sudo security add-Trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> "
قد يطالبك هذا الأمر بكلمة المرور لتثبيت الشهادة على سلسلة مفاتيح النظام.
إدراج شهادات "HTTPS" في "CurrentUser \ My".
إدراج شهادات "HTTPS" في "LocalMachine \ My".
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
التحقق من صحة الشهادات.
سرد الشهادات الصالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
إدراج شهادات غير صالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
وجدت التصفية شهادات لمن لديهم موضوع يساوي "CN = localhost"
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
شهادات الإدراج مستثناة من النظر.
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
لا توجد شهادات صالحة موجودة على هذا الجهاز. تحاول إنشاء واحدة.
حفظ الشهادة في مخزن الشهادات.
خطأ في حفظ الشهادة في مخزن الشهادات "CurrentUser \ My".
رسالة الاستثناء: تعذر العثور على سلسلة مفاتيح افتراضية.
حدث خطأ أثناء حفظ شهادة مطور HTTPS في مخزن الشهادات الشخصية للمستخدم الحالي.

هل توجد أي فرصة للقيام بذلك عبر SSH أو على نظام لم تسجل فيه الدخول في واجهة المستخدم الرسومية؟

لقد تمكنت من إعادة إنتاج فشل مشابه عندما أعمل على ssh 127.0.0.1 أولاً ثم قم بتشغيل الأمر نفسه للمستخدم نفسه. الآن ، عندما يتم قفل Keychain ويحتاج التطبيق إلى الوصول ، سيطلب نظام التشغيل مربع حوار كلمة المرور لإلغاء قفله. هذا غير ممكن عبر SSH (أو بدون جلسة GUI) وستفشل عملية التشفير.
إذا كانت هذه هي الحالة ، فأنت بحاجة إلى تشغيل security unlock-keychain وسيطلب منك ذلك كلمة مرور تسجيل الدخول وستفتح KeyChain لتلك الجلسة. هذا الجزء ليس خاصًا بكاتالينا.

حاولت أيضًا إنشاء شهادة عند التشغيل كمستخدم "قياسي" ودائمًا ما تفشل مع الشكوى من أن المستخدم ليس في قائمة مفاجئة. قد لا يكون من الواضح ما الذي يجري وأنا أتساءل عما إذا كان بإمكاننا التحقق من ذلك مقدمًا أو إذا كان بإمكاننا الحصول على إرشادات أفضلjaviercn.

فاتني keychain could not be found. من مشاركتك fcbogle عندما كتبت ردي السابق. هل يمكنك تشغيل security list-keychains و security default-keychain ؟
هل قمت بتشغيل تطبيق KeyChain Access ؟ يجب أن تشاهد سلاسل مفاتيح على الأقل System و Login هناك.

مرحبا wfurt هنا هو إخراج هذه الأوامر. شكرا لكم لإلقاء نظرة!
سلاسل مفاتيح قائمة الأمان
"/Library/Keychains/System.keychain"
مفتاح الأمان الافتراضي
الأمان: SecKeychainCopyDefault: تعذر العثور على سلسلة مفاتيح افتراضية.

هنا Keychain الخاصة بي:
image

أعتقد أننا على الطريق الصحيح. لا يُظهر أمر القائمة سلسلة مفاتيح تسجيل الدخول الخاصة بك ولم يتم تعيين الإعداد الافتراضي. عندما أقوم بتشغيل هذا على نظامي ، أحصل على:

$ security list-keychain
    "/Users/furt/Library/Keychains/login.keychain-db"
    "/Library/Keychains/System.keychain"
$ security default-keychain
    "/Users/furt/Library/Keychains/login.keychain-db" 

الآن ، من الغريب أن يعرض التطبيق سلسلة مفاتيح تسجيل الدخول بينما لا تظهر أداة سطر الأوامر.
إذا قمت بالنقر بزر الماوس الأيمن فوق Login keychain ، فهل هناك خيار "جعله افتراضيًا"؟ وإذا كان الأمر كذلك ، فهل سيؤدي ذلك إلى تغيير إخراج الأوامر؟ لم أكتشف كيفية الحصول على موقع سلسلة المفاتيح في واجهة المستخدم الرسومية ولكن جعلها افتراضية قد يساعد.

هل يمكنك أيضًا التحقق من قيمة HOME المتغير البيئي؟ عندما أقوم بإلغاء ضبطه أو توجيهه إلى موقع "خاطئ" ، أحصل على نفس الإخراج مثلك.

$ HOME=/tmp/boo security list-keychain
    "/Library/Keychains/System.keychain"
$ HOME=/tmp/boo security default-keychain
security: SecKeychainCopyDefault: A default keychain could not be found.

شكرا لك! حسنًا ، اضطررت إلى إصلاح متغير البيئة $ HOME الخاص بي.
هذا هو الإخراج الآن من الأوامر السابقة بما في ذلك المتغير $ HOME

Franks-iMac:~ frankbogle$ echo $HOME
/Users/frankbogle
Franks-iMac:~ frankbogle$ security list-keychain
    ""
    "/Users/frankbogle/Library/Keychains/login.keychain-db"
    "/Library/Keychains/System.keychain"
Franks-iMac:~ frankbogle$ security default-keychain
    "/Users/frankbogle/Library/Keychains/login.keychain-db"
Franks-iMac:~ frankbogle$

يبدو أن لدي سلسلة فارغة: "" في سلسلة المفاتيح. لا يمكنني رؤية ذلك في واجهة المستخدم

أود الاحتفاظ بنسخة احتياطية من سلسلة المفاتيح الحالية الخاصة بك ويمكنك محاولة حذفها باستخدام security delete-keychain . ومع ذلك ، يجب أن يكون لديك المزيد من سلاسل المفاتيح حتى لا تهتم. هل يعمل dotnet dev-certs https --trust الآن من أجلك؟
لاحظ أنه يتم استخدام HOME لأشياء أخرى أيضًا - مثل ذاكرة التخزين المؤقت للحزمة وملفات .NET الأخرى.

مرحبًا wfurt - النجاح. شكرا لمساعدتك في حل هذا! انا فعلا اقدر مساعدتك!
dotnet dev-certs https -t -v Trusting the HTTPS development certificate was requested. If the certificate is not already trusted we will run the following command: 'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <<certificate>>' This command might prompt you for your password to install the certificate on the system keychain. Listing 'HTTPS' certificates on 'CurrentUser\My'. '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - True Checking certificates for validity. Listing valid certificates '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - True Listing invalid certificates '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Listing 'HTTPS' certificates on 'LocalMachine\My'. '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - False Checking certificates for validity. Listing valid certificates '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - False Listing invalid certificates '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Filtering found certificates to those with a subject equal to 'CN=localhost' '2' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - True CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - False Listing certificates excluded from consideration. '0' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY Found valid certificates present on the machine. '2' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - True CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - False Selected certificate '1' found matching the criteria. SUBJECT - THUMBPRINT - NOT BEFORE - EXPIRES - HAS PRIVATE KEY CN=localhost - 16CC4B15F0AD8D8B430F55ED03709C13947BD3B7 - 30/03/2020 23:27:02 - 30/03/2021 23:27:02 - True Trying to export the certificate. A valid HTTPS certificate is already present.

أنا سعيد لأنه نجح. أعلم أنه ليس من الواضح دائمًا ما يجري وأن كاتالينا لم تجعل الأمر أسهل.

استمرت المشكلة في Ubuntu 18.04 أثناء استخدام dotnet-sdk-3.1.201.

إذا كانت لديك مشكلة في Linux ، فافتح إصدارًا جديدًاajbozdar. كل المناقشة هنا خاصة بـ macOS ، كاتالينا على وجه التحديد لأنها تتمتع بتطبيق وقيود مميزة.
الجزء الوحيد ذو الصلة هو أن Linux يعتمد أيضًا على متغير HOME للعثور على موقع مخزن شهادات المستخدم وملفات .NET الأخرى.

بالنسبة لي ، تم حل المشكلة عن طريق تشغيل الأوامر التالية:

  • dotnet dev-certs https --clean سيؤدي هذا إلى تنظيف شهادات تطوير HTTPS من الجهاز ، وقد يطلب منك إدخال كلمة مرورك.

بعد ذلك ، أقوم بتشغيل الأمر التالي:

  • dotnet dev-certs https --trust

وأخيرًا ، تم إنشاء شهادة مطور HTTPS بنجاح

الحل الذي اقترحه javiercn في الدفعي يعمل معي ، فقط استبدل كلمة المرور في المكان الذي تنتمي إليه والتي عملت بشكل رائع! شكرا لك.

تعمل البرامج النصية من javiercn بسلاسة بالنسبة لي أيضًا. شكرا لك. استغرق الأمر يومًا لحل هذا الأمر.

تحديث

ساعدنا في استكشاف هذه المشكلة وإصلاحها

إذا كنت تواجه هذه المشكلة ، فهل يمكنك تجربة الأشياء التالية ونشر نتائجك هنا؟
تحقق من أن هوية "المضيف المحلي" موجودة بالفعل في سلسلة مفاتيح تسجيل الدخول:
security find-identity -p ssl-server -s localhost ~/Library/Keychains/Login.keychain

قم بتشغيل الأمر أدناه يدويًا:
sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 ~/Library/Keychains/Login.keychain

تحقق من وجود إدخال قسم المفتاح:
security dump-keychain -a ~/Library/Keychains/Login.keychain | grep -sirB 3 -A 1 UBF8T346G9

قم بتجميع sysdiagnose (sudo sysdiagnose) وشاركه معنا بشكل خاص ( لا تنشر الملف حول هذه المشكلة )

بالنسبة إلى # 21592 ، أحصل على هذا من سلسلة المفاتيح الخاصة بي
البحث عن هويات تطابق "localhost"

السياسة: SSL (الخادم)
مطابقة الهويات
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "مضيف محلي"
تم العثور على هويات واحدة

هويات صالحة فقط
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "مضيف محلي"
تم العثور على هويات واحدة صالحة
عندما أتحقق من أنني أرى شهادتين ، أحدهما هو الجذر CA

لا تزال واجهة مستخدم الويب التي أحاول تشغيلها تفشل مع وجود أخطاء في الشهادة

Screenshot 2020-05-07 at 21 56 13

أقوم بتشغيل ملف create.sh ، لكن لا يبدو أنه يعمل

./generate.sh
إنشاء مفتاح خاص RSA 2048 بت
...... +++
.................................................. .......... +++

كتابة مفتاح خاص جديد لـ "key.pem"

تم استيراد هوية واحدة.
كلمه السر:
كلمة المرور لفتح /Users/apple/Library/Keychains/login.keychain-db:
keychain: "/Users/apple/Library/Keychains/login.keychain-db"
الإصدار: 512.0
فئة: 0x00000011
السمات:
0x00000000=
0x00000001= "com.apple.AppleMediaServices.mediaToken.macappstore"
0x00000002=
0x00000003=
0x00000004=
0x00000005=
0x00000006=
0x00000007=
0x00000008=
0x00000009= 0x00000000
0x0000000A= 0x00000000
0x0000000B= 0x00000000
0x0000000 ج=
0x0000000D=
0x0000000E=
0x0000000F=
0x00000010=
0x00000011=
0x00000012=
0x00000013=
0x00000014=
0x00000015=
0x00000016=
0x00000017=
0x00000018=
0x00000019=
0x0000001A=
الأمان: SecKeychainItemCopyAccess: تم اكتشاف قيمة مفقودة.

دوت نت - info
NET Core SDK (تعكس أي global.json):
الإصدار: 3.1.201.0
الالتزام: b1768b4ae7

بيئة التشغيل:
اسم نظام التشغيل: Mac OS X
إصدار نظام التشغيل: 10.15.1
منصة نظام التشغيل: داروين
RID: osx.10.15-x64
المسار الأساسي: /usr/local/share/dotnet/sdk/3.1.201/

المضيف (مفيد للدعم):
الإصدار: 3.1.3.1
الالتزام: 4a9f85e9f8

NET Core SDKs المثبتة:
3.0.100 [/ usr / local / share / dotnet / sdk]
3.1.200 [/ usr / local / share / dotnet / sdk]
3.1.201 [/ usr / local / share / dotnet / sdk]

NET Core runtimes المثبتة:
Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.17 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

XiaroanZhang ، الخطوة التي فشلت هي الخطوة

حسنًا ... لذلك ، قمت بالمسح مرة أخرى. نسخ البرنامج النصي للحل البديل إلى ملف shell. أغلق جميع المتصفحات وشغل البرنامج النصي. استحوذ على تطبيق Web ui في VS4Mac وشغّله. طلبت الوصول إلى سلسلة المفاتيح (سلوك مختلف تمامًا عن جميع المناسبات السابقة) ، وهو ما منحته ، وفويلا ... لقد نجحت .. لذا ، شكري لك

لم تكن تغييرات كاتالينا اختيار NET. @ thales-man. أعلم أن هذا قد يكون محبطًا ولكننا نحاول فقط مواكبة ذلك.

لا ، لكنك مؤسسة بمليارات الدولارات تحاول الحصول على نفس المكان الذي كانت جافا فيه قبل 20 عامًا

XiaroanZhang ، الخطوة التي فشلت هي الخطوة

شكرا جزيلا لك. إنه يعمل

تحية للجميع،

كنت أعاني من نفس المشكلة. تمكنت من الالتفاف عليه من خلال السماح بالوثوق في شهادة المضيف المحلي التي تم إنشاؤها بعد محاولة تشغيل التطبيق.

لا يزال يتعين عليك إدخال كلمة مرور سلسلة المفاتيح الخاصة بك في كل مرة تحاول فيها التشغيل ، وستظل المحطة الطرفية تقول أن التطبيق قد فشل ، ولكنه سيعمل بالفعل في المتصفح كما هو متوقع.

Screen Shot 2020-05-20 at 10 17 21 AM

تحية للجميع،

كنت أعاني من نفس المشكلة. تمكنت من الالتفاف عليه من خلال السماح بالوثوق في شهادة المضيف المحلي التي تم إنشاؤها بعد محاولة تشغيل التطبيق.

لا يزال يتعين عليك إدخال كلمة مرور سلسلة المفاتيح الخاصة بك في كل مرة تحاول فيها التشغيل ، وستظل المحطة الطرفية تقول أن التطبيق قد فشل ، ولكنه سيعمل بالفعل في المتصفح كما هو متوقع.

Screen Shot 2020-05-20 at 10 17 21 AM

قم بتشغيل البرنامج النصي بواسطة javiercn في ملفه الدفعي

أنا هنا لأؤكد أنني أواجه هذه المشكلة أيضًا ، وأنا أعمل على Mojave (10.14.6). ما أدى إلى ذلك هو تثبيت 3.1.300 SDK هذا المساء ، حتى أتمكن من تشغيل بتات Blazor WASM الجديدة. لقد كنت أسعد بالتطوير باستخدام HTTPS المحلي خلال النهار وقبل اليوم. كنت أقوم سابقًا بتشغيل SDK 3.1.100.

يتبع التشخيص ؛ من المهم ملاحظة أنني أعمل في الغالب كمستخدم عادي ( jim ) ليس مسؤولاً أو في ملف sudoers. أقوم بتشغيل أشياء عالية المستوى كمسؤول / admin . وبالتالي...

  1. لقد قمت بمسح جميع الشهادات المسماة localhost من سلسلة مفاتيح تسجيل دخول مستخدم jim. أزلته أيضًا من سلسلة مفاتيح النظام.
  2. تشغيل كـ admin قمت بتشغيل dotnet dev-certs https --trust وتمت مطالبتك ببيانات الاعتماد. اكتمل الأمر بنجاح.
  3. تشغيل الأمر security find-identity ... كـ jim ، لم يتم العثور على هويات ، 0 مطابقة للهويات.
  4. بتشغيل الأمر security find-identity ... كـ admin ، تم العثور على هوية واحدة ، تم العثور على هوية صالحة.
  5. تتطابق بصمة الإصبع الموضحة في 4 مع بصمة الإصبع على شهادة localhost التي يمكنني رؤيتها في Keychain Access على System keychain (أثناء تسجيل الدخول إلى سطح مكتب Mac بصفتي jim يوميًا مستخدم
  6. أقوم بتشغيل الأمر sudo security set-key-partition-list ... حيث يعمل admin بنجاح.
  7. قمت بتشغيل الأمر security dump-keychain ... لكن لست متأكدًا مما أبحث عنه ، الإخراج هنا -> dump-keychain.txt

إذا قمت بتشغيل خادم ويب Kestrel بسيط تم تكوينه للاستماع إلى HTTPS كـ admin ، فكل شيء على ما يرام.

ومع ذلك ، إذا حاولت أن أفعل نفس الشيء مثل مستخدم jim ، فسأحصل على الاستثناء التالي:

crit: Microsoft.AspNetCore.Server.Kestrel[0] Unable to start Kestrel. System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date. To generate a developer certificate run 'dotnet dev-certs https'. To trust the certificate (Windows and macOS only) run 'dotnet dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. at Microsoft.AspNetCore.Hosting.ListenOptionsHttpsExtensions.UseHttps(ListenOptions listenOptions, Action`1 configureOptions)

أرغب بشدة في استعادة القدرة على تشغيل مواقع HTTPS في Kestrel من المستخدم العادي jim ، كما كان بإمكاني قبل SDK 3.1.100. شكر!

لدي ملف sysdiagnose يمكنني مشاركته مع عنوان بريد إلكتروني مؤكد وآمن بشكل مناسب.

اقتراح واحد ... هل من الممكن تحديث dev-certs بخيار لا يحاول تكوين الشهادة على أنها مشتركة على مستوى النظام (على MacOS على الأقل)؟ طالما أن هناك شهادة localhost في سلسلة مفاتيح تسجيل الدخول الخاصة بي ، فهل يجب أن يكون ذلك كافيًا للتنمية المحلية؟

تحرير: لقد قمت بإلغاء تثبيت أحدث إصدار من SDK وعدت إلى 3.1.100. لقد قمت بمسح شهادة المضيف المحلي من سلاسل مفاتيح النظام وتسجيل الدخول jim و admin . تم إنشاؤه مرة أخرى باستخدام dev-cert --trust كمستخدم مسؤول. بينما يعمل kestrel كـ jim يُطلب من المتصفح الحصول على شهادة غير موثوق بها ، والتي يمكنني حلها ولكن ليس مثاليًا.

FWIW. لدي هذه المشكلة أيضًا ، إلى جانب مشكلة أخرى غير ذات صلة. لقد قمت بتسجيل الدخول إلى كلمة المرور الخاصة بي وبعد تغيير كلمة المرور الخاصة بي للاحتواء فقط ، دعنا نقول المزيد من الأحرف الودية من ASCII ، تم حل كلتا مشكلتي.

لا يزال هذا مكسورًا. ما يساعدني هو إزالة كافة الأقراص الصلبة حتى أعود على 3.1.100. الذي من الواضح أنه ينقطع مع كل عملية تحديث يقوم بها VS.

هل يمانع أحد في إصلاح هذا ؟!

aspnetde نحن نعمل على حل لهذه المشكلة.

يحتوي أحدث SDK 5.0-preview4 SDK على إصدار محدث من الأداة التي تعمل على إصلاح هذه المشكلة. لدينا خطط لإصلاح LTS SDK الحالي بمجرد أن يكون لدينا ثقة كافية بأن النهج الجديد لا يقدم مشكلات إضافية.

اتبعت الخطوات من هذا الرابط لإصلاح المشكلة
استكشاف مشكلات الشهادات وإصلاحها

OS X - شهادة غير موثوق بها

  • افتح وصول KeyChain.
  • حدد System keychain.
  • تحقق من وجود شهادة مضيف محلي.
  • تحقق من احتوائه على رمز + على الرمز للإشارة إلى أنه موثوق به لجميع المستخدمين.
  • قم بإزالة الشهادة من سلسلة مفاتيح النظام.
  • قم بتشغيل الأوامر التالية:
    dotnet dev-certs https --clean
    dotnet dev-certs https - موثوق

لا شيء من المشاركات أعلاه يعمل. أنا أستخدم Catalina 10.15.5 مع SDK 5.0.100-PREVIEW.6.20318.15

في كل مرة أقوم بتشغيل التطبيق ، تتم مطالبتي بتثبيت الشهادة. أدخل كلمة المرور الخاصة بي ، ويتم إنشاء الشهادة ، ولكن بعد ذلك أحصل على:

_System.InvalidOperationException: "غير قادر على تكوين نقطة نهاية HTTPS. لم يتم تحديد أي شهادة خادم ، وتعذر العثور على شهادة المطور الافتراضية أو أنها قديمة. \ n لإنشاء شهادة مطور ، قم بتشغيل 'dotnet dev-certs https'. للثقة في شهادة (Windows و macOS فقط) قم بتشغيل "dotnet dev-certs https --trust". \ n لمزيد من المعلومات حول تكوين HTTPS ، راجع https://go.microsoft.com/fwlink/؟linkid=848054. "_

الرجاء المساعدة!

ChadNedzlek شكرا لإعلامنا.

يجب أن يعمل Preview6 بالفعل ، حيث قمنا بالتبديل إلى نهج مختلف لا يحتوي على هذه المشكلة. هل يمكنك تزويدنا بمزيد من التفاصيل حول بيئتك؟

هل يمكنك التأكد من عدم وجود أي شهادة مضيف محلي في سلسلة المفاتيح الخاصة بك (ليس في سلسلة مفاتيح المستخدم وليس في سلسلة مفاتيح النظام) ، قم بتشغيل الأداة باستخدام dotnet dev-certs https --trust وتحقق من وجود الشهادات على سلسلة المفاتيح؟ (قد تحتاج إلى إغلاق وفتح سلسلة المفاتيح).

javiercn ، مرحبًا Javier ، شكرًا على القفز. لقد فعلت كل شيء بالفعل ، ولكن من أجل استكشاف الأخطاء وإصلاحها ، قمت بتشغيلها مرة أخرى والنتائج هي نفسها ، انظر أدناه:

1
SystemCerts

2
LoginCerts

3
AfterTrust

4
SystemCertsAfter

5
LoginCertsAfter

6
Prompt

7
VSError

ChamaCR شكرا على التفاصيل. أظن أنه قد يكون لديك إصدار قديم من VS 4 Mac يستخدم 3.1 SDK وهذا يسبب مشاكل لأنه يقوم بتثبيت شهادة ثانية بالطريقة القديمة (والتي يبدو أنها تتعطل على جهازك).

هل يمكنك تنظيف سلسلة المفاتيح الخاصة بك مرة أخرى (آسف لهذا ، أعلم أنه مؤلم) ومحاولة تشغيل التطبيق من سطر الأوامر؟ تأكد من أن dotnet --info يعكس معاينة 6 SDK

javiercn آسف للتأخير ، بالأمس كان لدي بعض المهمات لتشغيلها. كنت أستخدم أحدث إصدار من Visual Studio لنظام التشغيل Mac. dotnet --info لم يُظهر الإصدار الصحيح من حزمة SDK للمعاينة 6.

انتهى بي الأمر بحذف VS + SDK ... وأنا أقوم بإنشاء معسكر تمهيد باستخدام WIN10 الآن :(

ChamaCR إذا حدث ذلك مرة أخرى ، يمكنك تشغيل الأداة من سطر الأوامر باستخدام --debug والتقاط أثر باستخدام dotnet-trace. سيساعدنا ذلك في الوصول إلى حقيقة الأمر في المستقبل.

أواجه نفس المشكلة. لقد قمت للتو بالتحديث إلى 3.1.301 الليلة ، وكان لدي سابقًا 3.1.10x (لا أتذكر الرقم الثانوي).

لقد استخدمت البرنامج النصي من https://dotnet.microsoft.com/download/dotnet-core/scripts لتثبيت الإصدار 3.1.301 أولاً ، ولكن لا يبدو أن ذلك قد تم إعداده في المكان المتوقع. ما زلت أرى 3.1.10x قيد التشغيل. لذلك ، قمت بتنزيل مثبت الحزمة وهذا الإعداد 3.1.301 كما هو متوقع.

استخدمت dotnet new blazorwasm -o CICalc ثم dotnet run . لقد أصبت بهذه المشكلة. كان لدي بعض 2.2.x SDKs مثبتة ، لذا قمت بإزالتها باستخدام أداة إلغاء تثبيت dotnet.

لا يمكنني تجاوز المرحلة التي تم فيها إنشاء الشهادة. أستطيع أن أرى أن هناك إعداد شهادة في Keychain ، لكنه غير موثوق به. لقد جربت النص المرتبط به في هذه الصفحة ، لكنه يعطيني نفس النتيجة.

يمكنني تغيير الإعداد الموثوق به لـ HTTPS في سلسلة المفاتيح ، والذي يسمح لي بعد ذلك بالمتابعة. لست متأكدًا مما إذا كان هذا يفعل كل ما يحاول خيار الثقة القيام به. هل هذا حل بديل كافٍ أم سأواجه مشكلات أخرى؟

تفاصيل أخرى أدناه.

شكر،

نيل

macOS 10.15.5

٪ dotnet - قائمة sdks
3.1.301 [/ usr / local / share / dotnet / sdk]

٪ dotnet - قوائم التشغيل
Microsoft.AspNetCore.All 2.2.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

لقد حذفت يدويًا شهادة المضيف المحلي من Keychain Access.

٪ dotnet dev-certs https --clean
تنظيف شهادات تطوير HTTPS من الجهاز. قد تتطلب هذه العملية امتيازات مرتفعة. إذا كانت هذه هي الحالة ، فسيتم عرض مطالبة ببيانات الاعتماد.
تمت إزالة شهادات تطوير HTTPS بنجاح من الجهاز.
٪ dotnet dev-certs https
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
كلمه السر:
كلمة المرور لفتح /Users/neil/Library/Keychains/login.keychain-db:
keychain: "/Users/neil/Library/Keychains/login.keychain-db"
الإصدار: 512.0
فئة: 0x00000011
السمات:
0x00000000=
0x00000001= "com.apple.AppleMediaServices.mediaToken.macappstore"
0x00000002=
0x00000003=
0x00000004=
0x00000005=
0x00000006=
0x00000007=
0x00000008=
0x00000009= 0x00000000
0x0000000A= 0x00000000
0x0000000B= 0x00000000
0x0000000 ج=
0x0000000D=
0x0000000E=
0x0000000F=
0x00000010=
0x00000011=
0x00000012=
0x00000013=
0x00000014=
0x00000015=
0x00000016=
0x00000017=
0x00000018=
0x00000019=
0x0000001A=
الأمان: SecKeychainItemCopyAccess: تم اكتشاف قيمة مفقودة.

على نفس النظام الأساسي للرسالة السابقة ، قمت بتشغيل:
٪ dotnet dev-certs https - إفراط

كان الناتج:

إدراج شهادات "HTTPS" في "CurrentUser \ My".
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - صحيح
التحقق من صحة الشهادات.
سرد الشهادات الصالحة
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - صحيح
إدراج شهادات غير صالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
إدراج شهادات "HTTPS" في "LocalMachine \ My".
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
التحقق من صحة الشهادات.
سرد الشهادات الصالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
إدراج شهادات غير صالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
وجدت التصفية شهادات لمن لديهم موضوع يساوي "CN = localhost"
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - صحيح
شهادات الإدراج مستثناة من النظر.
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
فشل جعل مفتاح الشهادة قابل للوصول
رسالة الاستثناء: خطأ في الوصول إلى المفتاح عبر الأقسام.
هناك خطأ ما. تعذر إنشاء شهادة مطور HTTPS.

أواجه أيضًا نفس الرسالة بالضبط من digidol حيث
٪ dotnet dev-certs https

أنا أيضًا أقوم بتشغيل MacOS Catalina 10.15.5 وأحدث Visual Studio مع أحدث .NET Core SDK 3.1.301.

قد يكون لدي حل بديل للحصول على تصحيح الأخطاء للعمل في Visual Studio ، رغم ذلك. هذا ما فعلته:

  1. افتح Visual Studio وقم بإنشاء تطبيق ويب جديد (MVC)
  2. لقد اخترت .NET Core 3.1 و No Authentication (لست متأكدًا مما إذا كان يحدث فرقًا)
  3. قم بتشغيل المشروع
  4. عند مطالبتك بتشغيل الأمر dotnet dev-certs https ، انقر فوق إلغاء
  5. عندما يُطلب منك تشغيل التطبيق على أي حال ، انقر فوق تشغيل
  6. يجب أن يقوم Visual studio بتجميع التعليمات البرمجية وتشغيلها ، وفتح الموقع في متصفحك ، لكن المتصفح سيقول أن الموقع غير موثوق به.
  7. انقر فوق الخيار في المتصفح للمتابعة على مسؤوليتك الخاصة ، وأخبره أن يثق في الشهادة. كنت بحاجة لإدخال كلمة المرور الخاصة بي في تلك المرحلة.
  8. بعد ذلك ، تم تحميل الموقع بشكل جيد ولا يزال مرتبطًا بمصحح الأخطاء.
  9. في كل مرة تريد فيها تشغيل التطبيق ، عليك النقر فوق "إلغاء الأمر" ثم "تشغيل" ، ولكن يجب أن يتذكر المتصفح أن الشهادة موثوق بها.

مرة أخرى ، ليس حلاً ، ولكن يبدو كحل بديل لائق ، حتى يمكن حل الخطأ. آمل أن يساعد هذا.

جون د.

jdelano ، هل البرنامج النصي الموضح هنا لا يصلح المشكلة لك؟ https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f# file -generate-sh

شكرا جزيلا javiercn ،
شئ واحد؛ تحديث البرنامج النصي لإزالة شهادات localhost التي تم إنشاؤها مسبقًا سيكون أمرًا رائعًا. إذا قمت بتشغيل البرنامج النصي دون إزالة شهادة (شهادات) localhost ، فسوف ينتهي بك الأمر بالحصول على شهادات متعددة ولن تحل المشكلة.

ardaozceviz لست متأكدًا تمامًا من كيفية القيام بذلك دون المخاطرة بإزالة شهادات المضيف

javiercn لسوء الحظ ، لا يعمل البرنامج النصي أيضًا. تلقيت رسالة تفيد بأنه تم اكتشاف قيمة مفقودة.

jdelano هل عند تشغيل هذا الأمر؟ udo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 $loginKeyChain; يمكنك تجاهله وسيظل يعمل. لقد أخرجته من البرنامج النصي.

javiercn حسنًا ، ولكن ما زلت أتلقى رسالة في Visual Studio مفادها أنه لم يتم العثور على شهادة تطوير صالحة وأنه يلزم تشغيل الأمر dev-certs مرة أخرى. يمكنني النقر فوق "إلغاء" وتشغيل التطبيق ، لكنني لست متأكدًا من مدى اختلاف هذا السلوك عن ما نشرته أعلاه في الحل البديل.

jdelano هل قمت بتنظيف الشهادات على سلسلة مفاتيح المستخدم والنظام قبل تشغيل البرنامج النصي؟

javiercn حسنًا ، مررت بجميع الخطوات مرة أخرى ، وهذه المرة نجحت! لست متأكدًا مما فاتني سابقًا. غريب حقا. شكرا على النص ، مع ذلك!

jdelano ، لا مشكلة ، يجب إصلاح هذه المشكلة في أحدث معاينات .NET Core 5.0 ونأمل أن نعيدها إلى 3.1 بمجرد التحقق من أنها لا تؤدي إلى كسر الأشخاص الآخرين.

قام Visual Studio بإصلاح الشهادات بالنسبة لي بعد إعادة التثبيت ، لقد طلب فقط كلمة مرور AppStore

ما لاحظته هو أنه بغض النظر عن عدد المرات التي أقوم فيها بتشغيل dotnet dev-certs https --clean; dotnet dev-certs https --trust ، فلن يتم حل المشكلة حتى أعد تثبيت dotnet core sdk. لذلك أقوم بالتطوير النشط لمشروعين للعميل - أحدهما يستخدم dotnet core 2.2 والآخر باستخدام dotnet core 3.1. يبدو أن شهادة المضيف المحلي الموثوقة الصالحة المثبتة باستخدام أحد sdk لن تعمل في أخرى. إعادة إصدار الشهادة ، إعادة تشغيل الجهاز ، لا تفعل أي شيء. الشيء الوحيد الذي ساعدني هو إعادة تثبيت sdk ذي الصلة في كل مرة أقوم فيها بالتبديل بين المشاريع. يبدو أن لدى Microsoft بعض الأخطاء في أن sdks لا يمكنها مشاركة أداة dotnet-dev-certs ، وأن تثبيت أحد sdk يحل محل بعض الملفات في dotnet-dev-certs. لا يبدو أنها بنيت بقوة.

مرحبا! أواجه نفس المشكلة ، ولا يمكنني الحصول على الطريقة الصحيحة للوصول إلى الحل.

macOS Catalina 10.15.6

دوت نت - info
NET Core SDK (تعكس أي global.json):
الإصدار: 3.1.302.0
الالتزام: 41faccf259

بيئة التشغيل:
اسم نظام التشغيل: Mac OS X
إصدار نظام التشغيل: 10.15.1
منصة نظام التشغيل: داروين
RID: osx.10.15-x64
المسار الأساسي: /usr/local/share/dotnet/sdk/3.1.302/

المضيف (مفيد للدعم):
الإصدار: 3.1.6.1
الالتزام: 3acd9b0cd1

NET Core SDKs المثبتة:
3.1.302 [/ usr / local / share / dotnet / sdk]

NET Core runtimes المثبتة:
Microsoft.AspNetCore.App 3.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

لتثبيت أوقات تشغيل أو SDK إضافية لـ .NET Core:
https://aka.ms/dotnet-download

لقد قمت بالفعل بحذف شهادة "المضيف المحلي" من واجهة مستخدم keychain.

عندما أركض:

سلاسل مفاتيح قائمة الأمان
"/Users/fabrizio/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

مفتاح الأمان الافتراضي
"/Users/fabrizio/Library/Keychains/login.keychain-db"

يبدو هذا جيدًا ، لكن عندما أحاول إنشاء الشهادة ، لا يمكنني ذلك

وعن المعلومات:
dotnet dev-certs https -t -v
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
لم يتم العثور على شهادة HTTPS صالحة مع مفتاح يمكن الوصول إليه عبر أقسام الأمان. سيتم تشغيل الأمر التالي لإصلاحه:
'sudo security set-key-partition-list -D localhost -S unigned : ،
سيجعل هذا الأمر مفتاح الشهادة يمكن الوصول إليه عبر أقسام الأمان وقد يطالبك بكلمة المرور الخاصة بك. لمزيد من المعلومات ، راجع: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
تم طلب الثقة في شهادة تطوير HTTPS. إذا لم تكن الشهادة موثوقة بالفعل ، فسنقوم بتشغيل الأمر التالي:
sudo security add-Trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> "
قد يطالبك هذا الأمر بكلمة المرور لتثبيت الشهادة على سلسلة مفاتيح النظام.
إدراج شهادات "HTTPS" في "CurrentUser \ My".
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
التحقق من صحة الشهادات.
سرد الشهادات الصالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
إدراج شهادات غير صالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
إدراج شهادات "HTTPS" في "LocalMachine \ My".
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - خطأ
التحقق من صحة الشهادات.
سرد الشهادات الصالحة
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 07/21/2021 20:47:47 - خطأ
إدراج شهادات غير صالحة
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
وجدت التصفية شهادات لمن لديهم موضوع يساوي "CN = localhost"
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 07/21/2021 20:47:47 - خطأ
شهادات الإدراج مستثناة من النظر.
تم العثور على "0" يطابق المعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
تم العثور على شهادات صالحة موجودة على الجهاز.
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 07/21/2021 20:47:47 - خطأ
الشهادة المختارة
تم العثور على '1' مطابق للمعايير.
الموضوع - بصمة الإبهام - ليس قبل انتهاء الصلاحية - يحتوي على مفتاح خاص
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - خطأ
محاولة تصدير الشهادة.

شكرا لك مقدما

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات