2010-10-22 10 views
3

Je veux désaligner les fips dans l'application asp. Net x64. Dans web.config j'ai ajoutéComment désactiver les fips dans asp .net

<runtime> 
    <enforceFIPSPolicy enabled = "false"> 
</runtime> 

J'ai mis le débogage à faux.

Cependant, mon application ne fonctionne pas. Dois-je déclarer la section d'exécution dans < configSections>? Si oui est alors une bonne ligne

<section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/> 
+1

curiosité sur le boîtier. Devrait-il être ** enforceFIPSPolicy **? –

+0

Oui, je me suis trompé ici. J'ai enforceFIPSPolicy dans mon code. Je vous remercie. – Darqer

Répondre

1

solution ne fonctionne que pour IIS> = 7.5

Il ne ressemble pas à IIS vous permet de manipuler ce paramètre par le web.config d'une application Web. Une solution consiste à créer un pool d'applications dédié (ou plusieurs) et à configurer le CLR du pool d'applications avec l'application FIPS désactivée. IIS 7.5 introduced a CLRConfigFile propriété que vous pouvez utiliser pour spécifier le fichier de configuration .NET d'un pool d'applications. Cela nous donne un contrôle plus granulaire sur les applications que la configuration affecte - au lieu de l'approche shotgun où nous le désactivons dans machine.config ou le paramètre de stratégie de groupe.

1.Créez un fichier de configuration, c:\inetpub\AppPoolClrConfig\noFipsWeb.config, avec le contenu suivant (l'emplacement et le nom du fichier est sans importance):

<configuration> 
    <runtime> 
     <enforceFIPSPolicy enabled = "false" /> 
    </runtime> 
</configuration> 

2.Grant autorisations de lecture sur le fichier à l'identité sous laquelle la App piscine fonctionne:

icacls c:\inetpub\AppPoolClrConfig\noFipsWeb.config /grant "IIS APPPOOL\YourAppPoolName":(R) 

3.Configure pool App pour charger le fichier de configuration en définissant CLRConfigFile de la piscine propriété:

cmd:

%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools/[name='{AppPoolName}'].CLRConfigFile:"{FilePath}" /commit:apphost 

échantillon:

%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].CLRConfigFile:"c:\inetpub\AppPoolClrConfig\noFipsWeb.config" /commit:apphost 

En raison d'une bug in IIS 7.5, nous devons effacer aussi la propriété managedRuntimeLoader ou bien le CLRConfigFile seront ignorés:

%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].managedRuntimeLoader:"" /commit:apphost 

4.Redémarrez IIS. Vos applications Asp.NET qui utilisent le pool d'applications ci-dessus devraient maintenant ignorer FIPS.

Crédits à:

Scott Forsyth pour expliquer how to configure an app pool to use a different CLR file than the standard aspnet.config file.

Jose Reyes pour documenter the bug in IIS 7.5 that ignored the CLRConfigFile Property