Aspnetcore: Tidak dapat membuat sertifikat pengembangan di macOS Catalina

Dibuat pada 5 Mar 2020  ·  78Komentar  ·  Sumber: dotnet/aspnetcore

Jelaskan bugnya

Mencoba membuat sertifikat pengembangan di macOS Catalina saya (10.15.4 Beta (19E242d)) menggunakan alat dev-certs tetapi tidak berfungsi.

keluaran:

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.

Untuk Mereproduksi

Lari

dotnet dev-certs https

Rincian teknis lebih lanjut

  • Versi ASP.NET Core: 3.1
  • Sertakan hasil dari dotnet --info
  • IDE (VS / VS Code / VS4Mac) yang Anda jalankan, dan versinya
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

Komentar yang paling membantu

Pembaruan penting

Ini adalah masalah yang sedang berlangsung di versi SDK terbaru (3.1.102) yang masih kami selidiki.
Untuk mengatasi masalah ini ikuti langkah-langkah berikut :

Semua 78 komentar

Hai @rmarinho, saya mengalami kesalahan yang sama persis, dengan tumpukan dev yang sama persis.
Saya telah melalui semua halaman yang menyarankan untuk menghapus sertifikat dari kunci sistem, menjalankan perintah --clean dan --trust tetapi tidak ada yang berfungsi.

Adakah yang punya ide lebih lanjut tentang apa yang harus dicoba selanjutnya? Itu akan sangat dihargai. Terima kasih.

@rmarinho terima kasih telah menghubungi kami.

Bisakah Anda memeriksa beberapa hal?
Apakah Anda memiliki sertifikat "localhost" di rantai kunci Anda? (Jika demikian, asumsikan bahwa itu adalah inti asp.net yang dihasilkan)
Bisakah Anda menghapusnya secara manual?
Periksa juga sertifikat sistem untuk sertifikat yang sama dan hapus juga dari sana.

Dapatkah Anda menjalankan dotnet dev-certs https --check dan melaporkan kode keluar?

Hai, saya menghapus yang saya punya, kesalahan yang sama, tetapi itu membuat yang baru di gantungan kunci.
Saya tidak memiliki sertifikat sistem apa pun hanya di rantai kunci masuk.

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.

Dapatkah Anda mencoba dan menjalankan security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 <<login-keychain>> dari baris perintah dan melihat apakah berhasil? (mengganti <<logi-keychain>> dengan jalur rantai kunci Anda yang sebenarnya)

Saya berhasil menyelesaikan ini.

  • Buat sertifikat yang ditandatangani sendiri
  • Jalankan di baris perintah, instal alat dotnet --global dotnet-dev-certs
  • Mulai ulang kotak Anda

Saya berjuang dengan kesalahan yang terkait dengan partisi keamanan. Aneh sekali. Saya masih belum tahu apa akar penyebabnya.

  • Jalankan di baris perintah, instal alat dotnet --global dotnet-dev-certs

Anda tidak boleh melakukan ini, atau saya tidak yakin itu memiliki efek apa pun, karena alat dotnet-dev-certs dibundel dengan SDK dan saya yakin itu akan mengambil preferensi.

Masalah ini kemungkinan besar berkaitan dengan notaris pada Mac OS. Apakah Anda mengunduh penginstal untuk Mac OS atau apakah Anda menggunakan distribusi biner? Saya yakin keduanya harus diaktakan, tetapi itu bisa menjadi akar masalah

Saya mengunduh penginstal untuk Mac OS. Mungkin versi 3.1 tidak menyertakan sertifikat-dev. Apakah itu masalahnya? Opsi --check menunjukkan kepada saya bahwa (tidak ada sertifikat yang disertakan).

Sertifikat tidak disertakan, sertifikat dibuat di mesin. Apakah Anda menggunakan macOS Catalina (10.15.4 Beta (19E242d)) ?

@javiercn Saya pikir sdk dotnet terakhir saya diinstal oleh Visual Studio untuk sistem pembaruan Mac.

Saya menggunakan versi beta terbaru (10.15.4 Beta (19E250c)

Mengantri di ✋

Permasalahan yang sama. Apa yang berhasil seperti 3 minggu lalu, tiba-tiba berhenti. Saya membersihkan melalui dotnet dev-certs https --clean , tetapi dotnet dev-certs https --trust kemudian meminta saya untuk memberikan kata sandi untuk login.keychain-db saya dan menolaknya. Saya bahkan mengatur ulang melalui security set-keychain-password , tanpa hasil.

=== 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 Apakah Anda juga menggunakan Mac OS Catalina beta?

Apakah Anda juga menggunakan Mac OS Catalina beta?

@javierc Tidak. Versi biasa.

@ Aspnetde dapatkah Anda memberikan detail tentang kesalahan tersebut? (keluaran konsol, dll.)

Anda dapat mencoba dan menjalankan perintah secara manual dan melihat apakah itu memperbaiki masalah?

Anda dapat mencoba dan menjalankan perintah secara manual dan melihat apakah itu memperbaiki masalah?

Seperti yang dinyatakan dalam komentar pertama saya, saya sudah melakukannya (mengikuti dokumen ).

Ini ronde lain yang gagal:

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

Saya mengalami masalah yang sama.

saat berlari
Perintah:
dotnet dev-certs https -c
Hasil:
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.

Perintah:
dotnet dev-certs https -t -v
Hasil:
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.

Versi Mac Os:
image

Kami juga mengalami masalah ini!

Saya menghadapi masalah itu juga. Mengetahui bahwa masalah dimulai dengan penginstalan ASP Net Core SDK 3.1.102. Saya menggunakan Mac OS 10.15.3 Beta.

Setelah saya menghapus SDK 3.1.102, masalahnya hilang.

Gunakan ini untuk menghapus 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

Apa yang saya perhatikan saat menyelidiki antara SDK 3.1.101 dan SDK 3.1.102 untuk sertifikat localhost adalah bahwa 3.1.102 tidak memiliki localhost yang ditandatangani sendiri di Sistem dan sertifikat login yang ditandatangani sendiri oleh localhost tidak ditandai sebagai selalu tepercaya sedangkan SDK 3.1 .101 memiliki login dan sertifikat yang ditandatangani sendiri oleh localhost Sistem dan keduanya disetel dengan kepercayaan selalu untuk semua tingkat kepercayaan.

Bagi saya, saya tidak dapat menemukan /usr/local/share/dotnet/host/fxr/3.1.102 .
Sebaliknya saya menghapus /usr/local/share/dotnet/host/fxr/3.1.2 dan bekerja.

Bagi saya, saya tidak dapat menemukan /usr/local/share/dotnet/host/fxr/3.1.102 .
Sebaliknya saya menghapus /usr/local/share/dotnet/host/fxr/3.1.2 dan bekerja.

Saya buruk, itu 3.1.2 untuk file di fxr. Saya menulis berdasarkan ingatan saya karena saya telah menghapus file-file itu. Memperbarui langkah saya

Ada banyak laporan di utas ini, jadi saya akan mencoba dan memberikan beberapa langkah manual tentang cara menangani / mengurangi masalah ini saat kami menyelidiki:
Lihat di sini untuk instruksi tentang cara menghapus, membuatnya dapat diakses di seluruh partisi dan mempercayai sertifikat secara manual.

Bagi mereka yang terkena dampak, saya sarankan Anda melakukan hal berikut:

  • Bersihkan sertifikat Anda secara manual.
  • Buat sertifikat baru dengan dotnet dev-certs https

    • Jika langkah ini gagal membuat sertifikat dapat diakses di seluruh partisi, buatlah dapat diakses di seluruh partisi, coba dan buatlah dapat diakses di seluruh partisi secara manual dengan mengikuti petunjuk dalam inti yang disediakan di atas.

    • Jika petunjuk untuk membuat sertifikat dapat diakses di seluruh partisi gagal, ikuti petunjuk di bawah ini.

    • Untuk membebaskan diri Anda sendiri, dapatkan tanda tangan SHA256 dari sertifikat (Anda dapat melakukannya di akses rantai kunci dengan memeriksa sertifikat)

      image

    • Buat file dengan nama certificate.<<sha256>>.sentinel inside ~ / .dotnet /

  • Percayai sertifikat secara manual dengan mengekspor sertifikat dari Akses Rantai Kunci dan mempercayainya security add-trusted-cert seperti yang dijelaskan dalam dokumen.

Detail penting untuk masalah ini

Agar kami dapat membantu menyelidiki masalah ini, informasi berikut akan membantu kami:

  • Versi OS
  • Daftar SDK yang diinstal

    • Jika Anda ingat urutan pemasangannya, sertakan itu.

    • Apakah Anda menjalankan distribusi biner secara berdampingan (dari .tar.gz yang diunduh)?

    • Apakah semua SDK yang Anda pasang diaktakan?

    • Petunjuk: Jika penginstal tidak diaktakan, Mac OS akan memblokir instalasi dan Anda harus membuka blokirnya secara manual.

    • Apakah mengikuti langkah-langkah yang dijelaskan di atas memperbaiki masalah Anda?

    • Jika tidak, dapatkah Anda memberikan detail tentang langkah manual apa yang gagal dan keluaran dari perintah.

    • Jika ya, berikan serangkaian langkah konkret yang Anda ikuti karena itu akan membantu kami mempersempit masalah dan membantu orang lain mengatasinya.

Saya menghadapi masalah itu juga. Mengetahui bahwa masalah dimulai dengan penginstalan ASP Net Core SDK 3.1.102. Saya menggunakan Mac OS 10.15.3 Beta.

Setelah saya menghapus SDK 3.1.102, masalahnya hilang.

Bagi saya, semuanya baik-baik saja sampai saya memperbarui SDK, tetapi ini menyelesaikan masalah.
Saya baru saja menghapus versi SDK itu dan membuat ulang sertifikat saya:

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

Terima kasih @f frozenfroze !!

Pembaruan penting

Ini adalah masalah yang sedang berlangsung di versi SDK terbaru (3.1.102) yang masih kami selidiki.
Untuk mengatasi masalah ini ikuti langkah-langkah berikut :

Anda dapat menemukan PID dari securityd proses dan menjalankan log stream --process <PID> . Itu akan memberikan wawasan tambahan tentang apa yang terjadi di tingkat OS. (systemd adalah akses pengelolaan yang diproses ke item KeyChain)
Juga, ini mungkin berlawanan dengan intuisi tetapi penting jika 'dotnet' adalah self berasal dari 3.1 atau tidak. (karena semua versi mengganti biner yang sama sehingga urutan penting dan daftar sdks yang tersedia hanya petunjuk))
Anda dapat memeriksa dengan codesign -v -d --entitlements --extract-certificates /usr/local/share/dotnet/dotnet (atau path ver apa) untuk melihat apakah biner bertanda tangan atau tidak bertanda tangan digunakan.

Saya juga mengalami masalah serius dengan ini. Saya punya masalah 2 minggu yang lalu dan memperbaikinya berdasarkan komentar dari @f frozenfroze Saya menambahkan dukungan buruh pelabuhan yang tidak berhasil, jadi saya menghancurkan proyek, kloning dari github dan sekarang masalahnya kembali lagi.

Saya bahkan tidak dapat membuat sertifikat dev. Adakah peningkatan?

dotnet dev-certs https - periksa
Tidak ditemukan sertifikat yang valid.

dotnet dev-certs https --clean
Membersihkan sertifikat pengembangan HTTPS dari mesin. Operasi ini mungkin membutuhkan hak yang lebih tinggi. Jika demikian, prompt untuk kredensial akan ditampilkan.
Sertifikat pengembangan HTTPS berhasil dihapus dari mesin.

dotnet dev-certs https
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta kata sandi Anda. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Ada yang salah. Sertifikat pengembang HTTPS tidak dapat dibuat.

dotnet --info
.NET Core SDK (mencerminkan global.json apa pun):
Versi: 3.1.201.0
Komit: b1768b4ae7

Lingkungan Runtime:
Nama OS: Mac OS X
Versi OS: 10.14.0
Platform OS: Darwin
RID: osx.10.14-x64
Jalur Dasar: /usr/local/share/dotnet/sdk/3.1.201/

Tuan rumah (berguna untuk dukungan):
Versi: 3.1.3.0
Komit: 4a9f85e9f8

.NET Core SDK diinstal:
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]

Runtime .NET Core diinstal:
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]

Untuk menginstal runtime atau SDK .NET Core tambahan:
https://aka.ms/dotnet-download

pastikan KeyChain Anda tidak terkunci @fcbogle. Saya juga akan merekomendasikan untuk menggunakan KeyChain dan mencari sertifikat localhost apa pun.

Hai @wfurt terima kasih atas komentar Anda.
Saya telah melakukan apa yang Anda sarankan (menghabiskan berjam-jam mencoba men-debug ini). Ini adalah keluaran dari mesin saya. Saya meningkatkan macos saya menjadi catalina tadi malam. Detail sistem dan keluaran manajemen kunci di bawah ini:

dotnet --info
.NET Core SDK (mencerminkan global.json apa pun):
Versi: 3.1.201.0
Komit: b1768b4ae7

Lingkungan Runtime:
Nama OS: Mac OS X
Versi OS: 10.15.0
Platform OS: Darwin
RID: osx.10.15-x64
Jalur Dasar: /usr/local/share/dotnet/sdk/3.1.201/

Tuan rumah (berguna untuk dukungan):
Versi: 3.1.3.0
Komit: 4a9f85e9f8

.NET Core SDK diinstal:
3.1.201 [/ usr / local / share / dotnet / sdk]

Runtime .NET Core diinstal:
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]

Untuk menginstal runtime atau SDK .NET Core tambahan:
https://aka.ms/dotnet-download

================================================== =====================
dotnet dev-certs https - periksa
Tidak ditemukan sertifikat yang valid.
dotnet dev-certs https --percaya
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Mempercayai sertifikat pengembangan HTTPS telah diminta. Jika sertifikat belum dipercaya kami akan menjalankan perintah berikut:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Perintah ini mungkin meminta kata sandi Anda untuk menginstal sertifikat di rantai kunci sistem.
Ada kesalahan saat menyimpan sertifikat pengembang HTTPS ke penyimpanan sertifikat pribadi pengguna saat ini.

dotnet dev-certs https -t -v
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Mempercayai sertifikat pengembangan HTTPS telah diminta. Jika sertifikat belum dipercaya kami akan menjalankan perintah berikut:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Perintah ini mungkin meminta kata sandi Anda untuk menginstal sertifikat di rantai kunci sistem.
Mencantumkan sertifikat 'HTTPS' di 'CurrentUser \ My'.
Mencantumkan sertifikat 'HTTPS' di 'LocalMachine \ My'.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memeriksa validitas sertifikat.
Mencantumkan sertifikat yang valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Mencantumkan sertifikat yang tidak valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memfilter sertifikat yang ditemukan untuk yang memiliki subjek sama dengan 'CN = localhost'
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Sertifikat pencatatan dikecualikan dari pertimbangan.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Tidak ada sertifikat yang valid di mesin ini. Mencoba membuatnya.
Menyimpan sertifikat ke dalam penyimpanan sertifikat.
Terjadi kesalahan saat menyimpan sertifikat di penyimpanan sertifikat 'CurrentUser \ My'.
Pesan pengecualian: Gantungan kunci default tidak dapat ditemukan.
Ada kesalahan saat menyimpan sertifikat pengembang HTTPS ke penyimpanan sertifikat pribadi pengguna saat ini.

Adakah kemungkinan Anda melakukan ini melalui SSH atau pada sistem di mana Anda tidak login di GUI?

Saya dapat mereproduksi kegagalan serupa ketika saya ssh 127.0.0.1 pertama dan kemudian menjalankan perintah yang sama sebagai pengguna yang sama. Sekarang, ketika Keychain dikunci dan aplikasi membutuhkan akses, OS akan meminta dialog kata sandi untuk membukanya. Itu tidak mungkin melalui SSH (atau tanpa sesi GUI) dan operasi kripto akan gagal.
Jika ini masalahnya, Anda perlu menjalankan security unlock-keychain dan itu akan meminta Anda memasukkan kata sandi masuk dan itu akan membuka kunci Rantai Kunci untuk sesi itu. Bagian ini tidak khusus untuk Catalina.

Saya juga mencoba membuat sertifikat saat menjalankan sebagai pengguna "standar" dan selalu gagal dengan keluhan bahwa pengguna tidak ada dalam daftar tiba-tiba. Mungkin tidak jelas apa yang sedang terjadi dan saya bertanya-tanya apakah kita dapat memeriksanya di awal atau jika kita bisa mendapatkan panduan yang lebih baik @javiercn.

Saya melewatkan keychain could not be found. dari kiriman Anda @fcbogle ketika saya menulis tanggapan saya sebelumnya. Bisakah Anda menjalankan security list-keychains dan security default-keychain ?
Apakah Anda menjalankan aplikasi KeyChain Access ? Anda harus melihat setidaknya System dan Login gantungan kunci di sana.

Hai @wfurt di sini adalah keluaran dari perintah tersebut. Terima kasih telah melihatnya!
gantungan kunci daftar keamanan
"/Library/Keychains/System.keychain"
keamanan default-keychain
keamanan: SecKeychainCopyDefault: Gantungan kunci default tidak dapat ditemukan.

Ini Keychain saya:
image

Saya pikir kami berada di jalur yang benar. Perintah daftar tidak menampilkan rantai kunci masuk Anda dan default tidak disetel. Ketika saya menjalankan ini di sistem saya, saya mendapatkan:

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

Sekarang, aneh bahwa aplikasi menampilkan rantai kunci Login sementara alat baris perintah tidak.
Jika Anda mengklik kanan pada gantungan kunci Login apakah ada opsi "Jadikan Default"? Dan jika ya, apakah itu akan mengubah output dari perintah? Saya tidak tahu bagaimana mendapatkan lokasi gantungan kunci di gui tetapi menjadikannya default dapat membantu.

Dapatkah Anda juga memverifikasi nilai variabel lingkungan HOME ? Ketika saya membatalkannya atau mengarahkannya ke lokasi yang "salah", saya mendapatkan hasil yang sama dengan Anda.

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

Terima kasih! Ok, saya harus memperbaiki variabel lingkungan $ HOME saya yang sudah selesai.
Berikut adalah keluaran sekarang dari perintah sebelumnya termasuk variabel $ 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$

Sepertinya saya memiliki string kosong: "" di gantungan kunci. Saya tidak bisa melihatnya di UI

Saya akan mencadangkan rantai kunci Anda yang ada dan Anda dapat mencoba menghapusnya dengan security delete-keychain . Namun, tidak masalah untuk memiliki lebih banyak Gantungan Kunci sehingga Anda tidak perlu repot. Apakah dotnet dev-certs https --trust sekarang berfungsi untuk Anda?
Perhatikan bahwa HOME digunakan untuk hal-hal lain juga - seperti cache paket dan file .NET lainnya.

Hai @wfurt - sukses. Terima kasih atas bantuan Anda menyelesaikan ini! Saya sangat menghargai bantuan Anda!
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.

Saya senang itu berhasil. Saya tahu tidak selalu jelas apa yang sedang terjadi dan Catalina tidak membuatnya lebih mudah.

Masalah tetap ada di Ubuntu 18.04 saat menggunakan dotnet-sdk-3.1.201.

Jika Anda mengalami masalah di Linux, buka edisi baru @ajbozdar. Semua diskusi di sini khusus untuk macOS, khususnya Catalina karena memiliki implementasi dan batasan yang berbeda.
Hanya bagian yang relevan adalah bahwa Linux juga bergantung pada variabel HOME untuk menemukan lokasi penyimpanan sertifikat pengguna dan file .NET lainnya.

Bagi saya, masalah diselesaikan dengan menjalankan perintah berikut:

  • dotnet dev-certs https --clean ini akan membersihkan sertifikat pengembangan HTTPS dari mesin, ini mungkin meminta Anda untuk memasukkan kata sandi Anda.

Kemudian, saya menjalankan perintah berikut:

  • dotnet dev-certs https --trust

Dan akhirnya, sertifikat pengembang HTTPS berhasil dibuat

Solusi yang diusulkan oleh @javiercn dalam file batch -nya berhasil untuk saya, cukup ganti kata sandi tempatnya dan itu bekerja dengan sangat baik! Terima kasih.

Skrip dari @javiercn juga bekerja dengan lancar untuk saya. Terima kasih. Butuh satu hari bagiku untuk menyelesaikan ini.

Memperbarui

Bantu kami memecahkan masalah ini

Jika Anda mengalami masalah ini, dapatkah Anda mencoba hal-hal berikut dan memposting hasil Anda di sini?
Verifikasi bahwa identitas "localhost" sebenarnya ada di rantai kunci masuk:
security find-identity -p ssl-server -s localhost ~/Library/Keychains/Login.keychain

Jalankan perintah di bawah ini secara manual:
sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 ~/Library/Keychains/Login.keychain

Verifikasi apakah ada entri partisi kunci:
security dump-keychain -a ~/Library/Keychains/Login.keychain | grep -sirB 3 -A 1 UBF8T346G9

Kumpulkan sysdiagnose (sudo sysdiagnose) dan bagikan dengan kami secara pribadi ( JANGAN posting file tentang masalah ini )

sehubungan dengan # 21592 Saya mendapatkan ini dari gantungan kunci saya
Mencari identitas yang cocok dengan "localhost"

Kebijakan: SSL (server)
Identitas yang cocok
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 identitas ditemukan

Hanya identitas yang valid
1) 161E0C4142F4E5230E6AD64BE895E15AF57004B7 "localhost"
1 identitas valid ditemukan
ketika saya memeriksa secara visual saya melihat dua sertifikat, satu adalah root CA

UI web yang saya coba jalankan masih gagal dengan kesalahan sertifikat

Screenshot 2020-05-07 at 21 56 13

Saya menjalankan generate.sh, tetapi sepertinya tidak berhasil

./generate.sh
Menghasilkan kunci pribadi RSA 2048 bit
...... +++
.................................................. .......... +++

menulis kunci pribadi baru ke 'key.pem'

1 identitas diimpor.
Kata sandi:
kata sandi untuk membuka /Users/apple/Library/Keychains/login.keychain-db:
keychain: "/Users/apple/Library/Keychains/login.keychain-db"
versi: 512.0
kelas: 0x00000011
atribut:
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=
keamanan: SecKeychainItemCopyAccess: Nilai yang hilang terdeteksi.

dotnet --info
.NET Core SDK (mencerminkan global.json apa pun):
Versi: 3.1.201.0
Komit: b1768b4ae7

Lingkungan Runtime:
Nama OS: Mac OS X
Versi OS: 10.15.0
Platform OS: Darwin
RID: osx.10.15-x64
Jalur Dasar: /usr/local/share/dotnet/sdk/3.1.201/

Tuan rumah (berguna untuk dukungan):
Versi: 3.1.3.0
Komit: 4a9f85e9f8

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

Runtime .NET Core diinstal:
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 langkah yang gagal adalah yang terakhir, set-key-partition-list satu, jadi Anda akan baik-baik saja jika Anda mencoba menjalankan aplikasi (Anda harus menutup dan membuka kembali browser)

ok ... jadi, saya bersihkan lagi. menyalin skrip solusi ke dalam file shell. menutup semua browser dan menjalankan skrip. menyeret aplikasi web ui di VS4Mac dan menjalankannya. itu meminta akses ke gantungan kunci (perilaku yang sangat berbeda dari semua kesempatan sebelumnya), yang saya berikan, dan voila ... itu berhasil .. jadi, terima kasih saya kepada Anda @javiercn , tetapi alangkah baiknya jika hal-hal ini tidak diperkenalkan (berulang kali) di tempat pertama (itu keluhan). :) Saya akan menyimpan skrip untuk referensi di masa mendatang ...;)

Perubahan Catalina bukanlah pilihan .NET @ thales-man. Saya tahu ini bisa membuat frustasi tetapi kami hanya berusaha untuk mengikutinya.

tidak, tetapi Anda adalah organisasi multi miliar dolar yang mencoba mendapatkan tempat lain yang sama dengan java 20 tahun yang lalu

@XiaroanZhang langkah yang gagal adalah yang terakhir, set-key-partition-list satu, jadi Anda akan baik-baik saja jika Anda mencoba menjalankan aplikasi (Anda harus menutup dan membuka kembali browser)

Terima kasih banyak.👍 Berhasil

Halo semua,

Saya baru saja mengalami masalah yang sama. Saya berhasil menyiasatinya dengan mengizinkan mempercayai sertifikat localhost yang dihasilkan setelah mencoba menjalankan aplikasi.

Anda masih harus memasukkan kata sandi rantai kunci Anda setiap kali Anda mencoba menjalankan, dan terminal akan tetap mengatakan bahwa aplikasi tersebut gagal, tetapi sebenarnya akan berjalan di browser seperti yang diharapkan.

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

Halo semua,

Saya baru saja mengalami masalah yang sama. Saya berhasil menyiasatinya dengan mengizinkan mempercayai sertifikat localhost yang dihasilkan setelah mencoba menjalankan aplikasi.

Anda masih harus memasukkan kata sandi rantai kunci Anda setiap kali Anda mencoba menjalankan, dan terminal akan tetap mengatakan bahwa aplikasi tersebut gagal, tetapi sebenarnya akan berjalan di browser seperti yang diharapkan.

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

jalankan skrip oleh @javiercn dalam file batch-nya dan masalahnya akan hilang. lalu tunggu perbaikan yang tepat.

Saya di sini untuk mengonfirmasi bahwa saya juga mengalami masalah ini, dan saya menjalankan di Mojave (10.14.6). Yang memicunya adalah penginstalan 3.1.300 SDK malam ini, sehingga saya dapat menjalankan bit Blazor WASM yang baru. Saya dengan senang hati mengembangkan dengan HTTPS lokal pada siang hari, dan sebelum hari ini. Saya sebelumnya menjalankan SDK 3.1.100.

Diagnosis mengikuti; penting untuk dicatat bahwa saya menjalankan sebagian besar sebagai pengguna biasa ( jim ) yang bukan admin atau dalam file sudoers. Saya menjalankan hal-hal yang ditinggikan sebagai Administrator / admin . Begitu...

  1. Saya telah membersihkan semua sertifikat bernama localhost dari rantai kunci login pengguna jim. Hapus juga dari rantai kunci Sistem.
  2. Menjalankan admin Saya menjalankan dotnet dev-certs https --trust dan diminta untuk memasukkan informasi. Perintah berhasil diselesaikan.
  3. Menjalankan perintah security find-identity ... sebagai jim , saya mendapatkan 0 identitas ditemukan, 0 identitas cocok.
  4. Menjalankan perintah security find-identity ... sebagai admin , saya mendapatkan 1 identitas ditemukan, 1 identitas valid ditemukan.
  5. Sidik jari yang ditampilkan di 4 cocok dengan sidik jari pada sertifikat localhost yang dapat saya lihat di Keychain Access pada gantungan kunci System (saat masuk ke desktop Mac sebagai jim sehari-hari saya
  6. Saya menjalankan perintah sudo security set-key-partition-list ... sebagai admin , berjalan dengan sukses.
  7. Saya menjalankan perintah security dump-keychain ... tetapi tidak yakin apa yang saya cari, hasilnya ada di sini -> dump-keychain.txt

Jika saya kemudian menjalankan server web Kestrel sederhana yang dikonfigurasi untuk mendengarkan HTTPS sebagai admin , maka semuanya baik-baik saja.

Namun jika saya mencoba melakukan hal yang sama dengan pengguna jim saya, saya mendapatkan pengecualian berikut:

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)

Saya sangat ingin mendapatkan kembali kemampuan untuk menjalankan situs HTTPS di Kestrel dari pengguna biasa jim saya, seperti yang saya bisa sebelum SDK 3.1.100. Terima kasih!

Saya memiliki file sysdiagnose yang dapat saya bagikan ke alamat email yang dikonfirmasi dan aman dengan benar.

Satu proposal ... apakah mungkin untuk memperbarui dev-certs dengan opsi yang tidak mencoba untuk mengkonfigurasi sertifikat sebagai sistem bersama (setidaknya di MacOS)? Selama ada sertifikat localhost di gantungan kunci Login saya, apakah itu cukup untuk pengembangan lokal?

Sunting: Saya telah mencopot pemasangan versi terbaru SDK dan kembali ke 3.1.100. Saya membersihkan sertifikat localhost dari sistem dan login keychains jim dan admin . Dihasilkan lagi dengan dev-cert --trust sebagai pengguna admin. Sementara kestrel berjalan sebagai jim browser sedang diminta untuk sertifikat tidak tepercaya, yang dapat saya atasi tetapi tidak ideal.

FWIW. Saya mengalami masalah ini juga, bersama dengan masalah lain yang tidak terkait. Saya memiliki € masuk kata sandi saya dan setelah mengubah kata sandi saya menjadi hanya berisi, katakanlah lebih banyak karakter ramah ascii, kedua masalah saya terpecahkan.

Ini masih rusak. Apa yang membantu saya adalah menghapus semua sdks sampai saya kembali ke 3.1.100. Yang jelas rusak dengan setiap pembaruan yang dijalankan oleh VS.

Apakah ada yang keberatan untuk memperbaikinya ?!

@aspnetde kami sedang mengerjakan solusi untuk masalah ini.

SDK 5.0-preview4 SDK terbaru berisi versi terbaru dari alat yang memperbaiki masalah ini. Kami memiliki rencana untuk menambal LTS SDK saat ini setelah kami cukup yakin bahwa pendekatan baru tidak menimbulkan masalah tambahan.

Mengikuti langkah-langkah dari tautan ini memperbaiki masalah
memecahkan masalah-masalah-sertifikat

OS X - sertifikat tidak dipercaya

  • Buka Akses KeyChain.
  • Pilih rantai kunci Sistem.
  • Periksa keberadaan sertifikat localhost.
  • Periksa apakah itu berisi simbol + pada ikon untuk menunjukkan itu dipercaya untuk semua pengguna.
  • Hapus sertifikat dari rantai kunci sistem.
  • Jalankan perintah berikut:
    dotnet dev-certs https --clean
    dotnet dev-certs https --percaya

Tidak ada dari posting di atas yang berfungsi. Saya menggunakan Catalina 10.15.5 dengan SDK 5.0.100-PREVIEW.6.20318.15

Setiap kali saya menjalankan aplikasi, saya diminta untuk menginstal sertifikat. Saya memasukkan kata sandi saya, sertifikat dibuat, tetapi kemudian saya mendapatkan:

_System.InvalidOperationException: "Tidak dapat mengonfigurasi titik akhir HTTPS. Tidak ada sertifikat server yang ditentukan, dan sertifikat pengembang default tidak dapat ditemukan atau kedaluwarsa. \ NUntuk membuat sertifikat pengembang, jalankan 'dotnet dev-certs https'. Untuk mempercayai sertifikat (khusus Windows dan macOS) jalankan 'dotnet dev-certs https --trust'. \ nUntuk informasi selengkapnya tentang konfigurasi HTTPS, lihat https://go.microsoft.com/fwlink/?linkid=848054. "_

Tolong bantu!

@ChadNedzlek terima kasih telah memberi tahu kami.

Preview6 seharusnya benar-benar berfungsi, karena kami beralih ke pendekatan berbeda yang tidak memiliki masalah ini. Bisakah Anda memberi kami detail lebih lanjut tentang lingkungan Anda?

Dapatkah Anda memastikan bahwa Anda tidak memiliki sertifikat localhost di rantai kunci Anda (bukan di rantai kunci pengguna dan bukan di rantai kunci sistem), jalankan alat dengan dotnet dev-certs https --trust dan periksa apakah ada sertifikat di rantai kunci? (Anda mungkin perlu menutup dan membuka gantungan kunci).

@javiercn Hai Javier, terima kasih sudah

1
SystemCerts

2
LoginCerts

3
AfterTrust

4
SystemCertsAfter

5
LoginCertsAfter

6
Prompt

7
VSError

@ChamaCR Terima kasih atas detailnya. Saya menduga Anda mungkin memiliki versi VS 4 Mac lama yang menggunakan SDK 3.1 dan itu menyebabkan masalah karena menginstal sertifikat kedua dengan metode lama (yang tampaknya rusak pada mesin Anda).

Dapatkah Anda membersihkan rantai kunci Anda lagi (maaf untuk ini, saya tahu ini menyakitkan) dan mencoba menjalankan aplikasi dari baris perintah? Pastikan dotnet --info mencerminkan SDK preview6

@javiercn maaf atas keterlambatannya, kemarin ada beberapa tugas yang harus saya jalankan. Saya menggunakan Visual Studio untuk versi Mac terbaru. dotnet --info memang menunjukkan versi SDK preview6 yang benar.

Saya akhirnya menghapus VS + SDK ... dan saya membuat bootcamp dengan WIN10 sekarang :(

@ChamaCR jika itu terjadi lagi, Anda dapat menjalankan alat dari baris perintah dengan --debug dan menangkap jejak dengan dotnet-trace. Itu akan membantu kita mengetahuinya di masa depan.

Aku mengalami masalah yang sama. Saya baru saja memperbarui ke 3.1.301 malam ini, sebelumnya memiliki 3.1.10x (Saya tidak dapat mengingat nomor minornya).

Saya menggunakan skrip dari https://dotnet.microsoft.com/download/dotnet-core/scripts untuk menginstal 3.1.301 terlebih dahulu, tetapi tampaknya itu tidak mengaturnya di tempat yang diharapkan. Saya masih melihat 3.1.10x berjalan. Jadi, saya mengunduh penginstal paket dan pengaturan 3.1.301 itu seperti yang diharapkan.

Saya menggunakan dotnet new blazorwasm -o CICalc dan kemudian dotnet run . Saya mengalami masalah ini. Saya telah menginstal beberapa SDK 2.2.x, jadi saya menghapusnya menggunakan alat uninstall dotnet.

Saya tidak bisa melewati tahap pembuatan sertifikat. Saya dapat melihat bahwa ada penyiapan sertifikat di Rantai Kunci, tetapi tidak dipercaya. Saya telah mencoba skrip yang ditautkan ke halaman ini, tetapi memberi saya hasil yang sama.

Saya dapat mengubah pengaturan tepercaya untuk HTTPS di rantai kunci, yang kemudian memungkinkan saya untuk melanjutkan. Saya tidak yakin apakah itu semua yang coba dilakukan oleh opsi -percayaan. Apakah ini solusi yang cukup atau apakah saya akan mengalami masalah lain?

Detail lainnya di bawah.

Terima kasih,

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]

Saya telah menghapus sertifikat localhost secara manual dari Akses Keychain.

% dotnet dev-certs https --clean
Membersihkan sertifikat pengembangan HTTPS dari mesin. Operasi ini mungkin membutuhkan hak yang lebih tinggi. Jika demikian, prompt untuk kredensial akan ditampilkan.
Sertifikat pengembangan HTTPS berhasil dihapus dari mesin.
% dotnet dev-certs https
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Kata sandi:
kata sandi untuk membuka /Users/neil/Library/Keychains/login.keychain-db:
keychain: "/Users/neil/Library/Keychains/login.keychain-db"
versi: 512.0
kelas: 0x00000011
atribut:
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=
keamanan: SecKeychainItemCopyAccess: Nilai yang hilang terdeteksi.

Di platform yang sama dengan pesan sebelumnya, saya menjalankan:
% dotnet dev-certs https --verbose

Outputnya adalah:

Mencantumkan sertifikat 'HTTPS' di 'CurrentUser \ My'.
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Benar
Memeriksa validitas sertifikat.
Mencantumkan sertifikat yang valid
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Benar
Mencantumkan sertifikat yang tidak valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Mencantumkan sertifikat 'HTTPS' di 'LocalMachine \ My'.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memeriksa validitas sertifikat.
Mencantumkan sertifikat yang valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Mencantumkan sertifikat yang tidak valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memfilter sertifikat yang ditemukan untuk yang memiliki subjek sama dengan 'CN = localhost'
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - C5F12C7AACE0803C8DBCEC2F5B3650D7D8A08056 - 02/07/2020 01:19:42 - 02/07/2021 01:19:42 - Benar
Sertifikat pencatatan dikecualikan dari pertimbangan.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Gagal membuat kunci sertifikat dapat diakses
Pesan pengecualian: Kesalahan saat membuat kunci dapat diakses di seluruh partisi.
Ada yang salah. Sertifikat pengembang HTTPS tidak dapat dibuat.

Saya juga mengalami pesan yang sama persis dari @digidol yang memberi tahu saya bahwa nilai yang hilang terdeteksi saat mencoba membuat dev-certs melalui:
% dotnet dev-certs https

Saya juga menjalankan MacOS Catalina 10.15.5 dan Visual Studio terbaru dengan .NET Core SDK 3.1.301 terbaru.

Saya mungkin memiliki solusi potensial untuk mendapatkan debugging untuk bekerja di Visual Studio, meskipun. Inilah yang saya lakukan:

  1. Buka Visual Studio dan buat aplikasi Web baru (MVC)
  2. Saya memilih .NET Core 3.1 dan No Authentication (tidak yakin apakah ada bedanya)
  3. Jalankan proyeknya
  4. Saat diminta untuk menjalankan perintah dotnet dev-certs https, klik Cancel
  5. Saat diminta untuk tetap menjalankan aplikasi, klik Jalankan
  6. Studio visual harus mengkompilasi dan menjalankan kode, dan membuka situs di browser Anda, tetapi browser akan mengatakan bahwa situs tersebut tidak tepercaya.
  7. Klik opsi di browser untuk melanjutkan dengan risiko Anda sendiri, dan beri tahu untuk mempercayai sertifikat. Saya perlu memasukkan kata sandi saya pada saat itu.
  8. Setelah itu, situs dimuat dengan baik dan masih ditautkan ke debugger.
  9. Setiap kali Anda ingin menjalankan aplikasi, Anda harus mengklik Batalkan lalu Jalankan, tetapi browser harus ingat bahwa sertifikat tersebut dipercaya.

Sekali lagi, bukan solusi, tetapi sepertinya solusi yang layak, hingga bug dapat diatasi. Saya harap ini membantu.

John D.

@jdelano apakah skrip yang dijelaskan di sini tidak memperbaiki masalah Anda? https://gist.github.com/javiercn/d04855b7a3581bf97d1ab9597935413f#file -generate-sh

Terima kasih banyak @javiercn ,
Satu hal; memperbarui skrip untuk menghapus sertifikat localhost dihasilkan sebelumnya pasti menyenangkan. Jika Anda menjalankan skrip tanpa menghapus localhost sertifikat yang ada, Anda akan mendapatkan banyak sertifikat dan itu tidak akan menyelesaikan masalah.

@ardaozceviz Saya tidak begitu yakin bagaimana melakukannya tanpa mengambil risiko menghapus sertifikat localhost lainnya, itulah mengapa saya tidak melakukannya. Pada intisari yang sama terdapat instruksi untuk menghapus sertifikat secara manual menggunakan rantai kunci.

@javiercn Sayangnya, skrip juga tidak berfungsi. Saya mendapatkan pesan bahwa nilai yang hilang terdeteksi.

@jdelano Apakah saat menjalankan perintah ini? udo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 $loginKeyChain; Anda dapat mengabaikannya dan ini akan tetap berfungsi. Aku sudah mengeluarkannya dari naskah.

@javiercn Oke, tapi saya masih mendapatkan pesan di Visual Studio bahwa sertifikat pengembangan yang valid tidak ditemukan dan perlu menjalankan perintah dev-certs lagi. Saya dapat mengklik batal dan aplikasi berjalan, tetapi saya tidak yakin betapa berbedanya perilaku itu dari apa yang saya posting di atas dalam solusi saya.

@jdelano apakah Anda membersihkan sertifikat pada pengguna dan

@javiercn Oke, saya melalui semua langkah lagi, dan kali ini berhasil! Saya tidak yakin apa yang saya lewatkan sebelumnya. Sangat aneh. Terima kasih untuk naskahnya!

@jdelano tidak masalah, masalah ini harus diperbaiki dalam pratinjau terbaru dari .NET Core 5.0 dan semoga kami akan mem-backportnya ke 3.1 setelah kami memvalidasinya tidak merusak orang lain.

Visual Studio memperbaiki sertifikat untuk saya setelah penginstalan ulang, itu hanya meminta kata sandi AppStore

Apa yang saya perhatikan adalah bahwa tidak peduli berapa kali saya menjalankan dotnet dev-certs https --clean; dotnet dev-certs https --trust itu tidak akan memperbaiki masalah sampai saya menginstal ulang sdk inti dotnet. Jadi saya melakukan pengembangan aktif untuk dua proyek klien - satu menggunakan dotnet core 2.2 dan lainnya menggunakan dotnet core 3.1. Tampaknya sertifikat localhost tepercaya yang valid yang dipasang menggunakan satu sdk tidak akan berfungsi di yang lain. Penerbitan ulang sertifikat, restart mesin, tidak melakukan apa-apa. Satu-satunya hal yang membantu adalah menginstal ulang sdk yang relevan setiap kali saya beralih project. Tampaknya Microsoft memiliki beberapa bug di mana sdks tidak dapat membagikan alat dotnet-dev-certs, dan menginstal satu sdk akan menimpa beberapa file di dotnet-dev-certs. Tampaknya tidak dibuat dengan sangat kokoh.

Hai! Saya menghadapi masalah yang sama, dan saya tidak bisa mendapatkan cara yang benar untuk solusinya.

macOS Catalina 10.15.6.0

dotnet --info
.NET Core SDK (mencerminkan global.json apa pun):
Versi: 3.1.302.0
Komit: 41faccf259

Lingkungan Runtime:
Nama OS: Mac OS X
Versi OS: 10.15.0
Platform OS: Darwin
RID: osx.10.15-x64
Jalur Dasar: /usr/local/share/dotnet/sdk/3.1.302/

Tuan rumah (berguna untuk dukungan):
Versi: 3.1.6.0
Komit: 3acd9b0cd1

.NET Core SDK diinstal:
3.1.302 [/ usr / local / share / dotnet / sdk]

Runtime .NET Core diinstal:
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]

Untuk menginstal runtime atau SDK .NET Core tambahan:
https://aka.ms/dotnet-download

Saya sudah menghapus sertifikat "localhost" dari UI rantai kunci.

Saat saya lari:

gantungan kunci daftar keamanan
"/Users/fabrizio/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

keamanan default-keychain
"/Users/fabrizio/Library/Keychains/login.keychain-db"

Kelihatannya bagus, tetapi ketika saya mencoba membuat sertifikat, saya tidak bisa

Dan tentang infonya:
dotnet dev-certs https -t -v
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/2.1/troubleshootcertissues
Sertifikat HTTPS yang valid dengan kunci yang dapat diakses di seluruh partisi keamanan tidak ditemukan. Perintah berikut akan dijalankan untuk memperbaikinya:
'sudo security set-key-partition-list -D localhost -S unsigned :, teamid: UBF8T346G9 '
Perintah ini akan membuat kunci sertifikat dapat diakses di seluruh partisi keamanan dan mungkin meminta Anda memasukkan kata sandi. Untuk informasi lebih lanjut lihat: https://aka.ms/aspnetcore/3.1/troubleshootcertissues
Mempercayai sertifikat pengembangan HTTPS telah diminta. Jika sertifikat belum dipercaya kami akan menjalankan perintah berikut:
'sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <> '
Perintah ini mungkin meminta kata sandi Anda untuk menginstal sertifikat di rantai kunci sistem.
Mencantumkan sertifikat 'HTTPS' di 'CurrentUser \ My'.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memeriksa validitas sertifikat.
Mencantumkan sertifikat yang valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Mencantumkan sertifikat yang tidak valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Mencantumkan sertifikat 'HTTPS' di 'LocalMachine \ My'.
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - Salah
Memeriksa validitas sertifikat.
Mencantumkan sertifikat yang valid
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - Salah
Mencantumkan sertifikat yang tidak valid
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Memfilter sertifikat yang ditemukan untuk yang memiliki subjek sama dengan 'CN = localhost'
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - Salah
Sertifikat pencatatan dikecualikan dari pertimbangan.
'0' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
Sertifikat valid yang ditemukan ada di mesin.
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - Salah
Sertifikat yang dipilih
'1' ditemukan cocok dengan kriteria.
SUBJECT - THUMBPRINT - TIDAK SEBELUM - BERAKHIR - MEMILIKI KUNCI PRIBADI
CN = localhost - A9F70404AAE7E48F17B9781A71FA01CFD1FB7323 - 07/21/2020 20:47:47 - 07/21/2021 20:47:47 - Salah
Mencoba mengekspor sertifikat.

Terima kasih sebelumnya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat