---
title: "FIPSを有効にする"
slug: "enable-fips"
abstract: "サイトサーバーでFIPS 140を有効にする方法と、ウェブアプリでFIPSの暗号化を追加する方法について。"
---
# FIPSを有効にする

> !注XPのサービスロール、xConnectはこの機能をサポートしていません。

Windowsで「 **暗号化、ハッシュ、署名のためのFIPS準拠アルゴリズム** 使用」セキュリティポリシーオプションを有効にする場合、Sitecoreで正しい暗号クラスを有効にする必要があります。

このトピックでは、以下の方法を説明します:

-   [Sitecore FIPSサポートを有効にする](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/enable-fips.html#UUID-240153ea-39ff-f5eb-78ce-d63e634bded7_section-5cdaa1540ffbe-idm45444636033520 "Enable Sitecore FIPS support")
-   [WebAppでFIPSの暗号化を追加する](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/enable-fips.html#UUID-240153ea-39ff-f5eb-78ce-d63e634bded7_section-5cdaa16bd64e1-idm45444636123856 "Add encryption for FIPS in a WebApp")

## Sitecore FIPSサポートを有効にする

Sitecore FIPSサポートを有効にするには:

1.  Sitecoreインスタンスの /Website/binフォルダにアクセスしてください。
    
2.  Sitecore.Kernel.dllファイルを右クリックしてから**プロパティ**をクリックします。
    
3.  **詳細**タブで、ファイルバージョンプロパティの値に注目してください:
    
    ![4438940E262549358B94D46D7074E07F.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/92/platform-administration-and-architecture/images/4438940E262549358B94D46D7074E07F.png)
    
4.  machine.configファイルを開きます。このファイルは32ビットシステムと64ビットシステムで異なるフォルダに分かれています。
    
    -   32ビットシステムでは、 %windir%\\Microsoft.NET\\Framework\\<DotNetVersion>\\Config\\machine.config フォルダに入っています。
    -   64ビットシステムでは、 %windir%\\Microsoft.NET\\Framework64\\<DotNetVersion>\\Config\\machine.config フォルダに入っています。
5.  ファイルに次のノードを追加します:
    
    <configuration>
     <!-- Other configuration settings -->
     <mscorlib>
     <cryptographySettings>
     <cryptoNameMapping>
     <cryptoClasses>
     <cryptoClass AESPROXY="Sitecore.SecurityModel.Cryptography.AesCryptoServiceProviderProxy, Sitecore.Kernel, Version=XX.X.X.XXXX, Culture=neutral"/>
     </cryptoClasses>
     <nameEntry name="Rijndael" class="AESPROXY"/>
     <nameEntry name="System.Security.Cryptography.Rijndael" class="AESPROXY"/>
     <nameEntry name="System.Security.Cryptography.RijndaelManaged" class="AESPROXY"/>
     <nameEntry name="AesManaged" class="AESPROXY"/>
     <nameEntry name="System.Security.Cryptography.AesManaged" class="AESPROXY"/>
     </cryptoNameMapping>
     </cryptographySettings>
     </mscorlib>
    </configuration>
    
    ステップ3で記載したファイルバージョンの値(**Sitecore.Kernel.Version(XX.X.X.XXXX**)として使います。
    
6.  オプションとして、インターネット情報サービスをリセットしてください。
    

## WebAppでFIPSの暗号化を追加する

WebApp自体のマシンレベルでWebAppを確実に調整することはできません。しかし、スケールアップしたい場合や別の場所にCDサーバーを設置したい場合、以下の例を使って同じ標準鍵を有効にしられます。すべての鍵は同じ暗号化を必要とします。

protected void Application\_Start()
{
 /\* ... \*/

 var mkType = typeof(MachineKeySection);
 var mkSection = ConfigurationManager.GetSection("system.web/machineKey") as MachineKeySection;
 var rwMethod = mkType.GetMethod("Reset", BindingFlags.NonPublic | BindingFlags.Instance);

 var newConfig = new MachineKeySection();
 newConfig.ApplicationName = mkSection.ApplicationName;
 newConfig.CompatibilityMode = mkSection.CompatibilityMode;
 newConfig.DataProtectorType = mkSection.DataProtectorType;
 newConfig.Validation = mkSection.Validation;

 newConfig.ValidationKey = "XXXXXXXXXX";
 newConfig.DecryptionKey = "XXXXXXXXXX";
 newConfig.Decryption = "AES";
 newConfig.ValidationAlgorithm = "SHA1";

 rwMethod.Invoke(mkSection, new object { newConfig });

 /\* ... \*/
}