.net web程序使用rsa算法进行加解密时,程序报告“System.Security.Cryptography.CryptographicException: 拒绝访问”错。按网上搜的解决方法做了各种权限配置,然并卵。试了两天终于解决,现记录如下:
C:\Documents and Settings\All Users\Application Data
添加项目应用程序池对应启动帐号(或iis_wpg组) 读取,读取并运行,列出文件夹目录权限。
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
添加项目应用程序池对应启动帐号(或iis_wpg组)除完全控制和特殊权限以外的所有权限。
后记:
C:\Documents and Settings\All Users\Application Data这个目录下的权限分配还是有些讲究的,对于安全要求高的生产环境服务器,在配置时要格外注意。