azure-sql-database - 提高始终加密证书的有效性

标签 azure-sql-database sql-server-2016 self-signed always-encrypted

我正在使用 SQL Server 的 Always Encrypted 功能,使用受自签名证书保护的主 key 对数据库中的几列进行加密。该证书是使用 SQL 2016 的 Management Studio 创建的,并且始终默认为比颁发日期早一年的到期日期 - 它存储在当前用户的 Windows 证书存储中。

是否可以将此证书的有效期延长至一年以上?

更具体地说,AE 所需的证书是否可以编写脚本 - 根据我的理解,该证书与 CREATE CERTIFICATE 命令创建的 sql 证书不同,需要导出为 pfx 等文件格式,以便 Azure Web 应用程序访问。

此外,如果证书已过期,数据是否仍然可以加密/解密?

最佳答案

SQLmojoe 包含在答案中的创建证书 SQL 语句不适用于 AE。

您可以使用脚本(批处理)并调用 makecert 以编程方式创建证书,例如:

Makecert.exe -n "CN=Always Encrypted cert" -pe -sr CurrentUser -r -eku 1.3.6.1.5.5.8.2.2,1.3.6.1.4.1.311.10.3.11 -ss my -sky exchange -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 -len 2048 -a sha256

请注意,如果您想在本地机器存储位置创建证书,您将需要在 teh box 上具有管理员权限,并且您需要更改 -sr 参数。

我希望这有帮助。

关于azure-sql-database - 提高始终加密证书的有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34047484/

相关文章:

sql-server - 数据类型 date 和 datetime 在 add 运算符中不兼容

Android 9 Google Pixel One 上的 SSL 问题

openssl - 自签名证书的随机数错误

sql-server - 为 select 中的每一行调用存储过程

ssl - 在 IIS Express 中创建自签名证书

.net - 从头开始 Azure .NET 后端?

azure - 有没有办法对 Azure 数据仓库中的表或列进行注释或记录?

java - Android Studio 连接到 Azure 数据库

sql-server - Visual Studio 2015 数据库项目可以发布到 SQL Server _和_ Azure 吗?

sql-server - 更改系统版本控制表(临时表)列的最佳机制?