Aspnetcore: Unter macOS Catalina kann kein Entwicklungszertifikat erstellt werden

Erstellt am 5. März 2020  ·  78Kommentare  ·  Quelle: dotnet/aspnetcore

Beschreibe den Fehler

Der Versuch, ein Entwicklungszertifikat auf meinem macOS Catalina (10.15.4 Beta (19E242d)) mit dem Tool dev-certs zu generieren, funktioniert jedoch nicht.

Ausgabe:

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.

Reproduzieren

Laufen

dotnet dev-certs https

Weitere technische Details

  • ASP.NET Core-Version: 3.1
  • Schließen Sie die Ausgabe von dotnet --info
  • Die IDE (VS / VS Code / VS4Mac), auf der Sie ausgeführt werden, und ihre Version
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

Hilfreichster Kommentar

Wichtiges Update

Dies ist ein laufendes Problem in der neuesten SDK-Version (3.1.102), die wir noch untersuchen.
Gehen Sie folgendermaßen vor, um dieses Problem zu umgehen :

  • Stellen Sie sicher, dass Sie den Schlüsselbundzugriff öffnen und alle localhost-Zertifikate im Anmeldeschlüsselbund und im Systemschlüsselbund löschen, die von ASP.NET Core erstellt wurden.
  • Öffnen Sie die Bash im Terminal.
  • Erstellen Sie einen temporären Ordner und legen Sie eine CD hinein.
  • Führen Sie das folgende Skript aus: https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Alle 78 Kommentare

Hallo @rmarinho, ich mache genau den gleichen Fehler mit genau dem gleichen Entwickler-Stack.
Ich habe alle Seiten durchgesehen, in denen vorgeschlagen wurde, das Zertifikat vom Systemschlüssel zu entfernen, die Befehle --clean und --trust auszuführen, aber nichts funktioniert.

Hat jemand weitere Ideen, was er als nächstes versuchen soll? Es wäre sehr dankbar. Vielen Dank.

@rmarinho danke für die Kontaktaufnahme.

Könnten Sie ein paar Dinge überprüfen?
Haben Sie ein "localhost" -Zertifikat an Ihrem Schlüsselbund? (Wenn ja, unter der Annahme, dass es sich um einen von asp.net generierten Kern handelt)
Können Sie es manuell entfernen?
Überprüfen Sie auch die Systemzertifikate für dasselbe Zertifikat und entfernen Sie es auch von dort.

Können Sie dotnet dev-certs https --check ausführen und den Exit-Code melden?

Hallo, ich habe den Fehler entfernt, den ich hatte, aber es wird ein neuer am Schlüsselbund erstellt.
Ich hatte keine Systemzertifikate nur im Login-Schlüsselbund.

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.

Können Sie versuchen, security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 <<login-keychain>> über die Befehlszeile auszuführen und festzustellen, ob dies erfolgreich ist? (Ersetzen von <<logi-keychain>> durch Ihren tatsächlichen Schlüsselbundpfad)

Ich habe es geschafft, das zu lösen.

  • Erstellen Sie ein selbstsigniertes Zertifikat
  • Führen Sie auf der Befehlszeile das Dotnet-Tool install - global - dotnet-dev-certs aus
  • Starten Sie Ihre Box neu

Ich hatte mit diesem Fehler im Zusammenhang mit den Sicherheitspartitionen zu kämpfen. Es ist so seltsam. Ich bin mir immer noch nicht bewusst, was die Hauptursache dafür ist.

  • Führen Sie auf der Befehlszeile das Dotnet-Tool install - global - dotnet-dev-certs aus

Sie sollten dies nicht tun, oder ich bin mir nicht sicher, ob es Auswirkungen hat, da das dotnet-dev-certs-Tool im SDK enthalten ist und ich glaube, dass diese bevorzugt werden.

Dieses Problem hat höchstwahrscheinlich mit der Beglaubigung unter Mac OS zu tun. Haben Sie das Installationsprogramm für Mac OS heruntergeladen oder die Binärdistribution verwendet? Ich glaube, beide sollten notariell beglaubigt werden, aber das kann die Wurzel des Problems sein

Ich habe das Installationsprogramm für Mac OS heruntergeladen. Vielleicht enthielt Version 3.1 die Entwicklerzertifikate nicht. Wäre das der Fall? --check Option hat mir das gezeigt (keine Zertifikate enthalten).

Zertifikate sind nicht enthalten, die Zertifikate werden auf der Maschine generiert. Verwenden Sie macOS Catalina (10.15.4 Beta (19E242d)) ?

@javiercn Ich denke, mein letztes Dotnet SDK wurde von Visual Studio für Mac Update System installiert.

Ich bin auf der neuesten Beta (10.15.4 Beta (19E250c)

Anstehen in ✋

Gleiches Problem. Was vor 3 Wochen funktionierte, hörte plötzlich auf. Ich habe durch dotnet dev-certs https --clean aufgeräumt, aber dotnet dev-certs https --trust fordert mich dann auf, das Passwort für meine login.keychain-db anzugeben und lehnt es ab. Ich habe es sogar über security set-keychain-password , ohne Erfolg.

=== 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 Sind Sie auch in der Mac OS Catalina Beta?

Sind Sie auch in der Mac OS Catalina Beta?

@javiercn Nein. Reguläre Version.

@aspnetde können Sie die Details zum Fehler

Sie können versuchen, den Befehl manuell auszuführen, um festzustellen, ob das Problem dadurch behoben wird.

Sie können versuchen, den Befehl manuell auszuführen, um festzustellen, ob das Problem dadurch behoben wird.

Wie in meinem ersten Kommentar erwähnt, habe ich das bereits getan ( gemäß den

Hier ist eine weitere fehlgeschlagene Runde:

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 ~ % 

Ich habe das gleiche Problem.

beim Laufen
Befehl:
dotnet dev-certs https -c
Ergebnisse:
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.

Befehl:
dotnet dev-certs https -t -v
Ergebnisse:
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 Version:
image

Wir haben auch dieses Problem!

Ich war auch mit dem Problem konfrontiert. Es wurde festgestellt, dass das Problem mit der Installation von ASP Net Core SDK 3.1.102 begann. Ich verwende Mac OS 10.15.3 Beta.

Nachdem ich das SDK 3.1.102 entfernt hatte, verschwand das Problem.

Verwenden Sie diese Option, um SDK 3.1.102 zu entfernen
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

Was ich bei der Untersuchung zwischen SDK 3.1.101 und SDK 3.1.102 für das localhost-Zertifikat bemerke, ist, dass in 3.1.102 das auf dem System selbstsignierte localhost fehlt und das selbstsignierte localhost-Anmeldezertifikat nicht als immer vertrauenswürdig markiert ist, während SDK 3.1 .101 hatte sowohl das selbstsignierte Zertifikat login als auch System localhost und beide sind für alle Vertrauensstufen auf immer vertrauenswürdig eingestellt.

Für mich konnte ich /usr/local/share/dotnet/host/fxr/3.1.102 nicht finden.
Stattdessen entfernte ich /usr/local/share/dotnet/host/fxr/3.1.2 und arbeitete.

Für mich konnte ich /usr/local/share/dotnet/host/fxr/3.1.102 nicht finden.
Stattdessen entfernte ich /usr/local/share/dotnet/host/fxr/3.1.2 und arbeitete.

Mein schlechtes, es ist 3.1.2 für die Datei in fxr. Ich schreibe basierend auf meinem Gedächtnis, da ich diese Dateien bereits entfernt hatte. Meine Schritte wurden aktualisiert

Es gibt viele Berichte zu diesem Thread, daher werde ich versuchen, einige manuelle Schritte zu geben, wie dieses Problem möglicherweise behoben werden kann, während wir Folgendes untersuchen:
Hier finden Sie Anweisungen zum Entfernen, manuellen Zugriff auf Partitionen und zum manuellen Vertrauen in Zertifikate.

Für die Betroffenen empfehle ich Folgendes:

  • Bereinigen Sie Ihre Zertifikate manuell.
  • Erstellen Sie ein neues Zertifikat mit dotnet dev-certs https

    • Wenn dieser Schritt das Zertifikat nicht partitionübergreifend zugänglich macht, machen Sie es partitionübergreifend zugänglich. Versuchen Sie, es partitionübergreifend manuell zugänglich zu machen, indem Sie den Anweisungen in der obigen Übersicht folgen.

    • Wenn die Anweisungen zum Zugriff auf das Zertifikat über die Partition hinweg fehlschlagen, befolgen Sie die nachstehenden Anweisungen.

    • Um sich selbst zu entsperren, erhalten Sie die SHA256-Signatur des Zertifikats (Sie können dies beim Zugriff auf den Schlüsselbund tun, indem Sie das Zertifikat überprüfen).

      image

    • Erstellen Sie eine Datei mit dem Namen certificate.<<sha256>>.sentinel in ~ / .dotnet /

  • Vertrauen Sie dem Zertifikat manuell, indem Sie das Zertifikat aus Keychain Access exportieren und ihm security add-trusted-cert vertrauen, wie im Dokument beschrieben.

Wichtige Details zu diesem Problem

Die folgenden Informationen helfen uns bei der Untersuchung dieses Problems:

  • OS Version
  • Liste der installierten SDKs

    • Wenn Sie sich an die Reihenfolge erinnern, in der sie installiert wurden, geben Sie dies an.

    • Haben Sie eine Binärdistribution nebeneinander ausgeführt (von einer heruntergeladenen .tar.gz)?

    • Wurden alle von Ihnen installierten SDKs notariell beglaubigt?

    • Hinweis: Wenn das Installationsprogramm nicht notariell beglaubigt worden wäre, hätte Mac OS die Installation blockiert und Sie hätten sie manuell entsperren müssen.

    • Behebt das Befolgen der oben beschriebenen Schritte Ihr Problem?

    • Wenn dies nicht der Fall ist, können Sie Details darüber angeben, welcher manuelle Schritt fehlschlägt, und die Ausgabe des Befehls.

    • Wenn dies der Fall ist, geben Sie bitte die konkreten Schritte an, die Sie befolgt haben, damit wir das Problem eingrenzen und anderen Personen helfen können, es zu umgehen.

Ich war auch mit dem Problem konfrontiert. Es wurde festgestellt, dass das Problem mit der Installation von ASP Net Core SDK 3.1.102 begann. Ich verwende Mac OS 10.15.3 Beta.

Nachdem ich das SDK 3.1.102 entfernt hatte, verschwand das Problem.

Für mich war alles in Ordnung, bis ich das SDK aktualisiert habe, aber das hat das Problem gelöst.
Ich habe gerade diese SDK-Version entfernt und meine Zertifikate neu generiert:

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

Danke @frozenfroze !!

Wichtiges Update

Dies ist ein laufendes Problem in der neuesten SDK-Version (3.1.102), die wir noch untersuchen.
Gehen Sie folgendermaßen vor, um dieses Problem zu umgehen :

  • Stellen Sie sicher, dass Sie den Schlüsselbundzugriff öffnen und alle localhost-Zertifikate im Anmeldeschlüsselbund und im Systemschlüsselbund löschen, die von ASP.NET Core erstellt wurden.
  • Öffnen Sie die Bash im Terminal.
  • Erstellen Sie einen temporären Ordner und legen Sie eine CD hinein.
  • Führen Sie das folgende Skript aus: https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Sie können die PID des Prozesses securityd und log stream --process <PID> ausführen. Dies sollte zusätzliche Einblicke in die Vorgänge auf Betriebssystemebene bieten. (systemd ist der verarbeitete Verwaltungszugriff auf KeyChain-Elemente.)
Dies mag auch nicht intuitiv sein, aber es ist wichtig, ob 'dotnet' selbst von 3.1 stammt oder nicht. (Da alle Versionen dieselbe Binärdatei überschreiben, ist die Reihenfolge wichtig und die Liste der verfügbaren SDKS ist nur ein Hinweis)
Sie können mit codesign -v -d --entitlements --extract-certificates /usr/local/share/dotnet/dotnet (oder welchem ​​Pfad) überprüfen, ob eine signierte oder eine nicht signierte Binärdatei verwendet wird.

Ich habe auch ernsthafte Probleme damit. Ich hatte das Problem vor 2 Wochen und habe es basierend auf den Kommentaren von @frozenfroze behoben. Ich habe Docker-Unterstützung hinzugefügt, die nicht erfolgreich war.

Ich kann nicht einmal das Entwicklerzertifikat erstellen. Irgendein Fortschritt?

dotnet dev-certs https --check
Kein gültiges Zertifikat gefunden.

dotnet dev-certs https --clean
Bereinigen von HTTPS-Entwicklungszertifikaten von der Maschine. Für diesen Vorgang sind möglicherweise erhöhte Berechtigungen erforderlich. In diesem Fall wird eine Eingabeaufforderung für Anmeldeinformationen angezeigt.
HTTPS-Entwicklungszertifikate wurden erfolgreich vom Computer entfernt.

dotnet dev-certs https
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Etwas ist schief gelaufen. Das HTTPS-Entwicklerzertifikat konnte nicht erstellt werden.

dotnet --info
.NET Core SDK (das alle global.json widerspiegelt):
Version: 3.1.201
Commit: b1768b4ae7

Laufzeitumgebung:
Betriebssystemname: Mac OS X.
Betriebssystemversion: 10.14
Betriebssystemplattform: Darwin
RID: osx.10.14-x64
Basispfad: /usr/local/share/dotnet/sdk/3.1.201/

Host (nützlich für den Support):
Version: 3.1.3
Festschreiben: 4a9f85e9f8

Installierte .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]

Installierte .NET Core-Laufzeiten:
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]

So installieren Sie zusätzliche .NET Core-Laufzeiten oder SDKs:
https://aka.ms/dotnet-download

Stellen Sie sicher, dass Ihr KeyChain @fcbogle entsperrt ist. Ich würde auch empfehlen, KeyChain zu verwenden und nach lokalen Host-Zertifikaten zu suchen.

Hallo @wfurt, danke für deine Kommentare.
Ich habe getan, was Sie vorschlagen (Stunden damit verbracht, dies zu debuggen). Hier ist die Ausgabe von meiner Maschine. Ich habe letzte Nacht meine Macos auf Catalina aktualisiert. Systemdetails und Schlüsselverwaltungsausgabe unten:

dotnet --info
.NET Core SDK (das alle global.json widerspiegelt):
Version: 3.1.201
Commit: b1768b4ae7

Laufzeitumgebung:
Betriebssystemname: Mac OS X.
Betriebssystemversion: 10.15
Betriebssystemplattform: Darwin
RID: osx.10.15-x64
Basispfad: /usr/local/share/dotnet/sdk/3.1.201/

Host (nützlich für den Support):
Version: 3.1.3
Festschreiben: 4a9f85e9f8

Installierte .NET Core SDKs:
3.1.201 [/ usr / local / share / dotnet / sdk]

Installierte .NET Core-Laufzeiten:
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]

So installieren Sie zusätzliche .NET Core-Laufzeiten oder SDKs:
https://aka.ms/dotnet-download

================================================== =====================
dotnet dev-certs https --check
Kein gültiges Zertifikat gefunden.
dotnet dev-certs https --trust
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Es wurde angefordert, dem HTTPS-Entwicklungszertifikat zu vertrauen. Wenn das Zertifikat noch nicht vertrauenswürdig ist, führen wir den folgenden Befehl aus:
'sudo security add-vertrauenswürdiges-Zertifikat -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Dieser Befehl fordert Sie möglicherweise auf, Ihr Kennwort einzugeben, um das Zertifikat im Systemschlüsselbund zu installieren.
Beim Speichern des HTTPS-Entwicklerzertifikats im aktuellen persönlichen Zertifikatspeicher des Benutzers ist ein Fehler aufgetreten.

dotnet dev-certs https -t -v
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Es wurde angefordert, dem HTTPS-Entwicklungszertifikat zu vertrauen. Wenn das Zertifikat noch nicht vertrauenswürdig ist, führen wir den folgenden Befehl aus:
'sudo security add-vertrauenswürdiges-Zertifikat -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Dieser Befehl fordert Sie möglicherweise auf, Ihr Kennwort einzugeben, um das Zertifikat im Systemschlüsselbund zu installieren.
Auflisten von 'HTTPS'-Zertifikaten unter' CurrentUser \ My '.
Auflisten von 'HTTPS'-Zertifikaten unter' LocalMachine \ My '.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VOR - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Zertifikate auf Gültigkeit prüfen.
Auflistung gültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auflistung ungültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VOR - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Durch Filtern gefundener Zertifikate nach Zertifikaten mit einem Betreff von 'CN = localhost'
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VOR - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Kotierungszertifikate von der Prüfung ausgeschlossen.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auf diesem Computer sind keine gültigen Zertifikate vorhanden. Ich versuche einen zu erstellen.
Speichern des Zertifikats im Zertifikatspeicher.
Fehler beim Speichern des Zertifikats im Zertifikatspeicher 'CurrentUser \ My'.
Ausnahmemeldung: Ein Standardschlüsselbund wurde nicht gefunden.
Beim Speichern des HTTPS-Entwicklerzertifikats im aktuellen persönlichen Zertifikatspeicher des Benutzers ist ein Fehler aufgetreten.

Gibt es eine Möglichkeit, dies über SSH oder auf einem System zu tun, auf dem Sie nicht in der GUI angemeldet sind?

Ich konnte einen ähnlichen Fehler reproduzieren, als ich zuerst ssh 127.0.0.1 und dann denselben Befehl wie denselben Benutzer ausführte. Wenn der Schlüsselbund gesperrt ist und die App Zugriff benötigt, fordert das Betriebssystem das Kennwortdialogfeld zum Entsperren auf. Dies ist nicht über SSH (oder ohne GUI-Sitzung) möglich und der Krypto-Vorgang schlägt fehl.
In diesem Fall müssen Sie security unlock-keychain ausführen. Daraufhin werden Sie nach dem Anmeldekennwort gefragt, und KeyChain wird für diese Sitzung entsperrt. Dieser Teil ist nicht spezifisch für Catalina.

Ich habe auch versucht, ein Zertifikat zu generieren, wenn ich als "Standard" -Benutzer ausgeführt werde, und es schlägt immer fehl, wenn ich mich beschwere, dass der Benutzer nicht in einer plötzlichen Liste steht. Es ist möglicherweise nicht klar, was los ist, und ich frage mich, ob wir dies im Voraus überprüfen können oder ob wir eine bessere Anleitung für @javiercn erhalten können.

Ich habe keychain could not be found. in Ihrem Beitrag @fcbogle verpasst, als ich meine vorherige Antwort geschrieben habe. Können Sie security list-keychains und security default-keychain ausführen?
Haben Sie die App KeyChain Access ? Sie sollten dort mindestens System und Login Schlüsselanhänger sehen.

Hallo @wfurt hier ist die Ausgabe dieser Befehle. Vielen Dank für Ihren Blick!
Sicherheitslisten-Schlüsselanhänger
"/Library/Keychains/System.keychain"
Sicherheitsstandard-Schlüsselbund
Sicherheit: SecKeychainCopyDefault: Ein Standardschlüsselbund wurde nicht gefunden.

Hier ist mein Schlüsselbund:
image

Ich denke, wir sind auf dem richtigen Weg. Der Befehl list zeigt Ihren Anmeldeschlüsselbund nicht an und die Standardeinstellung ist nicht festgelegt. Wenn ich dies auf meinem System ausführe, bekomme ich:

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

Jetzt ist es merkwürdig, dass die App den Login-Schlüsselbund anzeigt, während das Befehlszeilentool dies nicht tut.
Wenn Sie mit der rechten Maustaste auf den Schlüsselbund Login klicken, gibt es die Option "Standard festlegen"? Und wenn ja, würde dies die Ausgabe der Befehle ändern? Ich habe nicht herausgefunden, wie ich die Position des Schlüsselbunds in GUI ermitteln kann, aber es kann hilfreich sein, ihn als Standard festzulegen.

Können Sie auch den Wert der Umgebungsvariablen HOME überprüfen? Wenn ich es deaktiviere oder auf einen "falschen" Ort zeige, erhalte ich dieselbe Ausgabe wie Sie.

$ 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.

Vielen Dank! Ok, ich musste meine $ HOME-Umgebungsvariable korrigieren, was erledigt ist.
Hier ist die Ausgabe der vorherigen Befehle, einschließlich der Variablen $ 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$

Ich habe anscheinend eine leere Zeichenfolge: "" im Schlüsselbund. Ich kann das in der Benutzeroberfläche nicht sehen

Ich würde Ihren vorhandenen Schlüsselbund sichern und Sie können versuchen, ihn mit security delete-keychain zu löschen. Es sollte jedoch in Ordnung sein, mehr KeyChains zu haben, damit Sie sich nicht darum kümmern. Funktioniert das dotnet dev-certs https --trust jetzt für Sie?
Beachten Sie, dass das HOME auch für andere Zwecke verwendet wird - beispielsweise für den Paket-Cache und andere .NET-Dateien.

Hallo @wfurt - Erfolg. Vielen Dank für Ihre Hilfe bei der Lösung dieses Problems! Ich schätze deine Hilfe sehr!
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.

Ich bin froh, dass es geklappt hat. Ich weiß, es ist nicht immer offensichtlich, was los ist, und Catalina hat es nicht einfacher gemacht.

Das Problem besteht unter Ubuntu 18.04 weiterhin, wenn dotnet-sdk-3.1.201 verwendet wird.

Wenn Sie unter Linux Probleme haben, öffnen Sie die neue Ausgabe @ajbozdar. Die gesamte Diskussion hier ist spezifisch für macOS, Catalina speziell, da es unterschiedliche Implementierungen und Einschränkungen gibt.
Der einzige relevante Aspekt ist, dass Linux auch von der HOME-Variablen abhängt, um den Speicherort des Benutzerzertifikatspeichers und anderer .NET-Dateien zu ermitteln.

Für mich wird das Problem durch Ausführen der folgenden Befehle behoben:

  • dotnet dev-certs https --clean Hiermit werden HTTPS-Entwicklungszertifikate vom Computer entfernt. Möglicherweise werden Sie aufgefordert, Ihr Kennwort einzugeben.

Dann führe ich den folgenden Befehl aus:

  • dotnet dev-certs https --trust

Und schließlich wurde das HTTPS-Entwicklerzertifikat erfolgreich generiert

Die von @javiercn in seiner Batch-Datei vorgeschlagene Lösung hat bei mir funktioniert. Ersetzen Sie einfach das Passwort, zu dem es gehört, und das hat wunderbar funktioniert! Vielen Dank.

Die Skripte von @javiercn funktionieren auch für mich reibungslos. Vielen Dank. Es dauerte einen Tag, bis ich das gelöst hatte.

Aktualisieren

Helfen Sie uns, dieses Problem zu beheben

Wenn dieses Problem auftritt, können Sie die folgenden Dinge ausprobieren und Ihre Ergebnisse hier veröffentlichen?
Stellen Sie sicher, dass sich die Identität "localhost" tatsächlich im Anmeldeschlüsselbund befindet:
security find-identity -p ssl-server -s localhost ~/Library/Keychains/Login.keychain

Führen Sie den folgenden Befehl manuell aus:
sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 ~/Library/Keychains/Login.keychain

Überprüfen Sie, ob der Schlüsselpartitionseintrag vorhanden ist:
security dump-keychain -a ~/Library/Keychains/Login.keychain | grep -sirB 3 -A 1 UBF8T346G9

Sammeln Sie eine Sysdiagnose (sudo sysdiagnose) und teilen Sie sie uns privat mit (Veröffentlichen Sie die Datei NICHT zu diesem Thema ).

in Bezug auf # 21592 bekomme ich das von meinem Schlüsselbund
Auf der Suche nach Identitäten, die mit "localhost" übereinstimmen

Richtlinie: SSL (Server)
Übereinstimmende Identitäten
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 Identitäten gefunden

Nur gültige Identitäten
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 gültige Identität gefunden
Wenn ich visuell überprüfe, ob zwei Zertifikate angezeigt werden, ist eines die Stammzertifizierungsstelle

Die Web-Benutzeroberfläche, die ich ausführen möchte, schlägt immer noch mit Zertifizierungsfehlern fehl

Screenshot 2020-05-07 at 21 56 13

Ich führe die Datei generate.sh aus, aber es scheint nicht zu funktionieren

./generate.sh
Generieren eines privaten 2048-Bit-RSA-Schlüssels
...... +++
.................................................. .......... +++

Schreiben eines neuen privaten Schlüssels in 'key.pem'

1 Identität importiert.
Passwort:
Passwort zum Entsperren von /Users/apple/Library/Keychains/login.keychain-db:
Schlüsselbund: "/Users/apple/Library/Keychains/login.keychain-db"
Version: 512
Klasse: 0x00000011
Attribute:
0x00000000=
0x00000001= "com.apple.AppleMediaServices.mediaToken.macappstore"
0x00000002=
0x00000003=
0x00000004=
0x00000005=
0x00000006=
0x00000007=
0x00000008=
0x00000009= 0x00000000
0x0000000A= 0x00000000
0x0000000B= 0x00000000
0x0000000C=
0x0000000D=
0x0000000E=
0x0000000F=
0x00000010=
0x00000011=
0x00000012=
0x00000013=
0x00000014=
0x00000015=
0x00000016=
0x00000017=
0x00000018=
0x00000019=
0x0000001A=
Sicherheit: SecKeychainItemCopyAccess: Ein fehlender Wert wurde erkannt.

dotnet --info
.NET Core SDK (das alle global.json widerspiegelt):
Version: 3.1.201
Commit: b1768b4ae7

Laufzeitumgebung:
Betriebssystemname: Mac OS X.
Betriebssystemversion: 10.15
Betriebssystemplattform: Darwin
RID: osx.10.15-x64
Basispfad: /usr/local/share/dotnet/sdk/3.1.201/

Host (nützlich für den Support):
Version: 3.1.3
Festschreiben: 4a9f85e9f8

Installierte .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]

Installierte .NET Core-Laufzeiten:
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 Der

ok ... also habe ich wieder geklärt. kopierte das Workaround-Skript in eine Shell-Datei. schloss alle Browser und führte das Skript aus. hat die Web-UI-Anwendung in VS4Mac aufgerufen und ausgeführt. Es hat den Zugriff auf die Schlüsselkette angefordert (sehr unterschiedliches Verhalten gegenüber allen früheren Gelegenheiten), die ich gewährt habe, und voilà ... es hat funktioniert. Also , ich danke Ihnen

Catalina-Änderungen waren keine .NET-Auswahl @ thales-man. Ich weiß, dass dies frustrierend sein kann, aber wir versuchen nur, Schritt zu halten.

Nein, aber Sie sind eine Multi-Milliarden-Dollar-Organisation, die versucht, den anderen Ort zu finden, an dem Java vor 20 Jahren war

@XiaroanZhang Der

Vielen Dank. «Es funktioniert

Hallo zusammen,

Ich hatte gerade das gleiche Problem. Ich habe es geschafft, es zu umgehen, indem ich dem localhost-Zertifikat vertraue, das nach dem Versuch, die Anwendung auszuführen, generiert wird.

Sie müssen immer noch Ihr Schlüsselbundkennwort eingeben, wenn Sie versuchen, es auszuführen, und das Terminal meldet weiterhin, dass die App fehlschlägt, aber sie wird tatsächlich wie erwartet im Browser ausgeführt.

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

Hallo zusammen,

Ich hatte gerade das gleiche Problem. Ich habe es geschafft, es zu umgehen, indem ich dem localhost-Zertifikat vertraue, das nach dem Versuch, die Anwendung auszuführen, generiert wird.

Sie müssen immer noch Ihr Schlüsselbundkennwort eingeben, wenn Sie versuchen, es auszuführen, und das Terminal meldet weiterhin, dass die App fehlschlägt, aber sie wird tatsächlich wie erwartet im Browser ausgeführt.

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

Führen Sie das Skript von @javiercn in seiner Batch-Datei aus, und das Problem wird

Ich bin hier, um zu bestätigen, dass ich auch auf dieses Problem stoße und auf Mojave (10.14.6) laufe. Was es ausgelöst hat, ist die Installation des 3.1.300 SDK heute Abend, damit ich die neuen Blazor WASM-Bits ausführen kann. Ich habe mich tagsüber und vor heute glücklich mit lokalem HTTPS entwickelt. Ich habe zuvor SDK 3.1.100 ausgeführt.

Diagnose folgt; Es ist wichtig zu beachten, dass ich hauptsächlich als normaler Benutzer ( jim ) arbeite, der kein Administrator oder in der Sudoers-Datei ist. Ich führe erhöhte Inhalte als Administrator / admin . Damit...

  1. Ich habe alle Zertifikate mit dem Namen localhost aus dem Login-Schlüsselbund des Jim-Benutzers entfernt. Entfernen Sie es auch aus dem Systemschlüsselbund.
  2. Ausführen als admin Ich habe dotnet dev-certs https --trust und wurde zur Eingabe von Anmeldeinformationen aufgefordert. Der Befehl wird erfolgreich ausgeführt.
  3. Wenn Sie den Befehl security find-identity ... als jim ausführen, werden 0 Identitäten gefunden, 0 Identitäten stimmen überein.
  4. Wenn Sie den Befehl security find-identity ... als admin ausführen, werden 1 Identitäten gefunden, 1 gültige Identitäten gefunden.
  5. Der bei 4 angezeigte Fingerabdruck stimmt mit dem Fingerabdruck auf dem localhost -Zertifikat überein, den ich in Keychain Access auf dem System -Schlüsselbund sehen kann (während ich als mein täglicher jim am Mac-Desktop angemeldet bin
  6. Ich führe den Befehl sudo security set-key-partition-list ... als admin und werde erfolgreich ausgeführt.
  7. Ich führe den Befehl security dump-keychain ... bin mir aber nicht sicher, wonach ich suche. Die Ausgabe ist hier -> dump-keychain.txt

Wenn ich dann einen einfachen Kestrel-Webserver betreibe, der so konfiguriert ist, dass er HTTPS als admin abhört, ist alles in Ordnung.

Wenn ich jedoch versuche, dasselbe wie mein Benutzer jim zu tun, wird die folgende Ausnahme angezeigt:

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)

Ich würde sehr gerne wieder die Möglichkeit erhalten, HTTPS-Sites in Kestrel von meinem regulären Benutzer jim auszuführen, wie ich es vor SDK 3.1.100 konnte. Vielen Dank!

Ich habe eine Sysdiagnose-Datei, die ich an eine entsprechend bestätigte und sichere E-Mail-Adresse weitergeben kann.

Ein Vorschlag ... wäre es möglich, dev-certs mit einer Option zu aktualisieren, die nicht versucht, das Zertifikat als systemweit freigegeben zu konfigurieren (zumindest unter MacOS)? Solange sich in meinem Login-Schlüsselbund ein localhost -Zertifikat befindet, sollte dies für die lokale Entwicklung ausreichen?

Bearbeiten: Ich habe die neueste Version des SDK deinstalliert und bin zu 3.1.100 zurückgekehrt. Ich habe das localhost-Zertifikat von den System- und Anmeldeschlüsseln jim und admin gelöscht. Erneut generiert mit dev-cert --trust als Administrator. Während Turmfalke als jim der Browser zur Eingabe eines nicht vertrauenswürdigen Zertifikats aufgefordert, das ich umgehen kann, aber nicht ideal ist.

FWIW. Ich hatte auch dieses Problem, zusammen mit einem anderen nicht verwandten Problem. Ich hatte € mein Passwort angemeldet und nachdem ich mein Passwort so geändert hatte, dass es nur noch unscii-freundliche Zeichen enthält, wurden meine beiden Probleme gelöst.

Das ist immer noch kaputt. Was mir hilft ist, alle SDKS zu entfernen, bis ich wieder auf 3.1.100 bin. Was offensichtlich mit jedem Update-Lauf von VS bricht.

Hat jemand etwas dagegen, das zu beheben?!

@aspnetde Wir arbeiten an einer Lösung für dieses Problem.

Das neueste SDK 5.0-Preview4 SDK enthält eine aktualisierte Version des Tools, mit dem dieses Problem behoben wird. Wir haben vor, das aktuelle LTS SDK zu patchen, sobald wir genug Vertrauen haben, dass der neue Ansatz keine zusätzlichen Probleme mit sich bringt.

Befolgen Sie die Schritte von diesem Link, um das Problem zu beheben
Fehlerbehebung bei Zertifikatsproblemen

OS X - Zertifikat nicht vertrauenswürdig

  • Öffnen Sie KeyChain Access.
  • Wählen Sie den Systemschlüsselbund aus.
  • Überprüfen Sie, ob ein localhost-Zertifikat vorhanden ist.
  • Überprüfen Sie, ob das Symbol ein + -Symbol enthält, um anzuzeigen, dass es für alle Benutzer vertrauenswürdig ist.
  • Entfernen Sie das Zertifikat aus dem Systemschlüsselbund.
  • Führen Sie die folgenden Befehle aus:
    dotnet dev-certs https --clean
    dotnet dev-certs https --trust

Nichts von den oben genannten Beiträgen funktioniert. Ich verwende Catalina 10.15.5 mit SDK 5.0.100-PREVIEW.6.20318.15

Jedes Mal, wenn ich die Anwendung ausführe, werde ich aufgefordert, das Zertifikat zu installieren. Ich gebe mein Passwort ein, das Zertifikat wird erstellt, aber dann bekomme ich:

_System.InvalidOperationException: "HTTPS-Endpunkt kann nicht konfiguriert werden. Es wurde kein Serverzertifikat angegeben, und das Standardentwicklerzertifikat wurde nicht gefunden oder ist veraltet. \ NTUm ein Entwicklerzertifikat zu generieren, führen Sie 'dotnet dev-certs https' aus Zertifikat (nur Windows und MacOS) führt 'dotnet dev-certs https --trust' aus. \ nWeitere Informationen zum Konfigurieren von HTTPS finden Sie unter https://go.microsoft.com/fwlink/?linkid=848054. "_

Bitte helfen Sie!

@ChadNedzlek danke, dass du uns informiert

Preview6 sollte tatsächlich funktionieren, da wir zu einem anderen Ansatz gewechselt sind, bei dem dieses Problem nicht auftritt. Können Sie uns weitere Details zu Ihrer Umgebung mitteilen?

Können Sie sicherstellen, dass Ihr Schlüsselbund kein localhost-Zertifikat enthält (nicht im Benutzerschlüsselbund und nicht im Systemschlüsselbund), das Tool mit dotnet dev-certs https --trust ausführen und überprüfen, ob die Zertifikate im Schlüsselbund vorhanden sind? (Möglicherweise müssen Sie den Schlüsselbund schließen und öffnen.)

@javiercn Hallo Javier, danke, dass

1
SystemCerts

2
LoginCerts

3
AfterTrust

4
SystemCertsAfter

5
LoginCertsAfter

6
Prompt

7
VSError

@ChamaCR Danke für die Details. Ich vermute, Sie haben möglicherweise eine alte VS 4 Mac-Version, die das 3.1 SDK verwendet und Probleme verursacht, da ein zweites Zertifikat mit der alten Methode installiert wird (die anscheinend auf Ihrem Computer fehlerhaft ist).

Können Sie Ihren Schlüsselbund erneut reinigen (Entschuldigung, ich weiß, dass es schmerzhaft ist) und versuchen, die App über die Befehlszeile auszuführen? Stellen Sie sicher, dass dotnet --info das Preview6 SDK widerspiegelt

@javiercn Entschuldigung für die Verzögerung, gestern hatte ich einige Besorgungen zu erledigen. Ich habe die neueste Version von Visual Studio für Mac verwendet. dotnet --info hat die richtige Vorschau6 SDK-Version angezeigt.

Am Ende habe ich VS + SDKs gelöscht ... und ich erstelle gerade ein Bootcamp mit WIN10 :(

@ChamaCR Wenn dies jemals wieder vorkommt, können Sie das Tool über die Befehlszeile mit --debug ausführen und einen Trace mit dotnet-trace erfassen. Das wird uns helfen, in Zukunft auf den Grund zu gehen.

Ich habe das gleiche Problem. Ich habe heute Abend auf 3.1.301 aktualisiert und hatte zuvor 3.1.10x (ich kann mich nicht an die kleine Zahl erinnern).

Ich habe das Skript von https://dotnet.microsoft.com/download/dotnet-core/scripts verwendet , um zuerst 3.1.301 zu installieren, aber das schien es nicht an der erwarteten Stelle einzurichten. Ich würde immer noch 3.1.10x laufen sehen. Also habe ich das Paketinstallationsprogramm und das Setup 3.1.301 wie erwartet heruntergeladen.

Ich habe dotnet new blazorwasm -o CICalc und dann dotnet run . Ich habe dieses Problem getroffen. Ich hatte einige 2.2.x SDKs installiert, also entfernte ich sie mit dem Dotnet-Deinstallationstool.

Ich komme nicht über die Phase hinaus, in der das Zertifikat generiert wird. Ich kann sehen, dass im Schlüsselbund ein Zertifikat eingerichtet ist, das jedoch nicht vertrauenswürdig ist. Ich habe das auf dieser Seite verlinkte Skript ausprobiert, aber es gibt mir das gleiche Ergebnis.

Ich kann die vertrauenswürdige Einstellung für HTTPS im Schlüsselbund ändern, sodass ich fortfahren kann. Ich bin mir nicht sicher, ob das alles tut, was die Option -trust versucht. Ist dies eine ausreichende Problemumgehung oder werde ich auf andere Probleme stoßen?

Weitere Details unten.

Vielen Dank,

Neil

macOS 10.15.5

% dotnet --list-sdks
3.1.301 [/ usr / local / share / dotnet / sdk]

% dotnet --list-runtimes
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]

Ich habe das localhost-Zertifikat manuell aus dem Schlüsselbundzugriff gelöscht.

% dotnet dev-certs https --clean
Bereinigen von HTTPS-Entwicklungszertifikaten von der Maschine. Für diesen Vorgang sind möglicherweise erhöhte Berechtigungen erforderlich. In diesem Fall wird eine Eingabeaufforderung für Anmeldeinformationen angezeigt.
HTTPS-Entwicklungszertifikate wurden erfolgreich vom Computer entfernt.
% dotnet dev-certs https
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Passwort:
Passwort zum Entsperren von /Users/neil/Library/Keychains/login.keychain-db:
Schlüsselbund: "/Users/neil/Library/Keychains/login.keychain-db"
Version: 512
Klasse: 0x00000011
Attribute:
0x00000000=
0x00000001= "com.apple.AppleMediaServices.mediaToken.macappstore"
0x00000002=
0x00000003=
0x00000004=
0x00000005=
0x00000006=
0x00000007=
0x00000008=
0x00000009= 0x00000000
0x0000000A= 0x00000000
0x0000000B= 0x00000000
0x0000000C=
0x0000000D=
0x0000000E=
0x0000000F=
0x00000010=
0x00000011=
0x00000012=
0x00000013=
0x00000014=
0x00000015=
0x00000016=
0x00000017=
0x00000018=
0x00000019=
0x0000001A=
Sicherheit: SecKeychainItemCopyAccess: Ein fehlender Wert wurde erkannt.

Auf derselben Plattform wie in der vorherigen Nachricht wurde Folgendes ausgeführt:
% dotnet dev-certs https --verbose

Die Ausgabe war:

Auflisten von 'HTTPS'-Zertifikaten unter' CurrentUser \ My '.
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - True
Zertifikate auf Gültigkeit prüfen.
Auflistung gültiger Zertifikate
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - True
Auflistung ungültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auflisten von 'HTTPS'-Zertifikaten unter' LocalMachine \ My '.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Zertifikate auf Gültigkeit prüfen.
Auflistung gültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auflistung ungültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Durch Filtern gefundener Zertifikate nach Zertifikaten mit einem Betreff von 'CN = localhost'
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - True
Kotierungszertifikate von der Prüfung ausgeschlossen.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Zertifikatschlüssel konnte nicht zugänglich gemacht werden
Ausnahmemeldung: Fehler beim Zugriff auf den Schlüssel über Partitionen hinweg.
Etwas ist schief gelaufen. Das HTTPS-Entwicklerzertifikat konnte nicht erstellt werden.

Ich habe auch genau die gleiche Nachricht von @digidol erhalten, in der mir
% dotnet dev-certs https

Ich verwende auch MacOS Catalina 10.15.5 und das neueste Visual Studio mit dem neuesten .NET Core SDK 3.1.301.

Möglicherweise habe ich jedoch eine mögliche Problemumgehung, damit das Debuggen in Visual Studio funktioniert. Folgendes habe ich getan:

  1. Öffnen Sie Visual Studio und erstellen Sie eine neue Webanwendung (MVC).
  2. Ich habe .NET Core 3.1 und Keine Authentifizierung ausgewählt (nicht sicher, ob es einen Unterschied macht)
  3. Führen Sie das Projekt aus
  4. Wenn Sie aufgefordert werden, den Befehl dotnet dev-certs https auszuführen, klicken Sie auf Abbrechen
  5. Wenn Sie trotzdem aufgefordert werden, die Anwendung auszuführen, klicken Sie auf Ausführen
  6. Visual Studio sollte den Code kompilieren und ausführen und die Site in Ihrem Browser öffnen. Der Browser sagt jedoch, dass die Site nicht vertrauenswürdig ist.
  7. Klicken Sie im Browser auf die Option, um auf eigenes Risiko fortzufahren, und weisen Sie ihn an, dem Zertifikat zu vertrauen. Zu diesem Zeitpunkt musste ich mein Passwort eingeben.
  8. Danach wurde die Site einwandfrei geladen und war immer noch mit dem Debugger verknüpft.
  9. Jedes Mal, wenn Sie die App ausführen möchten, müssen Sie auf Abbrechen und dann auf Ausführen klicken. Der Browser sollte sich jedoch daran erinnern, dass das Zertifikat vertrauenswürdig ist.

Auch dies ist keine Lösung, scheint aber eine anständige Problemumgehung zu sein, bis der Fehler behoben werden kann. Ich hoffe das hilft.

John D.

@jdelano behebt das hier beschriebene Skript das Problem nicht für Sie? https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Vielen Dank @javiercn ,
Eine Sache; Das Skript zu aktualisieren, um zuvor generierte localhost -Zertifikate zu entfernen, wäre schön gewesen. Wenn Sie das Skript ausführen, ohne vorhandene localhost -Zertifikate zu entfernen, haben Sie am Ende mehrere Zertifikate und das Problem wird dadurch nicht gelöst.

@ardaozceviz Ich bin mir nicht ganz sicher, wie ich das machen soll, ohne das Risiko

@javiercn Leider

@jdelano Wird dieser Befehl ausgeführt? udo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 $loginKeyChain; Sie können es ignorieren und es sollte immer noch funktionieren. Ich habe es aus dem Skript genommen.

@javiercn Okay, aber in Visual Studio wird immer noch die Meldung

@jdelano Haben Sie die Zertifikate im Benutzer- und Systemschlüsselbund bereinigt, bevor Sie das Skript ausgeführt haben?

@javiercn Okay, ich habe alle Schritte noch einmal durchlaufen und diesmal hat es funktioniert! Ich bin mir jedoch nicht sicher, was ich früher verpasst habe. Sehr seltsam. Vielen Dank für das Skript!

@jdelano kein Problem, dieses Problem sollte in den neuesten Vorschauen von .NET Core 5.0 behoben sein und wir werden es hoffentlich auf 3.1 zurückportieren, sobald wir

Visual Studio hat nach der Neuinstallation Zertifikate für mich repariert und nur nach dem AppStore-Kennwort gefragt

Was mir aufgefallen ist, dass das Problem, egal wie oft ich dotnet dev-certs https --clean; dotnet dev-certs https --trust ausführe, erst behoben werden kann, wenn ich das dotnet core sdk neu installiert habe. Ich entwickle also aktiv für zwei Client-Projekte - eines mit Dotnet Core 2.2 und eines mit Dotnet Core 3.1. Es scheint, dass ein gültiges vertrauenswürdiges localhost-Zertifikat, das mit einem SDK installiert wurde, in einem anderen nicht funktioniert. Das erneute Ausstellen des Zertifikats und das Neustarten des Computers führen zu nichts. Das einzige, was hilft, war, das relevante SDK bei jedem Projektwechsel neu zu installieren. Es scheint, dass Microsoft einen Fehler darin hat, dass die SDKS das Dotnet-Dev-Certs-Tool nicht gemeinsam nutzen können und die Installation eines SDK einige Dateien in Dotnet-Dev-Certs überschreibt. Es scheint nicht sehr robust gebaut zu sein.

Hallo! Ich stehe vor dem gleichen Problem und kann nicht den richtigen Weg zur Lösung finden.

macOS Catalina 10.15.6

dotnet --info
.NET Core SDK (das alle global.json widerspiegelt):
Version: 3.1.302
Commit: 41faccf259

Laufzeitumgebung:
Betriebssystemname: Mac OS X.
Betriebssystemversion: 10.15
Betriebssystemplattform: Darwin
RID: osx.10.15-x64
Basispfad: /usr/local/share/dotnet/sdk/3.1.302/

Host (nützlich für den Support):
Version: 3.1.6
Commit: 3acd9b0cd1

Installierte .NET Core SDKs:
3.1.302 [/ usr / local / share / dotnet / sdk]

Installierte .NET Core-Laufzeiten:
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]

So installieren Sie zusätzliche .NET Core-Laufzeiten oder SDKs:
https://aka.ms/dotnet-download

Ich habe das "localhost" -Zertifikat bereits von der Schlüsselbund-Benutzeroberfläche gelöscht.

Wenn ich renne:

Sicherheitslisten-Schlüsselanhänger
"/Users/fabrizio/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

Sicherheitsstandard-Schlüsselbund
"/Users/fabrizio/Library/Keychains/login.keychain-db"

Das sieht gut aus, aber wenn ich versuche, das Zertifikat zu erstellen, kann ich nicht

Und zu den Infos:
dotnet dev-certs https -t -v
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Ein gültiges HTTPS-Zertifikat mit einem Schlüssel, auf den über Sicherheitspartitionen hinweg zugegriffen werden kann, wurde nicht gefunden. Der folgende Befehl wird ausgeführt, um das Problem zu beheben:
'sudo security set-key-partition-list -D localhost -S unsigned:, teamid: UBF8T346G9 '
Dieser Befehl macht den Zertifikatschlüssel für alle Sicherheitspartitionen zugänglich und fordert Sie möglicherweise zur Eingabe Ihres Kennworts auf. Weitere Informationen finden Sie unter: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Es wurde angefordert, dem HTTPS-Entwicklungszertifikat zu vertrauen. Wenn das Zertifikat noch nicht vertrauenswürdig ist, führen wir den folgenden Befehl aus:
'sudo security add-vertrauenswürdiges-Zertifikat -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Dieser Befehl fordert Sie möglicherweise auf, Ihr Kennwort einzugeben, um das Zertifikat im Systemschlüsselbund zu installieren.
Auflisten von 'HTTPS'-Zertifikaten unter' CurrentUser \ My '.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Zertifikate auf Gültigkeit prüfen.
Auflistung gültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auflistung ungültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auflisten von 'HTTPS'-Zertifikaten unter' LocalMachine \ My '.
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21.07.2020 20:47:47 - 21.07.2021 20:47:47 - Falsch
Zertifikate auf Gültigkeit prüfen.
Auflistung gültiger Zertifikate
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21.07.2020 20:47:47 - 21.07.2021 20:47:47 - Falsch
Auflistung ungültiger Zertifikate
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Durch Filtern gefundener Zertifikate nach Zertifikaten mit einem Betreff von 'CN = localhost'
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21.07.2020 20:47:47 - 21.07.2021 20:47:47 - Falsch
Kotierungszertifikate von der Prüfung ausgeschlossen.
'0' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
Auf dem Computer sind gültige Zertifikate vorhanden.
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21.07.2020 20:47:47 - 21.07.2021 20:47:47 - Falsch
Ausgewähltes Zertifikat
'1' entspricht den Kriterien.
SUBJECT - THUMBPRINT - NICHT VORHER - LÄUFT AB - HAT PRIVATEN SCHLÜSSEL
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21.07.2020 20:47:47 - 21.07.2021 20:47:47 - Falsch
Versuch, das Zertifikat zu exportieren.

Danke im Voraus

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen