Укажите конкретный сертификат при шифровании раздела строки подключения web.config - PullRequest
0 голосов
/ 26 мая 2019

Есть ли возможность зашифровать разделы в web.config с помощью определенного сертификата (не по умолчанию), чтобы я мог читать один и тот же web.config на разных машинах?

Или ... зашифровать разделы, чтобы два сервера могли расшифровывать автоматически?

Обе машины Windows Server 2019

Большое спасибо.

1 Ответ

0 голосов
/ 28 мая 2019

Согласно вашему описанию, я предлагаю вам попробовать выполнить следующие шаги для шифрования web.config и расшифровки web.config с помощью сертификата.

1. Создайте сертификат для шифрования файла конфигурации.

$ cert = New-SelfSignedCertificate -Type DocumentEncryptionCert -Subject "CN = DevConfig" -KeyExportPolicy Exportable -KeySpec KeyExchange

Export-Certificate -Cert $cert -FilePath ".\DevConfig.cer"

$mypwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText

Export-PfxCertificate -Cert $cert -FilePath ".\DevConfig.pfx" -Password $mypwd

$cert

2.Укрепить сертификат энсипта:

Import-Certificate -Filepath ".\DevConfig.cer" -CertStoreLocation cert:\LocalMachine\My

3. Импортируйте сертификат дешифрования:

$mypwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText

Import-PfxCertificate -FilePath ".\DevConfig.pfx" -CertStoreLocation Cert:\LocalMachine\My -Password $mypwd

4. Установите пакет WebConfigEncrypter NuGet.

Install-Package WebConfigEncrypter -Version 1.1.0

5.Добавьте приведенный ниже файл конфигурации в файл web.config.Примечание: вы должны найти отпечаток из сгенерированного файла сертификата, как показано ниже:

enter image description here

  <configProtectedData>
    <providers>
      <add name="Pkcs12Provider" thumbprint="91cb0b7c611e54f6bfd43c4d8d178b542bc6557e" type="WebConfigEncrypter.Pkcs12ProtectedConfigurationProvider, WebConfigEncrypter" storeLocation="LocalMachine"/>
    </providers>
  </configProtectedData>

6. Выполните команду ниже в файле web.configfodler:

aspnet_regiis -pef "connectionStrings" "." -prov "Pkcs12Provider"

7.Вы обнаружите, что ваш web.config зашифрован, но если вы расшифруете сертификат дешифрования на удаленном сервере, ваше приложение будет работать хорошо.

...