要离开公司了,需要把系统完善一下,突然发现公司的Web Service 下面的 web.config 没有加密,以明文放在Root 下,一不做,二不休,加密吧!
进入10.201.101.17 cmd 后cd 到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>
输入 aspnet_regiis -pe "appSettings" -app "/Analysis" -prov "RSAProtectedConfigurationProvider"
说明:-pe 指加密web.config区块 -app 指web应用程序的虚拟目录 -prov 指选择哪种加密方式 如(RSAProtectedConfigurationProvider、DataProtectionConfigurationProvider) -pe 指加密
解密方法:aspnet_regiis -pd "connectionStrings" -app "/tt" -pd 指解密
但是应用程序不能访问,上网查到需要授权
授权方法:aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
应用程序使用时不需要对其解密,只需创建授权给NETWORK SERVICE 对 RSA 金钥容器的访问权,网页请求时系统会自动解密
设置成功,最后将代码作成bat文件,每次发布Web Service 后批量加密。
OK。
其实aspnet_regiis 还有很多其他功能,才疏学浅,不一一介绍。
No comments:
Post a Comment