Voi*_*miX 6 asp.net asp.net-core
我的任务很简单 - 在服务器场中的服务器之间共享cookie
我知道使用机器密钥的旧方法在asp.net核心中不起作用,但是有一个DataProtection API
但是,我无法将密钥存储在共享文件夹中(它是DataProtection的默认内置行为)
有没有办法在配置中存储密钥交换数据?(比如在旧的asp.net中)
您可以将密钥存储在文件系统文件夹中,但这样做当然会存在安全问题,但这些问题与将密钥存储在 web.config 中类似。
不同之处在于,不像机器密钥那样只有一个密钥,数据保护 api 中的密钥会在给定期限后过期,并在需要时自动创建新密钥。例如,如果您使用数据保护 api 加密某些内容并将其持久存储在数据库中,则稍后可能需要使用过期密钥对其进行解密
此示例将密钥存储在 Web 应用程序主文件夹中名为 dp_keys 的文件夹中。
string pathToCryptoKeys = Path.Combine(environment.ContentRootPath, "dp_keys");
        services.AddDataProtection()
            .PersistKeysToFileSystem(new System.IO.DirectoryInfo(pathToCryptoKeys));
请注意,不推荐将密钥存储在文件系统中。文档中有一个 powershell 脚本,可以将每个应用程序池的密钥存储在系统注册表中。对于 Azure,有用于存储数据保护密钥的 Azure Key Vault。
| 归档时间: | 
 | 
| 查看次数: | 2027 次 | 
| 最近记录: |