2016-04-20 8 views
1

Ich habe eine Netzkern-Webanwendung mit Windows-Authentifizierung, die ich auf einem Windows Server 2012 R2-Computer unter IIS 8.5 ausgeführt habe. Beim Versuch, es zu erreichen, erhalte ich:Ausführen einer .NET Core-App auf IIS 8.5 mit aktiviertem FIPS 500 Fehler

InvalidOperationException: Diese Implementierung ist nicht Teil der Windows-Plattform FIPS-validierten kryptografischen Algorithmen. System.Security.Cryptography.SHA256Managed..ctor()

angegeben app.UseBrowserLink(); & app.UseDeveloperExceptionPage(); werden in Startup.cs verwendet, andernfalls erhalte ich nur einen internen Serverfehler von 500, der einen leeren Bildschirm anzeigt.

Wenn ich FIPS deaktivieren (Systemsteuerung -> Verwaltungstools -> lokale Sicherheitsrichtlinie -> lokale Richtlinien -> Sicherheitsoptionen -> "System Kryptografie: Verwenden Sie FIPS-konforme Algorithmen für Verschlüsselung, Hashing und Signieren") kann ich erreichen Die Site- und Windows-Authentifizierung funktioniert ordnungsgemäß.

Meine Frage ist warum verwendet FIPS diesen Fehler beim Hosten einer Net Core App auf IIS 8.5? Derzeit habe ich keine Anforderung, FIPS zu verwenden, aber das könnte sich in Zukunft ändern.

+0

Ich habe auch versucht, die App für die anonyme Authentifizierung zu konfigurieren, aber der Fehler bleibt bestehen, wenn FIPS aktiviert ist – mstrand

+0

Kannst du einen Repo auf Github, Ihren vollständigen Code und project.json? – blowdart

+0

sicher https://github.com/idqfizz/CoreWebAppFIPSFail.git – mstrand

Antwort

2

Repro App ist eine ASP.NET 5 RC1 App, die dnx und dnu verwendet. Dnu-Wiederherstellung verwendet Code von NuGet2, der SHA256Managed-Klasse verwendet, die IOE unter FIPS triggert.

ASP.NET Core RC2 verwendet nugget V3, sollte dieses Problem nicht haben, also wenn Sie Ihre Anwendung auf RC2 portieren, sollten Sie aus FIPS-Perspektive gut sein.