我的应用程序在手动创建时会签署一些文档。为此,它具有由用户手动生成和提供的私有和公共RSA密钥。所以到现在为止,它们存储在DB的配置表中。 该程序还具有在数据库中批量创建这些文档的功能,我正在使用存储过程。
我正在尝试使用SQL Server的加密功能,但我无法使用配置表中存储的公钥(作为varchar(max)) EncryptByCert始终期望存储在sys表中并由DB生成的证书ID。
我想做点什么:
DECLARE @RSAPublicKey VARCHAR(MAX)
SELECT @RSAPublicKey = xRSAPublicKey FROM MyConfigTable
print EncryptByCert(@RSAPublicKey, 'Hello')