我创建了一些证书(通过CREATE CERTIFICATE)和非对称密钥(通过CREATE ASYMMETRIC KEY),并使用它们对各种存储过程、用户定义函数(UDF)、触发器和程序集(通过ADD SIGNATURE)进行签名和副签名. 但现在我需要找出哪些证书和/或非对称密钥已用于签署哪些特定模块。
我创建了一些证书(通过CREATE CERTIFICATE)和非对称密钥(通过CREATE ASYMMETRIC KEY),并使用它们对各种存储过程、用户定义函数(UDF)、触发器和程序集(通过ADD SIGNATURE)进行签名和副签名. 但现在我需要找出哪些证书和/或非对称密钥已用于签署哪些特定模块。
最简单的方法似乎是使用sys.crypt_properties目录视图,它包含证书/非对称密钥和签名模块之间的关系,以及使用(即签名或会签)。还有一些其他方法可以找到哪些模块已签名,但似乎没有一种方法表明签名与会签。
在我的测试数据库中,此查询返回以下内容: