FIPSの有効化
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
xConnectを含むXPサービス ロールは、この機能をサポートしていません。
WindowsでUse FIPS compliant algorithms for encryption, hashing, and signingセキュリティ ポリシー オプションを有効にする場合は、Sitecoreの正しい暗号化クラスを有効にする必要があります。
このトピックでは、次の方法について説明します。
Sitecore FIPSサポートを有効にする
Sitecore FIPSサポートを有効にするには:
-
Sitecoreインスタンスの /Website/binフォルダーに移動します。
-
Sitecore.Kernel.dllファイルを右クリックし、Propertiesをクリックします。
-
Detailsタブで、File versionプロパティの値を確認します。
-
machine.configファイルを開きます。このファイルは、32ビットシステムと64ビットシステムでは異なるフォルダにあります。
-
32ビットシステムでは、%windir%\Microsoft.NET\Framework\<DotNetVersion>\Config\machine.configフォルダにあります。
-
64ビット システムでは、%windir%\Microsoft.NET\Framework64\<DotNetVersion>\Config\machine.configフォルダにあります。
-
-
次のノードをファイルに追加します。
RequestResponse<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としてマーク) として使用します。
-
必要に応じて、インターネット インフォメーション サービスをリセットします。
Webアプリでの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 });
/* ... */
}