Der Browser ist mit der für HTTP2 verwendeten Verschlüsselung nicht zufrieden (ich denke)
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
und gleichwertig in Chrom
nur für Firefox
Ich habe es geschafft, in about:config
und die schwache Chiffrierprüfung zu deaktivieren. Dies hat tatsächlich einen Effekt
Gibt es eine einfache Möglichkeit, HTTP2 über einen Kestrel IOptions<>
vollständig zu deaktivieren?
Schritte zum Reproduzieren des Verhaltens:
2.2.105
und 3.0.0-preview3
von https://dot.netdotnet new webapi -n foo
UseHsts
UseHttpsRedirection()
dotnet run --project foo.csproj
http
Endpunkt => funktionierthttps
Endpunkt => abgelehntIch versuchte zu :
dotnet dev-certs http --clean
dotnet dev-certs http --trust
.vs/
launchSettings.json
in etwas anderesUseHttpsRedirection()
UseHsts()
Ich bin mir ziemlich sicher, dass alles, was ich getan habe, das Update von Vs2019 war. Es wurde vor 2 Wochen auf demselben SDK (oder dem neuesten Win10-Insider - schnelles Ring-Update) ausgeführt.
>dotnet --version
3.0.100-preview3-010431
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0-preview3-19153-02" />
</ItemGroup>
</Project>
Auf welchem Betriebssystem ist der Server? Wir haben dies auf 2012 / Win8 gesehen.
Sie können HTTP / 2 mit den folgenden Optionen deaktivieren:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#listenoptionsprotocols
Z.B:
{
"Kestrel": {
"EndPointDefaults": {
"Protocols": "Http1"
}
}
}
Siehe Plattformanforderungen hier:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#http2 -support
Windows 10 - Schneller Ring Insider
Vs2019 Vorschau
Vorschau von netcoreapp3.0.0
(Haufen Randmaterial ^^)
hat letzte Woche gut funktioniert. Wurde seitdem von einem Insider-Bump + der neuesten Vorschau auf vs2019 getroffen
Es wurde auch versucht, 2 Registrierungsschlüssel hinzuzufügen, um HTTP2 für den Win2016-Server zu deaktivieren.
es hatte keine Auswirkung auf einen Browser
Diese Registrierungsschlüssel gelten nur für IIS / Http.Sys. Ich frage mich, ob Insider eine Regression haben. @ Shirhatti
Ist es eine Möglichkeit, Entwickler wissen zu lassen, dass sie auf einem Server ausgeführt werden, der möglicherweise so endet?
Zum Beispiel eine dotnet tool
-Verschlüsselung, die auf dem aktuellen Computer / Server verwendet werden kann, z. B. Farben, um eine potenziell schwache Verschlüsselung anzuzeigen, und so weiter.
Oder ein Boolescher Wert, um den Server aggressiv und ausfallsicher zu machen, wenn die aufgelistete Verschlüsselung beim Start zu schwach ist.
Dies würde erfordern, die Liste der "akzeptablen" zu kennen, und ich habe wirklich keine Ahnung, ob eine solche Liste existiert und ob es überhaupt möglich ist
Ich habe lange gebraucht, um zu erkennen, woher es kam
Können Sie die spezifische Windows-Build-Nummer angeben?
Wir würden diese Art von Werkzeug nur hinzufügen, wenn wir nicht mehr sagen könnten, dass es bei allen rtm win10-Builds funktioniert.
Ab dem 1803-Update können Sie mit IIS Http.Sys pro Bindung steuern. Sie müssen HTTP / 2 nicht mehr für den gesamten Server deaktivieren.
Davon abgesehen sollte der globale Registrierungsschlüssel weiterhin funktionieren. Können Sie Ihre Windows-Build-Nummer teilen und ich werde sie untersuchen
@ Shirhatti sie benutzen Turmfalke.
Whoops 🤦♂️. Ignoriere meinen vorherigen Kommentar.
auch ich möchte Http2 wirklich nicht deaktivieren, wenn es behoben werden kann;)
@ Tratcher
hilft das
> systeminfo
OS Version: 10.0.18362 N/A Build 18362
OS Configuration: Standalone Workstation
> Get-TlsCipherSuite
KeyType : 0
Certificate :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange :
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 4866
CipherSuite : 4866
Cipher : AES
Name : TLS_AES_256_GCM_SHA384
Protocols : {772}
KeyType : 0
Certificate :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange :
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 4865
CipherSuite : 4865
Cipher : AES
Name : TLS_AES_128_GCM_SHA256
Protocols : {772}
KeyType : 0
Certificate :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange :
HashLength : 0
Hash :
CipherBlockLength : 0
CipherLength : 0
BaseCipherSuite : 0
CipherSuite : 0
Cipher :
Name : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Protocols : {}
KeyType : 0
Certificate : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49195
CipherSuite : 49195
Cipher : AES
Name : TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 49200
CipherSuite : 49200
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49199
CipherSuite : 49199
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 1024
MinimumExchangeLength : 1024
Exchange : DH
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 159
CipherSuite : 159
Cipher : AES
Name : TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 1024
MinimumExchangeLength : 1024
Exchange : DH
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 158
CipherSuite : 158
Cipher : AES
Name : TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange :
HashLength : 0
Hash :
CipherBlockLength : 0
CipherLength : 0
BaseCipherSuite : 0
CipherSuite : 0
Cipher :
Name : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
Protocols : {}
KeyType : 0
Certificate : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 256
Hash : SHA256
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49187
CipherSuite : 49187
Cipher : AES
Name : TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 384
Hash : SHA384
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 49192
CipherSuite : 49192
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 256
Hash : SHA256
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49191
CipherSuite : 49191
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 49162
CipherSuite : 49162
Cipher : AES
Name : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49161
CipherSuite : 49161
Cipher : AES
Name : TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 49172
CipherSuite : 49172
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange : ECDH
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 49171
CipherSuite : 49171
Cipher : AES
Name : TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 157
CipherSuite : 157
Cipher : AES
Name : TLS_RSA_WITH_AES_256_GCM_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 156
CipherSuite : 156
Cipher : AES
Name : TLS_RSA_WITH_AES_128_GCM_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 256
Hash : SHA256
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 61
CipherSuite : 61
Cipher : AES
Name : TLS_RSA_WITH_AES_256_CBC_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 256
Hash : SHA256
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 60
CipherSuite : 60
Cipher : AES
Name : TLS_RSA_WITH_AES_128_CBC_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 53
CipherSuite : 53
Cipher : AES
Name : TLS_RSA_WITH_AES_256_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 160
Hash : SHA1
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 47
CipherSuite : 47
Cipher : AES
Name : TLS_RSA_WITH_AES_128_CBC_SHA
Protocols : {769, 770, 771, 65279...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 160
Hash : SHA1
CipherBlockLength : 8
CipherLength : 168
BaseCipherSuite : 10
CipherSuite : 10
Cipher : 3DES
Name : TLS_RSA_WITH_3DES_EDE_CBC_SHA
Protocols : {769, 770, 771, 768...}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 256
Hash : SHA256
CipherBlockLength : 1
CipherLength : 0
BaseCipherSuite : 59
CipherSuite : 59
Cipher :
Name : TLS_RSA_WITH_NULL_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange : RSA
HashLength : 160
Hash : SHA1
CipherBlockLength : 1
CipherLength : 0
BaseCipherSuite : 2
CipherSuite : 2
Cipher :
Name : TLS_RSA_WITH_NULL_SHA
Protocols : {769, 770, 771, 768...}
KeyType : 0
Certificate :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange :
HashLength : 0
Hash :
CipherBlockLength : 0
CipherLength : 0
BaseCipherSuite : 0
CipherSuite : 0
Cipher :
Name : TLS_PSK_WITH_AES_256_GCM_SHA384
Protocols : {}
KeyType : 0
Certificate :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange : PSK
HashLength : 0
Hash :
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 168
CipherSuite : 168
Cipher : AES
Name : TLS_PSK_WITH_AES_128_GCM_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange : PSK
HashLength : 384
Hash : SHA384
CipherBlockLength : 16
CipherLength : 256
BaseCipherSuite : 175
CipherSuite : 175
Cipher : AES
Name : TLS_PSK_WITH_AES_256_CBC_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange : PSK
HashLength : 256
Hash : SHA256
CipherBlockLength : 16
CipherLength : 128
BaseCipherSuite : 174
CipherSuite : 174
Cipher : AES
Name : TLS_PSK_WITH_AES_128_CBC_SHA256
Protocols : {771, 65277}
KeyType : 0
Certificate :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange : PSK
HashLength : 384
Hash : SHA384
CipherBlockLength : 1
CipherLength : 0
BaseCipherSuite : 177
CipherSuite : 177
Cipher :
Name : TLS_PSK_WITH_NULL_SHA384
Protocols : {771, 65277}
KeyType : 0
Certificate :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange : PSK
HashLength : 256
Hash : SHA256
CipherBlockLength : 1
CipherLength : 0
BaseCipherSuite : 176
CipherSuite : 176
Cipher :
Name : TLS_PSK_WITH_NULL_SHA256
Protocols : {771, 65277}
@tebeco Können Sie uns eine Wireshark-Spur zur Verfügung stellen, damit wir genau sehen können, was verhandelt wird? Vielen Dank!
cc @anurse
Welchen Filter würde ich verwenden, um zu extrahieren, wonach Sie suchen? Ich bin mir ziemlich sicher, dass ich Daten verlieren kann, die ich auch nicht möchte
Ich habe auch Zweifel, dass ich tatsächlich etwas sehe:
info: Microsoft.AspNetCore.Server.Kestrel[20]
Connection id "xxxxxxxxxxxxxxxxxxx" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
--- End of inner exception stack trace ---
at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
at System.IO.Pipelines.Pipe.GetReadAsyncResult()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
Ich denke, dass ich Firefox vorerst weiterhin verwenden werde, um eine Aufnahme zu machen, aber ich wähle entweder schlechte Optionen bei der Installation von Wireshark (viele Fragen zu Loopback / WLAN / Admin usw.) und ich habe möglicherweise opt_out von zu vielen Optionen
Außerdem habe ich versucht, diesen Filter zu verwenden: tcp.port == 5043
(das soll der Kestrel-Port sein)
und ich sehe nichts
auch ich habe ja ja nicht deaktiviert H2, soooo ist das normal:
(Der doppelte gerundete Wert ist ein Bonus)
@ Shirhatti
würde wirklich gerne eine Wireshark-Aufnahme machen
Ich benutze einen Laptop (also Wifi) und benutze localhost als Turmfalke
auf einem Laptop, der jetzt ~ 6-8 Netzwerkadapter hat
Was ist der beste Weg, um eine saubere und schöne Aufnahme zu machen?
Welchen Erfassungsfilter sollte ich auch verwenden, um zu filtern, was Sie benötigen?
Ähnliches Problem: https://github.com/aspnet/AspNetCore/issues/8409
Ich kann dies auf 18356.21 reproduzieren und # 8409 berichtet es auch auf 18362.1.
Beachten Sie, dass es in IE und Edge funktioniert. Dies ist also ein Konflikt zwischen den von Windows unterstützten Chiffren und den von Chrome unterstützten Chiffren.
@ Tratcher
Nun, Chrome und Firefox
das ist ein bisschen böse
Es ist wahrscheinlich nicht so, dass das [dev] -Zertifikat selbst unsicher ist, sondern dass es nur mit bestimmten Verschlüsselungsanzügen kompatibel ist. dh ich glaube nicht, dass es mit EC-Chiffren funktioniert. Die Aushandlung greift auf zertifikatkompatible Chiffren zurück und findet anscheinend keine, die die HTTP / 2-Anforderungen erfüllt.
@ Tratchers Kommentar aus dem anderen Thread
Was kann ich machen um zu helfen ?
@tebeco Ich denke, wir haben jetzt genug, um weiterzumachen, danke.
In die Vorschau bringen5.
Wenn Sie können, können Sie Vs.net und IIS Express verwenden und auf diese Weise debuggen, da das IIS Express-Entwicklungszertifikat auch unter Windows Insider-Versionen ordnungsgemäß funktioniert. Löst das Problem vorerst für diejenigen, die dies treffen.
Ein weiterer Datenpunkt: Wir haben das Zertifikat von IIS Express in Kestrel getestet und es hat auch funktioniert. Wir werden sehen, was sich mit dem AspNetCore-Entwicklerzertifikat ändern muss.
@Tratcher Hast du Schritte dazu? Wäre vorerst eine süße Lösung. Ich bin froh, dass es funktioniert hat!
@anurse können Sie in Ihr Codebeispiel einfügen?
Ja. Wir beabsichtigen, unser Entwicklungszertifikat für 3.0 zu reparieren, aber als vorübergehende Problemumgehung können Sie das IIS Express-Entwicklungszertifikat direkt von Kestrel verwenden.
Dies funktioniert nur unter Windows (aber bisher wurde das Problem nur dort gemeldet) und erfordert, dass Sie IIS Express installiert und konfiguriert haben (die Installation von VS ist hierfür ausreichend). Sie müssen IIS Express nicht zum Hosten Ihrer Site verwenden , wir leihen nur das Entwicklungszertifikat aus :).
Zuerst müssen Sie Ihr IIS Express-Zertifikat im Benutzerzertifikatsspeicher finden und den Fingerabdruck abrufen. Das folgende PowerShell-Skript erledigt den Trick:
dir Cert:\CurrentUser\Root\ | Where { $_.FriendlyName -like "IIS Express*" } | Select Thumbprint
Sobald Sie den Fingerabdruck erhalten haben, können Sie ein kleines Stück Code in Program.cs
schreiben, um das Zertifikat aus dem Geschäft zu holen und es für Kestrel zu verwenden.
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
// Add this section below
webBuilder.ConfigureKestrel(options =>
{
options.ConfigureHttpsDefaults(ssl =>
{
// Open the Current User's Trusted Root Certificate store
var store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
// Find the IIS Express Certificate
var cert = store.Certificates.Find(X509FindType.FindByThumbprint, "<<put the hex thumbprint value in here>>", validOnly: false);
ssl.ServerCertificate = cert.Cast<X509Certificate2>().First();
});
});
});
}
@anurse Super ! Vielen Dank!
Wir müssen unser Entwicklerzertifikat aktualisieren. @javiercn ist das etwas, das du dir ansehen kannst? Das IIS Express Dev Cert in Win 10 18356 funktioniert einwandfrei, unser jedoch nicht. Wir müssen lediglich sicherstellen, dass wir die gleichen Anforderungen erfüllen.
Dies hat für Vorschau 5 hohe Priorität, da das Entwicklungszertifikat unter Windows 10 19H1 vollständig beschädigt ist.
cc @mkArtakMSFT
@anurse Nachdem ich das Problem gelesen habe, sollte es aber machbar sein. Muss @blowdart wissen lassen, aber wenn wir nur den Schlüssel für einen moderneren Schlüssel machen, sollte das in Ordnung sein. (Auch hier habe ich die Ausgabe nicht gelesen, aber ich stelle mir vor, dass es das ist).
Das ist mein Verständnis. Wie gesagt, wir wissen, dass das IIS Express-Zertifikat es richtig macht . Wir müssen nur herausfinden, was anders ist, und diese Änderung auch auf unser Zertifikat anwenden :).
@shirhatti Kennen Sie jemanden, der genau wissen würde, welche Änderungen am IIS-Zertifikat vorgenommen wurden? Könnte helfen, ein wenig in die Details des Zertifikats einzutauchen, wenn wir nur die vorgenommenen Änderungen kennen :)
Ich habe mir das angeschaut, indem ich einen Windows 10-Computer erstellt, auf den neuesten Insider-Build aktualisiert und vs installiert habe (damit IIS das Zertifikat installiert).
Ich konnte nichts auf dem Zertifikat sehen. Kann jemand ein "Arbeitszertifikat" exportieren und mit mir teilen, damit ich es mir ansehen kann? Ich brauche nur den öffentlichen Teil.
Hier sind beide, damit Sie vergleichen können. Beachten Sie außerdem, dass sich das ASP.NET Core-Zertifikat im persönlichen Speicher des aktuellen Benutzers und das IIS Express-Zertifikat im persönlichen Speicher des lokalen Computers befindet, wenn dies von Bedeutung ist.
@anurse Ich habe mir das
Meine Arbeitstheorie ist, dass die aufgelöste TLS-Suite zwischen beiden unterschiedlich ist. @Tratcher können Sie die ausgehandelte Suite für beide Zertifikate erhalten? Aus irgendeinem Grund wird mit unserem Zertifikat wahrscheinlich TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 nicht ausgewählt. (Das heißt Eliptic Curve Diffie-Helman Ephemeral für den Schlüsselaustausch, RSA für die Authentifizierung, AES128 Galois Counter Mode für die Verschlüsselung).
Auf dieser Grundlage besteht die wahrscheinliche Lösung darin, der Schlüsselnutzung einfach die digitale Signatur hinzuzufügen. Ich denke jedoch, dass es gerechtfertigt ist, die von Kestrel und IIS verwendeten Standard-Chiffresuiten zu betrachten und zu vergleichen, da ich vermute, dass Kestrel auf etwas inakzeptables herunterstuft, sodass eine Änderung unseres Zertifikats nur eine Band-Hilfe für das Problem darstellt und nicht richtig reparieren.
@anurse Mit dem folgenden Powershell-Snippet wird ein "aspnetcore-kompatibles" https-Zertifikat mit der Hinzufügung der digitalen Signatur erstellt. Ich habe versucht, dies auf den Insider-Builds von Win 10 zu wiederholen, und ich konnte es nicht. Können Sie jemanden im Team dazu bringen, es auszuprobieren?
Noch wichtiger ist, dass wir die von IIS und Kestrel angebotenen Cipher Suites überprüfen sollten.
function TryCreateAspNetCoreCertUsingPowershell () {
$ekuOidCollection = [System.Security.Cryptography.OidCollection]::new();
$ekuOidCollection.Add([System.Security.Cryptography.Oid]::new("1.3.6.1.5.5.7.3.1","Server Authentication"));
$sanBuilder = [System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder]::new();
$sanBuilder.AddDnsName("localhost");
$certificateExtensions = @(
# Subject Alternative Name
$sanBuilder.Build($true),
# ASP.NET Core OID
[System.Security.Cryptography.X509Certificates.X509Extension]::new(
"1.3.6.1.4.1.311.84.1.1",
[System.Text.Encoding]::ASCII.GetBytes("ASP.NET Core HTTPS development certificate"),
$false),
# KeyUsage
[System.Security.Cryptography.X509Certificates.X509KeyUsageExtension]::new(
[System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]::KeyEncipherment -bor [System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]::DigitalSignature,
$true),
# Enhanced key usage
[System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension]::new(
$ekuOidCollection,
$true),
# Basic constraints
[System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension]::new($false,$false,0,$true))
$parameters = @{
Subject = "localhost";
KeyAlgorithm = "RSA";
KeyLength = 2048;
CertStoreLocation = "Cert:\CurrentUser\My";
KeyExportPolicy = "Exportable";
NotBefore = Get-Date;
NotAfter = (Get-Date).AddYears(1);
HashAlgorithm = "SHA256";
Extension = $certificateExtensions;
SuppressOid = @("2.5.29.14");
FriendlyName = "ASP.NET Core HTTPS development certificate"
}
New-SelfSignedCertificate <strong i="11">@parameters</strong>
}
Wenn Sie den Insider-Build von gestern verwendet haben, ist das 20H1, nicht 19H1. Sie müssen den Release-Vorschau-Ring oder den langsamen Ring ausführen, um die Version mit dem Problem zu erhalten. (Vielleicht ist dies ein Problem mit dem jetzt endgültigen 19H1?)
Ich bin damit einverstanden, diese EKU hinzuzufügen.
Ich habe das Problem gerade erneut getestet, dann das aktualisierte Zertifikat von @javiercn installiert und darauf umgestellt, und das Problem wird mit dem aktualisierten Zertifikat nicht mehr erneut angezeigt.
https://github.com/aspnet/AspNetCore/pull/9293/files PR will die KU aktualisieren.
PR zusammengeführt. Schließen Sie es, wenn Sie der Meinung sind, dass hier nichts anderes zu tun ist
Ich habe gestern auf 20H1 aktualisiert
Ich bin nicht sicher, welche Vorschau 3.0.0-previewX
die Zusammenführung enthält
Kannst du mich darüber aufklären? Vorschau4 oder 5?
(Ich kann jeden Abend testen, bin aber nicht bereit, ihn nach dem Schnelltest zu verwenden.)
Dies wird Teil von Vorschau5 sein.
Wenn du läufst
dotnet dev-certs http --clean
Das Powershell-Skript oben und dann
dotnet dev-certs http --trust
Es sollte dich entsperren.
Vielen Dank an alle. Dies ist jetzt behoben und ich werde dies in Bezug auf die Aufnahme in die Version Known issues
für Preview5 weiterverfolgen.
Es gibt einen Tippfehler in https://github.com/aspnet/AspNetCore/issues/8952#issuecomment -482499042, aber wenn dies korrigiert wurde, funktionierte dies:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Gerade installiert Vorschau 6 und das ist immer noch passiert.
Chrome meldet ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
.
Ich habe noch keine Vorschau installiert, nur SDK 2.0 und höher.
SDK / Runtime-Version: 3.0.100-preview6-012264
.
dotnet --info Ausgabe
.NET Core SDK (das alle global.json widerspiegelt):
Version: 3.0.100-Vorschau6-012264
Commit: be3f0c1a03
Laufzeitumgebung:
Betriebssystemname: Windows
Betriebssystemversion: 10.0.18362
Betriebssystemplattform: Windows
RID: win10-x64
Basispfad: C: \ Programme \ dotnet \ sdk3.0.100-Vorschau6-012264 \
Host (nützlich für den Support):
Version: 3.0.0-Vorschau6-27804-01
Commit: fdf81c6faf
Installierte .NET Core SDKs:
2.1.402 [C: \ Programme \ dotnet \ sdk]
2.1.403 [C: \ Programme \ dotnet \ sdk]
2.1.500 [C: \ Programme \ dotnet \ sdk]
2.1.502 [C: \ Programme \ dotnet \ sdk]
2.1.503 [C: \ Programme \ dotnet \ sdk]
2.1.504 [C: \ Programme \ dotnet \ sdk]
2.1.505 [C: \ Programme \ dotnet \ sdk]
2.1.507 [C: \ Programme \ dotnet \ sdk]
2.1.600 [C: \ Programme \ dotnet \ sdk]
2.1.601 [C: \ Programme \ dotnet \ sdk]
2.1.602 [C: \ Programme \ dotnet \ sdk]
2.1.604 [C: \ Programme \ dotnet \ sdk]
2.1.700 [C: \ Programme \ dotnet \ sdk]
2.1.800-Vorschau-009696 [C: \ Programme \ dotnet \ sdk]
2.2.100 [C: \ Programme \ dotnet \ sdk]
2.2.102 [C: \ Programme \ dotnet \ sdk]
2.2.104 [C: \ Programme \ dotnet \ sdk]
2.2.202 [C: \ Programme \ dotnet \ sdk]
2.2.204 [C: \ Programme \ dotnet \ sdk]
2.2.300 [C: \ Programme \ dotnet \ sdk]
3.0.100-Vorschau6-012264 [C: \ Programme \ dotnet \ sdk]
Installierte .NET Core-Laufzeiten:
Microsoft.AspNetCore.All 2.1.4 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.8 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.9 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.2 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.3 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.4 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.8 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.9 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-Vorschau6.19307.2 [C: \ Programme \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.4 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.8 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.9 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-Vorschau6-27804-01 [C: \ Programme \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-Vorschau6-27804-01 [C: \ Programme \ dotnet \ shared \ Microsoft.WindowsDesktop.App]
Könnte für mich mit https://github.com/aspnet/AspNetCore/issues/11283 verwandt sein.
@nphmuller
Haben Sie versucht, die folgenden Befehle in einer Vorschau-6-Dotnet-Umgebung auszuführen?
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Es ist wahrscheinlich, dass Sie ein altes Zertifikat haben. Wir haben Logik hinzugefügt, um das Zertifikat zu aktualisieren, aber ich bin nicht sicher, ob es in die Vorschau6 gelangt ist oder in der Vorschau7 verfügbar sein wird.
@ Javiercn
Ich habe es als Problemumgehung versucht, aber --clean
schlägt fehl. Ich habe für dieses Problem https://github.com/aspnet/AspNetCore/issues/11283 erstellt.
@nphmuller Welches Betriebssystem verwenden Sie?
Sie können den Zertifizierungsmanager öffnen und die Zertifikate selbst reinigen (ich verstehe, dass dies nicht ideal ist).
Unter Windows (Win + R) -> mmc -> Enter -> (Strg + M (Snap-In hinzufügen) -> Zertifikate -> Mein Benutzerkonto -> Zertifikate -> Persönlich -> Zertifikate -> Finden Sie diejenigen mit 'localhost '-> Entferne diejenigen, die ASP.NET Core HTTPS ...
.
Wiederholen Sie dies mit den Zertifikaten der Trusted Root Certification Authorities
Führen Sie dotnet dev-certs https --trust
@ Javiercn
Diese Arbeit. Vielen Dank!
Ich bin auf Win 10 1903 (18362.175) (Auch in der Ausgabe von dotnet --info
habe ich in meinem ersten Kommentar geschrieben)
Meine Vermutung wäre, wie Sie geschrieben haben, dass die Upgrade-Logik es nicht bis zur Vorschau 6 geschafft hat, sondern in der Vorschau 7 sein wird.
@javiercn @nphmuller Ich hatte das gleiche Problem, habe versucht, Zertifikate manuell zu entfernen und sie mit dotnet dev-certs https --trust
neu zu erstellen. Das hat funktioniert, aber jetzt erhalte ich einen ERR_CERT_AUTHORITY_INVALID-Fehler. Es sieht so aus, als ob Turmfalke immer noch das alte Zertifikat verwendet. Irgendwelche Ideen?
Haben Sie Ihre Browserfenster geschlossen und wieder geöffnet? Browser speichern Zertifikate im Speicher, sodass Sie einen neuen Browser schließen und öffnen müssen, damit die Änderungen angezeigt werden.
Ja, ich habe es getan. Ich habe gerade meinen Computer neu gestartet. Scheint nicht zu funktionieren (versucht in Chrome, Firefox, Edge). Gibt es einen Ort, an dem das Zertifikat zwischengespeichert werden könnte? Es sieht so aus, als wäre das Zertifikat tatsächlich das vorherige.
Haben Sie das 3.0 SDK zum Generieren des Zertifikats verwendet?
Ja, ich denke schon. dotnet --info
Ausgabe von @nphmuller :
dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.0.100-preview6-012264
Commit: be3f0c1a03
Runtime Environment:
OS Name: Windows
OS Version: 10.0.18362
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\3.0.100-preview6-012264\
Host (useful for support):
Version: 3.0.0-preview6-27804-01
Commit: fdf81c6faf
.NET Core SDKs installed:
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.500 [C:\Program Files\dotnet\sdk]
2.1.502 [C:\Program Files\dotnet\sdk]
2.1.503 [C:\Program Files\dotnet\sdk]
2.1.504 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.600-preview-009426 [C:\Program Files\dotnet\sdk]
2.1.600-preview-009472 [C:\Program Files\dotnet\sdk]
2.1.600-preview-009497 [C:\Program Files\dotnet\sdk]
2.1.600 [C:\Program Files\dotnet\sdk]
2.1.601 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.1.604 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.2.200-preview-009648 [C:\Program Files\dotnet\sdk]
2.2.200-preview-009748 [C:\Program Files\dotnet\sdk]
2.2.200-preview-009804 [C:\Program Files\dotnet\sdk]
2.2.200 [C:\Program Files\dotnet\sdk]
2.2.201 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]
2.2.204 [C:\Program Files\dotnet\sdk]
2.2.300 [C:\Program Files\dotnet\sdk]
3.0.100-preview6-012264 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Auch unter Windows?
dotnet --info
listet einfach die SDKS auf
Sie könnten von einer global.json in diesem Ordner oder einem übergeordneten Ordner betroffen sein
Dies würde dazu führen, dass dasselbe alte Zertifikat neu generiert wird
versuche es aufzuräumen
Überprüfen Sie dotnet --version
Verwenden Sie dann den Befehl --trust
@javiercn Was meinst du? Ich bin unter Windows. 🙂
@tebeco dotnet --version
druckt auch 3.0.100-preview6-012264
.
Das Problem ist, dass Sie sich dessen sicher sein müssen, wenn Sie diesen Befehl in diesem Moment tatsächlich ausgeführt haben
Ich kann nicht wirklich mitmachen. Was soll ich machen? 😕
Führen Sie eine vollständige Bereinigung durch
Keine Ahnung, ob ein Neustart erforderlich ist
Überprüfen Sie dann die dotnet version
bevor Sie die --trust
one erneut
Das habe ich schon gemacht (ein paar Mal) still - immer noch kein Erfolg.
Ich habe eine frisch installierte VS2019 Preview 16.2 Preview 2 und dies ist der erste ASP.NET-Kern mit Kestrel-Projekt, den ich ausführe, und ich stoße auf dasselbe Problem. Ich habe versucht, mit den Befehlen clean / trust das Zertifikat ohne Änderung zu aktualisieren.
dotnet --version
3.0.100-Vorschau-010184
Dies ist ein leeres Projekt, bei dem .ConfigureKestrel () ohne Änderungen hinzugefügt wurde
@karaziox Das 3.0.100-Vorschau-010184 SDK stammt aus 3.0.0-Vorschau2, wo dieses Problem erst in der Vorschau6 behoben wurde6. Gehen Sie zu https://dotnet.microsoft.com/download/dotnet-core/3.0 und installieren Sie das SDK 3.0.100-Preview6-012264.
@javiercn Was meinst du? Ich bin unter Windows. 🙂
@tebeco
dotnet --version
druckt auch3.0.100-preview6-012264
.
@Tratcher das Problem tritt immer noch in Vorschau6 auf.
Ich glaube, das Update ist in Vorschau7, nicht in Vorschau6. @jkotalik kannst du bestätigen?
Immer noch ein Problem für mich mit dotnet 3.0.100-preview6-012264
und VS 16.2.0 Preview 3.0
IIS funktioniert einwandfrei mit der Standard-ASP.Net-Kernanwendung. Turmfalke schlägt mit ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY fehl
@simonmurdock können Sie versuchen, das Zertifikat in der Befehlszeile manuell mit dotnet dev-certs https --clean
und dotnet dev-certs https --trust
generieren . Es wurden einige Probleme bezüglich der Benutzererfahrung behoben, die in der Vorschau7 behoben werden. Das Zertifikat sollte jedoch funktionieren, wenn es in der Vorschau6 neu generiert wird.
Hallo. Gleiches Problem für mich 3.0.100-preview6-012264
(OS Win 8.1), habe VS2019 16.1.1 installiert. Verifiziert mit dotnet new blazorhosted
. Ich habe versucht, die Zertifikate (Schließen von Chrom 75.0.3770.100) mit dem Dotnet-Tool zu reinigen und wieder zu vertrauen, aber keine Hilfe.
@vmandic HTTP / 2 wird unter Win8.1 nicht unterstützt. Sie müssen es deaktivieren.
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#http2 -support
@Tratcher sollten wir wahrscheinlich HTTP2 standardmäßig deaktivieren, wenn es unter Win7 oder Win8 läuft
@jkotalik bitte eine neue Ausgabe für Triage öffnen. Theoretisch kann es unter Win8.1 funktionieren. Es gibt nur ein Problem mit der Bestellung der Chiffre und dem Erhalt eines Zertifikats, das einige der alternativen Chiffren unterstützt.
Da das Problem bei der gestrigen Installation von Preview8 immer noch nicht behoben war, habe ich erfolglos versucht, sowohl dotnet dev-certs https --clean
als auch dotnet dev-certs https --trust
erneut auszuführen.
Ich habe festgestellt, dass Kestrel immer noch ein altes, veraltetes Zertifikat verwendet, das besagte Zertifikat jedoch nicht im Windows-Zertifikatmanager gefunden werden konnte. Es stellt sich heraus, dass die Zertifikate hier zwischengespeichert sind: C:\Users\<user>\AppData\Roaming\ASP.NET\Https
. Es gab drei * .pfx-Dateien, von denen eine offensichtlich noch von Kestrel verwendet wurde.
Ich habe buchstäblich Stunden gebraucht, um das zu finden. Ich hatte bereits erwartet, dass Zertifikate zwischengespeichert werden, konnte sie jedoch nicht irgendwo in der Dokumentation finden. Dies muss wirklich dokumentiert werden, bitte.
Ich kann mir vorstellen, dass Sie Docker-Container verwenden. Hier exportiert Docker das Zertifikat, um es in den Container zu importieren.
@anurse wir könnten dies zu den Dokumenten hinzufügen, denke ich. Ich bin nicht sicher, welche Auswirkungen das Bereinigen dieses Ordners auf die Docker-Leute hat, aber wir können sie fragen.
Was ich nicht möchte, ist, dies dem Tool hinzuzufügen, da es ein Implementierungsdetail für Docker-Tools ist und nichts mit dem Tool zu tun hat.
Ich glaube jedoch nicht, dass wir die Laufzeit hier ändern müssen, solange wir in den Dokumenten Details dazu angeben, was zu tun ist, wenn Sie auf diese Situation stoßen. Ich habe https://github.com/aspnet/AspNetCore.Docs/issues/13927 abgelegt, um dies zu verfolgen.
Vielen Dank für die Ausarbeitung.
Wenn Sie dies zur Dokumentation hinzufügen, sparen Sie Zeit. Vielen Dank!
Hilfreichster Kommentar
Es gibt einen Tippfehler in https://github.com/aspnet/AspNetCore/issues/8952#issuecomment -482499042, aber wenn dies korrigiert wurde, funktionierte dies: