VerifySignedByAsmKey (Transact-SQL)
測試數位簽署的資料是否已經在簽署之後變更。
A. 測試含有效簽章的資料
如果所選的資料在以非對稱金鑰 WillisKey74 簽署之後尚未變更,則下列範例會傳回 1。如果資料已被竄改,則下列範例會傳回 0。
SELECT Data,
VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), SignedData,
DataSignature ) as IsSignatureValid
FROM [AdventureWorks].[SignedData04]
WHERE Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO
RETURN
B. 傳回包含含有效簽章之資料的結果集
下列範例會傳回 SignedData04 中的資料列,它們包含自從以非對稱金鑰 WillisKey74 簽署之後尚未變更的資料。這個範例會呼叫函數 AsymKey_ID,從資料庫取得非對稱金鑰的識別碼。
SELECT Data
FROM [AdventureWorks].[SignedData04]
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,
DataSignature ) = 1
AND Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO

