Aspnetcore: Impossible de créer un certificat de développement sur macOS Catalina

Créé le 5 mars 2020  ·  78Commentaires  ·  Source: dotnet/aspnetcore

Décrivez le bogue

Essayer de générer un certificat de développement sur mon macOS Catalina (10.15.4 Beta (19E242d)) à l'aide de l'outil dev-certs mais ne fonctionne pas.

production:

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.

Reproduire

Fonctionnement

dotnet dev-certs https

Détails techniques supplémentaires

  • Version ASP.NET Core: 3.1
  • Inclut la sortie de dotnet --info
  • L'IDE (VS / VS Code / VS4Mac) sur lequel vous exécutez et sa 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

Commentaire le plus utile

Mise à jour importante

Il s'agit d'un problème persistant dans la dernière version du SDK (3.1.102) que nous étudions toujours.
Pour contourner ce problème, procédez comme suit :

  • Assurez-vous d'ouvrir l'accès au trousseau et de supprimer tous les certificats d'hôte local dans le trousseau de connexion et dans le trousseau système qui ont été créés par ASP.NET Core.
  • Ouvrez bash dans le terminal.
  • Créez un dossier temporaire et cd dedans.
  • Exécutez le script suivant https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Tous les 78 commentaires

Salut @rmarinho Je traverse exactement la même erreur, avec exactement la même pile de développement.
J'ai parcouru toutes les pages suggérant de supprimer le certificat de la clé système, d'exécuter les commandes --clean et --trust mais rien ne fonctionne.

Quelqu'un a-t-il d'autres idées sur ce qu'il faut essayer ensuite? Ce serait grandement apprécié. Je vous remercie.

@rmarinho merci de nous avoir contactés.

Pourriez-vous vérifier quelques points?
Avez-vous un certificat "localhost" sur votre trousseau? (Si c'est le cas, en supposant qu'il s'agit d'un core généré par asp.net)
Pouvez-vous le supprimer manuellement?
Vérifiez également les certificats système pour le même certificat et supprimez-le également.

Pouvez-vous exécuter dotnet dev-certs https --check et signaler le code de sortie?

Salut, j'ai supprimé celui que j'avais, même erreur, mais cela en crée un nouveau sur le trousseau.
Je n'en avais aucun sur les certificats système uniquement sur le trousseau de connexion.

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.

Pouvez-vous essayer d'exécuter security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 <<login-keychain>> partir de la ligne de commande et voir si cela réussit? (en remplaçant <<logi-keychain>> par le chemin actuel de votre trousseau)

J'ai réussi à résoudre ce problème.

  • Créer un certificat auto-signé
  • Exécuter sur la ligne de commande dotnet tool install --global dotnet-dev-certs
  • Redémarrez votre box

J'ai eu du mal avec cette erreur liée aux partitions de sécurité. Il est tellement bizarre. Je ne sais toujours pas quelle en est la cause profonde.

  • Exécuter sur la ligne de commande dotnet tool install --global dotnet-dev-certs

Vous ne devriez pas faire cela, ou je ne suis pas sûr que cela ait un effet, car l'outil dotnet-dev-certs est fourni avec le SDK et je pense que ceux-ci auront la préférence.

Ce problème est probablement lié à la notarisation sous Mac OS. Avez-vous téléchargé le programme d'installation pour Mac OS ou avez-vous utilisé la distribution binaire? Je pense que les deux devraient être notariés, mais cela peut être la racine du problème

J'ai téléchargé le programme d'installation pour Mac OS. Peut-être que la version 3.1 n'incluait pas les dev-certs. Serait-ce le cas? L'option --check m'a montré que (aucun certificat inclus).

Les certificats ne sont pas inclus, les certificats sont générés sur la machine. Utilisez-vous macOS Catalina (10.15.4 Beta (19E242d)) ?

@javiercn Je pense que mon dernier sdk dotnet a été installé par le système de mise à jour Visual Studio pour Mac.

Je suis sur la dernière version bêta (10.15.4 Beta (19E250c)

File d'attente dans ✋

Même problème. Ce qui fonctionnait il y a 3 semaines, tout d'un coup s'est arrêté. J'ai nettoyé via dotnet dev-certs https --clean , mais dotnet dev-certs https --trust me demande alors de fournir le mot de passe pour mon login.keychain-db et le rejette. Je l'ai même réinitialisé via security set-keychain-password , sans succès.

=== 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 Êtes-vous également dans la version bêta de Mac OS Catalina?

Êtes-vous également dans la version bêta de Mac OS Catalina?

@javiercn Non. Version régulière.

@aspnetde pouvez-vous fournir les détails de l'erreur? (sortie console, etc.)

Vous pouvez essayer d'exécuter la commande manuellement et voir si cela résout le problème?

Vous pouvez essayer d'exécuter la commande manuellement et voir si cela résout le problème?

Comme indiqué dans mon premier commentaire, je l'ai déjà fait (en suivant la documentation ).

Voici un autre tour raté:

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

J'ai le même problème.

en courant
Commander:
dotnet dev-certs https -c
Résultats:
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.

Commander:
dotnet dev-certs https -t -v
Résultats:
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.

Version Mac OS:
image

Nous avons également ce problème!

J'étais également confronté au problème. J'ai découvert que le problème avait commencé avec l'installation de ASP Net Core SDK 3.1.102. J'utilise Mac OS 10.15.3 Beta.

Après avoir supprimé le SDK 3.1.102, le problème a disparu.

Utilisez ceci pour supprimer le 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

Ce que je remarque en enquêtant entre le SDK 3.1.101 et le SDK 3.1.102 pour le cert localhost, c'est que 3.1.102 manque le localhost auto-signé sur le système et que le certificat auto-signé localhost de connexion n'est pas marqué comme toujours approuvé alors que SDK 3.1 .101 avait à la fois la connexion et le certificat auto-signé de l'hôte local du système et les deux sont définis sur toujours confiance pour tout le niveau de confiance.

Pour moi, je n'ai pas pu trouver /usr/local/share/dotnet/host/fxr/3.1.102 .
Au lieu de cela, j'ai supprimé /usr/local/share/dotnet/host/fxr/3.1.2 et j'ai travaillé.

Pour moi, je n'ai pas pu trouver /usr/local/share/dotnet/host/fxr/3.1.102 .
Au lieu de cela, j'ai supprimé /usr/local/share/dotnet/host/fxr/3.1.2 et j'ai travaillé.

Mon mauvais, c'est 3.1.2 pour le fichier dans fxr. J'écris en me basant sur ma mémoire car j'avais déjà supprimé ces fichiers. J'ai mis à jour mes pas

Il existe de nombreux rapports sur ce fil, je vais donc essayer de donner quelques étapes manuelles sur la façon de potentiellement résoudre / atténuer ce problème pendant que nous enquêtons:
Voir ici pour savoir comment supprimer, rendre accessible sur les partitions et approuver manuellement les certificats.

Pour les personnes touchées, je vous suggère de faire comme suit:

  • Nettoyez vos certificats manuellement.
  • Créez un nouveau certificat avec dotnet dev-certs https

    • Si cette étape ne parvient pas à rendre le certificat accessible à travers les partitions, rendez-le accessible à travers les partitions, essayez de le rendre accessible à travers les partitions manuellement en suivant les instructions dans l'essentiel ci-dessus.

    • Si les instructions pour rendre le certificat accessible sur la partition échouent, suivez les instructions ci-dessous.

    • Pour vous débloquer, obtenez la signature SHA256 du certificat (vous pouvez le faire dans l'accès au trousseau en inspectant le certificat)

      image

    • Créez un fichier avec le nom certificate.<<sha256>>.sentinel intérieur de ~ / .dotnet /

  • Faites confiance au certificat manuellement en exportant le certificat depuis Keychain Access et en lui faisant confiance security add-trusted-cert comme décrit dans le document.

Détails importants pour ce problème

Afin que nous puissions vous aider à enquêter sur ce problème, les informations suivantes nous aideront:

  • Version du système d'exploitation
  • Liste des SDK installés

    • Si vous vous souvenez de l'ordre dans lequel ils ont été installés, incluez-le.

    • Avez-vous exécuté une distribution binaire côte à côte (à partir d'un fichier .tar.gz téléchargé)?

    • Tous les SDK que vous avez installés ont-ils été notariés?

    • Astuce: si le programme d'installation n'était pas notarié, Mac OS aurait bloqué l'installation et vous auriez dû la débloquer manuellement.

    • Est-ce que suivre les étapes décrites ci-dessus résout votre problème?

    • Si ce n'est pas le cas, pouvez-vous fournir des détails sur l'échec de l'étape manuelle et la sortie de la commande.

    • Si tel est le cas, veuillez fournir l'ensemble des étapes concrètes que vous avez suivies, car cela nous aidera à affiner le problème et à aider d'autres personnes à le contourner.

J'étais également confronté au problème. J'ai découvert que le problème avait commencé avec l'installation de ASP Net Core SDK 3.1.102. J'utilise Mac OS 10.15.3 Beta.

Après avoir supprimé le SDK 3.1.102, le problème a disparu.

Pour moi, tout allait bien jusqu'à ce que je mette à jour le SDK, mais cela a résolu le problème.
Je viens de supprimer cette version du SDK et de régénérer mes certificats:

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

Merci @frozenfroze !!

Mise à jour importante

Il s'agit d'un problème persistant dans la dernière version du SDK (3.1.102) que nous étudions toujours.
Pour contourner ce problème, procédez comme suit :

  • Assurez-vous d'ouvrir l'accès au trousseau et de supprimer tous les certificats d'hôte local dans le trousseau de connexion et dans le trousseau système qui ont été créés par ASP.NET Core.
  • Ouvrez bash dans le terminal.
  • Créez un dossier temporaire et cd dedans.
  • Exécutez le script suivant https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Vous pouvez trouver le PID du processus securityd et exécuter log stream --process <PID> . Cela devrait fournir un aperçu supplémentaire de ce qui se passe au niveau du système d'exploitation. (systemd est l'accès de gestion traité aux éléments KeyChain)
En outre, cela peut être contre-intuitif, mais il est important que «dotnet» soit self vient de 3.1 ou non. (comme toutes les versions remplacent le même binaire, la séquence est donc importante et la liste des sdks disponibles n'est qu'un indice))
Vous pouvez vérifier avec codesign -v -d --entitlements --extract-certificates /usr/local/share/dotnet/dotnet (ou quel chemin ver) pour voir si un binaire signé ou non signé est utilisé.

J'ai également de sérieux problèmes avec cela. J'ai eu le problème il y a 2 semaines et je l'ai résolu sur la base des commentaires de

Je ne parviens même pas à créer le certificat de développement. Aucun progrès?

dotnet dev-certs https --check
Aucun certificat valide trouvé.

dotnet dev-certs https --clean
Nettoyage des certificats de développement HTTPS de la machine. Cette opération peut nécessiter des privilèges élevés. Si tel est le cas, une invite pour les informations d'identification s'affiche.
Certificats de développement HTTPS supprimés avec succès de la machine.

dotnet dev-certs https
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Un problème est survenu. Le certificat de développeur HTTPS n'a pas pu être créé.

dotnet --info
SDK .NET Core (reflétant tout global.json):
Version: 3.1.201
Commit: b1768b4ae7

Environnement d'exécution:
Nom du système d'exploitation: Mac OS X
Version du système d'exploitation: 10.14
Plateforme OS: Darwin
RID: osx.10.14-x64
Chemin de base: /usr/local/share/dotnet/sdk/3.1.201/

Hôte (utile pour le support):
La dernière version: 3.1.3
Commit: 4a9f85e9f8

SDK .NET Core installés:
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]

Les environnements d'exécution .NET Core installés:
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]

Pour installer des environnements d'exécution ou des SDK .NET Core supplémentaires:
https://aka.ms/dotnet-download

assurez-vous que votre KeyChain est déverrouillé @fcbogle. Je recommanderais également d'utiliser KeyChain et de rechercher tous les certificats localhost.

Salut @wfurt merci pour vos commentaires.
J'ai fait ce que vous suggérez (j'ai passé des heures à essayer de déboguer cela). Voici la sortie de ma machine. J'ai mis à jour mes macos en catalina hier soir. Détails du système et sortie de gestion des clés ci-dessous:

dotnet --info
SDK .NET Core (reflétant tout global.json):
Version: 3.1.201
Commit: b1768b4ae7

Environnement d'exécution:
Nom du système d'exploitation: Mac OS X
Version du système d'exploitation: 10.15
Plateforme OS: Darwin
RID: osx.10.15-x64
Chemin de base: /usr/local/share/dotnet/sdk/3.1.201/

Hôte (utile pour le support):
La dernière version: 3.1.3
Commit: 4a9f85e9f8

SDK .NET Core installés:
3.1.201 [/ usr / local / share / dotnet / sdk]

Les environnements d'exécution .NET Core installés:
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]

Pour installer des environnements d'exécution ou des SDK .NET Core supplémentaires:
https://aka.ms/dotnet-download

=================================================== =====================
dotnet dev-certs https --check
Aucun certificat valide trouvé.
dotnet dev-certs https - confiance
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
L'approbation du certificat de développement HTTPS a été demandée. Si le certificat n'est pas déjà approuvé, nous exécuterons la commande suivante:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Cette commande peut vous demander votre mot de passe pour installer le certificat sur le trousseau système.
Une erreur s'est produite lors de l'enregistrement du certificat de développeur HTTPS dans le magasin de certificats personnels de l'utilisateur actuel.

dotnet dev-certs https -t -v
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
L'approbation du certificat de développement HTTPS a été demandée. Si le certificat n'est pas déjà approuvé, nous exécuterons la commande suivante:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Cette commande peut vous demander votre mot de passe pour installer le certificat sur le trousseau système.
Liste des certificats 'HTTPS' sur 'CurrentUser \ My'.
Liste des certificats 'HTTPS' sur 'LocalMachine \ My'.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Vérification de la validité des certificats.
Liste des certificats valides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats invalides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Filtrage des certificats trouvés sur ceux dont le sujet est égal à «CN = localhost»
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats exclus de la considération.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Aucun certificat valide présent sur cette machine. Essayer d'en créer un.
Enregistrement du certificat dans le magasin de certificats.
Erreur lors de l'enregistrement du certificat dans le magasin de certificats 'CurrentUser \ My'.
Message d'exception: un trousseau par défaut est introuvable.
Une erreur s'est produite lors de l'enregistrement du certificat de développeur HTTPS dans le magasin de certificats personnels de l'utilisateur actuel.

Y a-t-il une chance que vous le fassiez via SSH ou sur un système sur lequel vous n'êtes pas connecté à l'interface graphique?

J'ai pu reproduire un échec similaire lorsque j'ai d'abord ssh 127.0.0.1 , puis j'ai exécuté la même commande avec le même utilisateur. Désormais, lorsque le trousseau est verrouillé et que l'application a besoin d'un accès, le système d'exploitation invite une boîte de dialogue de mot de passe pour le déverrouiller. Cela n'est pas possible via SSH (ou sans session GUI) et l'opération de cryptage échouera.
Si tel est le cas, vous devez exécuter security unlock-keychain et cela vous demandera le mot de passe de connexion et déverrouillera KeyChain pour cette session. Cette partie n'est pas spécifique à Catalina.

J'ai également essayé de générer un certificat lors de l'exécution en tant qu'utilisateur "standard" et cela échoue toujours en me plaignant que l'utilisateur n'est pas dans la liste soudaine. Ce qui se passe n'est peut-être pas clair et je me demande si nous pouvons vérifier cela d'avance ou si nous pouvons obtenir de meilleurs conseils @javiercn.

J'ai manqué keychain could not be found. de votre message @fcbogle lorsque j'ai rédigé ma réponse précédente. Pouvez-vous exécuter security list-keychains et security default-keychain ?
Avez-vous exécuté l'application KeyChain Access ? Vous devriez y voir au moins System et Login .

Salut @wfurt, voici la sortie de ces commandes. Merci d'avoir jeté un coup d'œil!
liste de sécurité-porte-clés
"/Library/Keychains/System.keychain"
trousseau de sécurité par défaut
security: SecKeychainCopyDefault: Un trousseau par défaut est introuvable.

Voici mon trousseau:
image

Je pense que nous sommes sur la bonne voie. La commande list n'affiche pas votre trousseau de connexion et la valeur par défaut n'est pas définie. Lorsque j'exécute ceci sur mon système, j'obtiens:

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

maintenant, il est curieux que l'application affiche le trousseau de connexion alors que l'outil de ligne de commande ne le fait pas.
Si vous faites un clic droit sur le trousseau Login -t-il l'option "Make Default"? Et si c'est le cas, cela changerait-il la sortie des commandes? Je n'ai pas compris comment obtenir l'emplacement du trousseau dans l'interface graphique, mais le faire par défaut peut aider.

Pouvez-vous également vérifier la valeur de la variable d'environnement HOME ? Lorsque je le désactive ou que je le pointe vers un "mauvais" emplacement, j'obtiens le même résultat que vous.

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

Je vous remercie! Ok, j'ai dû corriger ma variable d'environnement $ HOME, ce qui est fait.
Voici maintenant la sortie des commandes précédentes, y compris la variable $ 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$

Il me semble avoir une chaîne vide: "" dans le trousseau. Je ne peux pas voir ça dans l'interface utilisateur

Je sauvegarderais votre trousseau existant et vous pouvez essayer de le supprimer avec security delete-keychain . Cependant, il devrait être acceptable d'avoir plus de KeyChains pour ne pas vous déranger. Le dotnet dev-certs https --trust fonctionne-t-il maintenant pour vous?
Notez que le HOME est également utilisé pour d'autres choses - comme le cache de package et d'autres fichiers .NET.

Salut @wfurt - succès. Merci pour votre aide à résoudre ce problème! J'apprécie vraiment votre aide!
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.

Je suis content que ça marche. Je sais que ce qui se passe n'est pas toujours évident et Catalina n'a pas facilité les choses.

Le problème persiste sur Ubuntu 18.04 lors de l'utilisation de dotnet-sdk-3.1.201.

Si vous rencontrez un problème sous Linux, ouvrez un nouveau numéro @ajbozdar. Toute la discussion ici est spécifique à macOS, Catalina en particulier car elle a une implémentation et des restrictions distinctes.
La seule partie pertinente est que Linux dépend également de la variable HOME pour trouver l'emplacement du magasin de certificats utilisateur et d'autres fichiers .NET.

Pour moi, le problème est résolu en exécutant les commandes suivantes:

  • dotnet dev-certs https --clean cela nettoiera les certificats de développement HTTPS de la machine, il peut vous demander d'entrer votre mot de passe.

Ensuite, j'exécute la commande suivante:

  • dotnet dev-certs https --trust

Et enfin, le certificat de développeur HTTPS a été généré avec succès

La solution proposée par @javiercn dans son fichier batch a fonctionné pour moi, il suffit de remplacer le mot de passe où il appartenait et cela a fonctionné à merveille! Je vous remercie.

Les scripts de @javiercn fonctionnent aussi bien pour moi. Je vous remercie. Il m'a fallu un jour pour résoudre ce problème.

Mettre à jour

Aidez-nous à résoudre ce problème

Si vous rencontrez ce problème, pouvez-vous essayer les choses suivantes et publier vos résultats ici?
Vérifiez que l'identité «localhost» est bien dans le trousseau de connexion:
security find-identity -p ssl-server -s localhost ~/Library/Keychains/Login.keychain

Exécutez la commande ci-dessous manuellement:
sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 ~/Library/Keychains/Login.keychain

Vérifiez si l'entrée de partition de clé est présente:
security dump-keychain -a ~/Library/Keychains/Login.keychain | grep -sirB 3 -A 1 UBF8T346G9

Collectez un sysdiagnose (sudo sysdiagnose) et partagez-le avec nous en privé ( NE postez PAS le fichier sur ce problème )

en relation avec # 21592 je reçois ceci de mon porte-clés
Recherche d'identités correspondant à "localhost"

Politique: SSL (serveur)
Identités correspondantes
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 identités trouvées

Identités valides uniquement
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 identités valides trouvées
lorsque je vérifie visuellement, je vois deux certificats, l'un est l'autorité de certification racine

l'interface Web que j'essaie d'exécuter échoue toujours avec des erreurs de certificat

Screenshot 2020-05-07 at 21 56 13

Je lance le generate.sh, mais cela ne semble pas fonctionner

./generate.sh
Génération d'une clé privée RSA de 2048 bits
...... +++
.................................................. .......... +++

écriture d'une nouvelle clé privée dans 'key.pem'

1 identité importée.
Mot de passe:
mot de passe pour déverrouiller /Users/apple/Library/Keychains/login.keychain-db:
trousseau: "/Users/apple/Library/Keychains/login.keychain-db"
version: 512
classe: 0x00000011
les attributs:
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=
security: SecKeychainItemCopyAccess: une valeur manquante a été détectée.

dotnet --info
SDK .NET Core (reflétant tout global.json):
Version: 3.1.201
Commit: b1768b4ae7

Environnement d'exécution:
Nom du système d'exploitation: Mac OS X
Version du système d'exploitation: 10.15
Plateforme OS: Darwin
RID: osx.10.15-x64
Chemin de base: /usr/local/share/dotnet/sdk/3.1.201/

Hôte (utile pour le support):
La dernière version: 3.1.3
Commit: 4a9f85e9f8

SDK .NET Core installés:
3.0.100 [/ usr / local / share / dotnet / sdk]
3.1.200 [/ usr / local / share / dotnet / sdk]
3.1.201 [/ usr / local / share / dotnet / sdk]

Les environnements d'exécution .NET Core installés:
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 l'étape qui échoue est la dernière, celle de set-key-partition-list, donc ça devrait aller si vous essayez d'exécuter une application (vous devrez fermer et rouvrir le navigateur)

ok ... alors, je me suis à nouveau effacé. copié le script de solution de contournement dans un fichier shell. fermé tous les navigateurs et exécuté le script. a remonté l'application d'interface utilisateur Web dans VS4Mac et l'a exécutée. il a demandé l'accès au porte-clés (comportement très différent de toutes les occasions précédentes), ce que j'ai accordé, et voilà ... cela a fonctionné .. donc, merci à vous @javiercn , mais ce serait génial si ces choses n'étaient pas introduit (à plusieurs reprises) en premier lieu (c'est un reproche). :) Je garderai le script pour référence future ...;)

Les changements de Catalina n'étaient pas le choix de .NET @ thales-man. Je sais que cela peut être frustrant, mais nous essayons seulement de suivre.

non, mais vous êtes une organisation de plusieurs milliards de dollars qui essaie d'obtenir le même endroit que java il y a 20 ans

@XiaroanZhang l'étape qui échoue est la dernière, celle de set-key-partition-list, donc ça devrait aller si vous essayez d'exécuter une application (vous devrez fermer et rouvrir le navigateur)

Merci beaucoup. Cela fonctionne

Salut à tous,

J'avais juste ce même problème. J'ai réussi à le contourner en permettant de faire confiance au certificat localhost qui est généré après avoir essayé d'exécuter l'application.

Vous devez toujours entrer votre mot de passe de trousseau à chaque fois que vous essayez d'exécuter, et le terminal dira toujours que l'application échoue, mais elle fonctionnera réellement dans le navigateur comme prévu.

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

Salut à tous,

J'avais juste ce même problème. J'ai réussi à le contourner en permettant de faire confiance au certificat localhost qui est généré après avoir essayé d'exécuter l'application.

Vous devez toujours entrer votre mot de passe de trousseau à chaque fois que vous essayez d'exécuter, et le terminal dira toujours que l'application échoue, mais elle fonctionnera réellement dans le navigateur comme prévu.

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

exécutez le script de @javiercn dans son fichier batch et le problème disparaîtra. alors attendez simplement une solution appropriée.

Je suis ici pour confirmer que je rencontre également ce problème et que je fonctionne sur Mojave (10.14.6). Ce qui l'a déclenché, c'est l'installation du SDK 3.1.300 ce soir, afin que je puisse exécuter les nouveaux bits Blazor WASM. J'ai été heureux de développer avec HTTPS local pendant la journée, et avant aujourd'hui. J'utilisais auparavant le SDK 3.1.100.

Le diagnostic suit; important de noter que je cours principalement en tant qu'utilisateur régulier ( jim ) qui n'est pas un administrateur ou dans le fichier sudoers. Je lance des trucs élevés en tant qu'administrateur / admin . Alors...

  1. J'ai nettoyé tous les certificats nommés localhost du trousseau de connexion de l'utilisateur jim. Également supprimé du trousseau système.
  2. En cours d'exécution en tant que admin j'ai exécuté dotnet dev-certs https --trust et j'ai été invité à fournir des informations d'identification. La commande se termine avec succès.
  3. En exécutant la commande security find-identity ... tant que jim , j'obtiens 0 identités trouvées, 0 identités correspondantes.
  4. En exécutant la commande security find-identity ... tant que admin , j'obtiens 1 identités trouvées, 1 identités valides trouvées.
  5. L'empreinte digitale affichée à 4 correspond à l'empreinte digitale sur le certificat localhost que je peux voir dans Keychain Access sur le trousseau System (lorsque je suis connecté au bureau Mac en tant que jim tous les jours
  6. J'exécute la commande sudo security set-key-partition-list ... tant que admin , s'exécute avec succès.
  7. Je lance la commande security dump-keychain ... mais je ne sais pas ce que je recherche, la sortie est ici -> dump-keychain.txt

Si j'exécute ensuite un simple serveur Web Kestrel configuré pour écouter HTTPS en tant que admin , alors tout va bien.

Cependant, si j'essaie de faire la même chose que mon utilisateur jim , j'obtiens l'exception suivante:

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)

J'aimerais beaucoup récupérer la possibilité d'exécuter des sites HTTPS dans Kestrel à partir de mon utilisateur normal jim , comme je le pouvais avant le SDK 3.1.100. Merci!

J'ai un fichier sysdiagnose que je pourrais partager avec une adresse e-mail correctement confirmée et sécurisée.

Une proposition ... serait-il possible de mettre à jour dev-certs avec une option qui ne tente pas de configurer le certificat comme partagé à l'échelle du système (au moins sur MacOS)? Tant qu'il y a un certificat localhost dans mon trousseau de connexion, cela devrait-il être suffisant pour le développement local?

Edit: J'ai désinstallé la dernière version du SDK et je suis revenu à la version 3.1.100. J'ai effacé le certificat localhost du système et des trousseaux de connexion de jim et admin . Généré à nouveau avec dev-cert --trust tant qu'utilisateur admin. Alors que Kestrel fonctionne comme jim le navigateur est invité à fournir un certificat non approuvé, que je peux contourner mais pas idéal.

FWIW. J'ai eu ce problème aussi, avec un autre problème sans rapport. J'avais € signer mon mot de passe et après avoir changé mon mot de passe pour ne contenir que, disons plus de caractères amicaux ascii, mes deux problèmes ont été résolus.

C'est toujours cassé. Ce qui m'aide est de supprimer tous les sdks jusqu'à ce que je sois de retour sur 3.1.100. Ce qui rompt évidemment avec chaque mise à jour effectuée par VS.

Est-ce que quelqu'un est gêné de réparer ça?!

@aspnetde nous travaillons sur une solution à ce problème.

Le dernier SDK 5.0-preview4 SDK contient une version mise à jour de l'outil qui résout ce problème. Nous prévoyons de corriger le SDK LTS actuel une fois que nous serons suffisamment convaincus que la nouvelle approche n'introduira pas de problèmes supplémentaires.

Suivez les étapes de ce lien corrigé le problème
dépanner les problèmes de certificat

OS X - certificat non approuvé

  • Ouvrez KeyChain Access.
  • Sélectionnez le trousseau système.
  • Vérifiez la présence d'un certificat localhost.
  • Vérifiez qu'il contient un symbole + sur l'icône pour indiquer qu'il est approuvé pour tous les utilisateurs.
  • Supprimez le certificat du trousseau système.
  • Exécutez les commandes suivantes:
    dotnet dev-certs https --clean
    dotnet dev-certs https - confiance

Rien des messages ci-dessus ne fonctionne. J'utilise Catalina 10.15.5 avec SDK 5.0.100-PREVIEW.6.20318.15

Chaque fois que j'exécute l'application, je suis invité à installer le certificat. J'entre mon mot de passe, le certificat est créé, puis j'obtiens:

_System.InvalidOperationException: "Impossible de configurer le point de terminaison HTTPS. Aucun certificat de serveur n'a été spécifié et le certificat de développeur par défaut est introuvable ou est obsolète. \ NPour générer un certificat de développeur, exécutez 'dotnet dev-certs https'. Pour approuver le certificat (Windows et macOS uniquement) exécutez 'dotnet dev-certs https --trust'. \ nPour plus d'informations sur la configuration de HTTPS, consultez https://go.microsoft.com/fwlink/?linkid=848054. "_

Veuillez aider!

@ChadNedzlek merci de nous l'avoir fait savoir.

Preview6 devrait réellement fonctionner, car nous sommes passés à une approche différente qui n'a pas ce problème. Pouvez-vous nous donner plus de détails sur votre environnement?

Pouvez-vous vous assurer que vous n'avez pas de certificat localhost dans votre trousseau (ni dans le trousseau utilisateur ni dans le trousseau système), exécutez l'outil avec dotnet dev-certs https --trust et vérifiez que les certificats sont présents sur le trousseau? (vous devrez peut-être fermer et ouvrir le trousseau).

@javiercn Salut Javier, merci d'être intervenu. J'ai déjà tout fait, mais pour le dépannage, je l'ai relancé et les résultats sont les mêmes, voir ci-dessous:

1
SystemCerts

2
LoginCerts

3
AfterTrust

4
SystemCertsAfter

5
LoginCertsAfter

6
Prompt

sept
VSError

@ChamaCR Merci pour les détails. Je soupçonne que vous pourriez avoir une ancienne version Mac VS 4 qui utilise le SDK 3.1 et qui pose des problèmes car il installe un deuxième certificat avec l'ancienne méthode (qui apparemment se brise sur votre machine).

Pouvez-vous nettoyer à nouveau votre trousseau (désolé pour cela, je sais que c'est douloureux) et essayer d'exécuter l'application à partir de la ligne de commande? Assurez-vous que dotnet --info reflète le SDK preview6

@javiercn désolé pour le retard, hier j'avais quelques courses à faire. J'utilisais la dernière version de Visual Studio pour Mac. dotnet --info a montré la version correcte du SDK preview6.

J'ai fini par supprimer VS + SDK ... et je crée un bootcamp avec WIN10 en ce moment :(

@ChamaCR si cela se reproduit, vous pouvez exécuter l'outil à partir de la ligne de commande avec --debug et capturer une trace avec dotnet-trace. Cela nous aidera à aller au fond des choses à l'avenir.

Je rencontre le même problème. Je viens de mettre à jour vers 3.1.301 ce soir, ayant précédemment 3.1.10x (je ne me souviens pas du nombre mineur).

J'ai utilisé le script de https://dotnet.microsoft.com/download/dotnet-core/scripts pour installer d'abord 3.1.301, mais cela ne semblait pas le configurer à l'endroit prévu. Je verrais toujours 3.1.10x en cours d'exécution. J'ai donc téléchargé le programme d'installation du package et cette configuration 3.1.301 comme prévu.

J'ai utilisé dotnet new blazorwasm -o CICalc puis dotnet run . J'ai rencontré ce problème. J'avais installé des SDK 2.2.x, je les ai donc supprimés à l'aide de l'outil de désinstallation dotnet.

Je ne parviens pas à dépasser le stade où il génère le certificat. Je peux voir qu'il existe une configuration de certificat dans le trousseau, mais elle n'est pas approuvée. J'ai essayé le script lié à cette page, mais cela me donne le même résultat.

Je peux modifier le paramètre de confiance pour HTTPS dans le trousseau, ce qui me permet ensuite de continuer. Je ne sais pas si cela fait tout ce que l'option -trust essaie de faire. Est-ce une solution de contournement suffisante ou vais-je rencontrer d'autres problèmes?

Autres détails ci-dessous.

Merci,

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]

J'ai supprimé manuellement le certificat localhost de l'accès au trousseau.

% dotnet dev-certs https --clean
Nettoyage des certificats de développement HTTPS de la machine. Cette opération peut nécessiter des privilèges élevés. Si tel est le cas, une invite pour les informations d'identification s'affiche.
Certificats de développement HTTPS supprimés avec succès de la machine.
% dotnet dev-certs https
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Mot de passe:
mot de passe pour déverrouiller /Users/neil/Library/Keychains/login.keychain-db:
trousseau: "/Users/neil/Library/Keychains/login.keychain-db"
version: 512
classe: 0x00000011
les attributs:
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=
security: SecKeychainItemCopyAccess: une valeur manquante a été détectée.

Sur la même plateforme que le message précédent, j'ai couru:
% dotnet dev-certs https --verbose

Le résultat était:

Liste des certificats 'HTTPS' sur 'CurrentUser \ My'.
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Vrai
Vérification de la validité des certificats.
Liste des certificats valides
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Vrai
Liste des certificats invalides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats 'HTTPS' sur 'LocalMachine \ My'.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Vérification de la validité des certificats.
Liste des certificats valides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats invalides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Filtrage des certificats trouvés sur ceux dont le sujet est égal à «CN = localhost»
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Vrai
Liste des certificats exclus de la considération.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Impossible de rendre la clé de certificat accessible
Message d'exception: erreur rendant la clé accessible entre les partitions.
Un problème est survenu. Le certificat de développeur HTTPS n'a pas pu être créé.

Je rencontre également exactement le même message de @digidol où il me dit qu'une valeur manquante a été détectée lors de la tentative de création des dev-certs via:
% dotnet dev-certs https

J'utilise également MacOS Catalina 10.15.5 et le dernier Visual Studio avec le dernier SDK .NET Core 3.1.301.

Cependant, j'ai peut-être une solution de contournement potentielle pour que le débogage fonctionne dans Visual Studio. Voici ce que j'ai fait:

  1. Ouvrez Visual Studio et créez une nouvelle application Web (MVC)
  2. J'ai sélectionné .NET Core 3.1 et aucune authentification (je ne sais pas si cela fait une différence)
  3. Exécutez le projet
  4. Lorsque vous êtes invité à exécuter la commande dotnet dev-certs https, cliquez sur Annuler
  5. Lorsqu'on vous demande quand même d'exécuter l'application, cliquez sur Exécuter
  6. Visual studio doit compiler et exécuter le code et ouvrir le site dans votre navigateur, mais le navigateur dira que le site n'est pas fiable.
  7. Cliquez sur l'option dans le navigateur pour continuer à vos propres risques et dites-lui de faire confiance au certificat. J'avais besoin d'entrer mon mot de passe à ce moment-là.
  8. Après cela, le site s'est bien chargé et était toujours lié au débogueur.
  9. Chaque fois que vous souhaitez exécuter l'application, vous devez cliquer sur Annuler, puis sur Exécuter, mais le navigateur doit se souvenir que le certificat est approuvé.

Encore une fois, ce n'est pas une solution, mais cela semble être une solution de contournement décente, jusqu'à ce que le bogue puisse être résolu. J'espère que ça aide.

John D.

@jdelano le script décrit ici ne https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Merci beaucoup @javiercn ,
Une chose; mettre à jour le script pour supprimer les certificats localhost précédemment générés aurait été bien. Si vous exécutez le script sans supprimer les certificats localhost existants, vous finirez par avoir plusieurs certificats et cela ne résoudra pas le problème.

@ardaozceviz Je ne sais pas exactement comment faire cela sans risquer de supprimer d'autres certificats localhost, c'est pourquoi je ne l'ai pas fait. Sur le même plan, il y a des instructions pour supprimer les certificats manuellement à l'aide du trousseau.

@javiercn Malheureusement, le script ne fonctionne pas non plus. J'obtiens le message qu'une valeur manquante a été détectée.

@jdelano Est-ce lors de l'exécution de cette commande? udo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 $loginKeyChain; vous pouvez l'ignorer et cela devrait toujours fonctionner. Je l'ai sorti du script.

@javiercn D'accord, mais je reçois toujours le message dans Visual Studio qu'un certificat de développement valide n'a pas été trouvé et qu'il doit exécuter à nouveau la commande dev-certs. Je peux cliquer sur Annuler et l'application s'exécute, mais je ne sais pas à quel point ce comportement est différent de ce que j'ai publié ci-dessus dans ma solution de contournement.

@jdelano avez-vous nettoyé les certificats sur le trousseau utilisateur et système avant d'exécuter le script?

@javiercn D'accord, j'ai recommencé toutes les étapes, et cette fois ça a marché! Je ne suis pas sûr de ce que j'ai manqué plus tôt, cependant. Vraiment bizarre. Merci pour le script, cependant!

@jdelano pas de problème, ce problème devrait être résolu dans les dernières aperçus de .NET Core 5.0 et nous espérons qu'il sera rétroporté à 3.1 une fois que nous aurons validé qu'il ne brisera pas d'autres personnes.

Visual Studio a corrigé les certificats pour moi après la réinstallation, il a juste demandé le mot de passe AppStore

Ce que j'ai remarqué, c'est que peu importe le nombre de fois où j'exécute dotnet dev-certs https --clean; dotnet dev-certs https --trust cela ne résoudra pas le problème tant que je n'aurai pas réinstallé le sdk dotnet core. Je fais donc du développement actif pour deux projets clients - l'un utilisant dotnet core 2.2 et l'autre utilisant dotnet core 3.1. Il semble qu'un certificat d'hôte local de confiance valide installé à l'aide d'un sdk ne fonctionnera pas dans un autre. La réémission du certificat, le redémarrage de la machine ne font rien. La seule chose qui m'aide était de réinstaller le sdk correspondant à chaque fois que je change de projet. Il semble que Microsoft ait un bogue dans la mesure où les sdks ne peuvent pas partager l'outil dotnet-dev-certs, et l'installation d'un sdk écrase certains fichiers dans dotnet-dev-certs. Cela ne semble pas très robuste.

Salut! Je suis confronté au même problème et je ne parviens pas à trouver la solution correcte.

macOS Catalina 10.15.6

dotnet --info
SDK .NET Core (reflétant tout global.json):
La dernière version: 3.1.302
Commit: 41faccf259

Environnement d'exécution:
Nom du système d'exploitation: Mac OS X
Version du système d'exploitation: 10.15
Plateforme OS: Darwin
RID: osx.10.15-x64
Chemin de base: /usr/local/share/dotnet/sdk/3.1.302/

Hôte (utile pour le support):
La dernière version: 3.1.6
Commit: 3acd9b0cd1

SDK .NET Core installés:
3.1.302 [/ usr / local / share / dotnet / sdk]

Les environnements d'exécution .NET Core installés:
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]

Pour installer des environnements d'exécution ou des SDK .NET Core supplémentaires:
https://aka.ms/dotnet-download

J'ai déjà supprimé le certificat "localhost" de l'interface utilisateur du trousseau.

Quand je cours:

liste de sécurité-porte-clés
"/Users/fabrizio/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

trousseau de sécurité par défaut
"/Users/fabrizio/Library/Keychains/login.keychain-db"

Cela semble bien, mais lorsque j'essaye de créer le certificat, je ne peux pas

Et à propos de l'info:
dotnet dev-certs https -t -v
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Un certificat HTTPS valide avec une clé accessible sur les partitions de sécurité est introuvable. La commande suivante s'exécutera pour le réparer:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Cette commande rendra la clé de certificat accessible à travers les partitions de sécurité et pourrait vous demander votre mot de passe. Pour plus d'informations, voir: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
L'approbation du certificat de développement HTTPS a été demandée. Si le certificat n'est pas déjà approuvé, nous exécuterons la commande suivante:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Cette commande peut vous demander votre mot de passe pour installer le certificat sur le trousseau système.
Liste des certificats 'HTTPS' sur 'CurrentUser \ My'.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Vérification de la validité des certificats.
Liste des certificats valides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats invalides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Liste des certificats 'HTTPS' sur 'LocalMachine \ My'.
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 21/07/2021 20:47:47 - Faux
Vérification de la validité des certificats.
Liste des certificats valides
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 21/07/2021 20:47:47 - Faux
Liste des certificats invalides
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Filtrage des certificats trouvés sur ceux dont le sujet est égal à «CN = localhost»
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 21/07/2021 20:47:47 - Faux
Liste des certificats exclus de la considération.
"0" correspond aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
Certificats valides trouvés sur la machine.
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 21/07/2021 20:47:47 - Faux
Certificat sélectionné
"1" trouvé correspondant aux critères.
SUBJECT - THUMBPRINT - PAS AVANT - EXPIRE - DISPOSE D'UNE CLÉ PRIVÉE
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 21/07/2020 20:47:47 - 21/07/2021 20:47:47 - Faux
Essayer d'exporter le certificat.

Merci d'avance

Cette page vous a été utile?
0 / 5 - 0 notes