是否可以使用特定证书(不是默认证书)对web.config中的部分进行加密,所以我可以在不同的计算机上读取相同的web.config?
还是...对部分进行加密,以便两台服务器可以自动解密?
两台机器都是Windows Server 2019
非常感谢。
答案 0 :(得分:0)
根据您的描述,建议您尝试按照以下步骤使用证书对web.config进行加密和对web.config进行解密。
1。创建一个证书以加密配置文件。
$ cert = New-SelfSignedCertificate -Type DocumentEncryptionCert-主题“ CN = DevConfig” -KeyExportPolicy可导出-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文件中。注意:您应该从生成的证书文件中找到指纹,如下所示:
<configProtectedData>
<providers>
<add name="Pkcs12Provider" thumbprint="91cb0b7c611e54f6bfd43c4d8d178b542bc6557e" type="WebConfigEncrypter.Pkcs12ProtectedConfigurationProvider, WebConfigEncrypter" storeLocation="LocalMachine"/>
</providers>
</configProtectedData>
6。在web.config文件fodler中运行以下命令:
aspnet_regiis -pef "connectionStrings" "." -prov "Pkcs12Provider"
7。您将发现web.config已加密,但是如果在远程服务器上使用解密证书,则会发现您的应用程序运行良好。