VERIFIERA SIGNEDBYASYMKEY (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Testar om digitalt signerad data har ändrats sedan den signerades.

Transact-SQL syntaxkonventioner

Syntax

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )  

Arguments

Asym_Key_ID
Är ID:t för ett asymmetriskt nyckelcertifikat i databasen.

clear_text
Det är klartextdata som verifieras.

underskrift
Är signaturen som bifogades den signerade datan. signaturen är varbinär.

Returtyper

int

Returnerar 1 när signaturerna stämmer överens; annars 0.

Anmärkningar

VerifySignedByAsymKey dekrypterar signaturen för datan genom att använda den publika nyckeln för den angivna asymmetriska nyckeln och jämför det dekrypterade värdet med en nyberäknad MD5-hash av datan. Om värdena stämmer överens bekräftas signaturen vara giltig.

Permissions

Kräver behörighet VIEW DEFINITION på den asymmetriska nyckeln.

Examples

A. Testning av data med en giltig signatur

Följande exempel returnerar 1 om den valda datan inte har ändrats sedan den signerades med asymmetrisk nyckel WillisKey74. Exemplet returnerar 0 om datan har manipulerats.

SELECT Data,  
     VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), SignedData,  
     DataSignature ) as IsSignatureValid  
FROM [AdventureWorks2022].[SignedData04]   
WHERE Description = N'data encrypted by asymmetric key ''WillisKey74''';  
GO  
RETURN;  

B. Returnera en resultatmängd som innehåller data med en valid signatur

Följande exempel returnerar rader i SignedData04 som innehåller data som inte har ändrats sedan den signerades med asymmetrisk nyckel WillisKey74. Exemplet anropar funktionen AsymKey_ID för att hämta ID:t för den asymmetriska nyckeln från databasen.

SELECT Data   
FROM [AdventureWorks2022].[SignedData04]   
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,  
     DataSignature ) = 1  
AND Description = N'data encrypted by asymmetric key ''WillisKey74''';  
GO  

Se även

ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
SKAPA ASYMMETRISK NYCKEL (Transact-SQL)
ÄNDRA ASYMMETRISK NYCKEL (Transact-SQL)
SLÄPP ASYMMETRISK NYCKEL (Transact-SQL)
Krypteringshierarki