Megosztás a következőn keresztül:


ELLENŐRIZZÉKALÁRENDELTBYASYMKEY (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Azt vizsgálja, hogy a digitálisan aláírt adatok változtak-e az aláírás óta.

Transact-SQL szintaxis konvenciók

Szemantika

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )  

Arguments

Asym_Key_ID
Az adatbázisban található aszimmetrikus kulcstanúsítvány azonosítója.

clear_text
Egyértelmű szöveges adat, amit ellenőriznek.

aláírás
Az az aláírás, amely az aláírt adatokhoz volt csatolva. Aláírásavarbináris.

Visszatérési típusok

int

1-et ad vissza, ha az aláírások megegyeznek; egyébként 0.

Megjegyzések

A VerifySignedByAsymKey az adatok aláírását a megadott aszimmetrikus kulcs nyilvános kulcsával dekódolja, és összehasonlítja a dekódolt értéket az újonnan kiszámított MD5 hash-lel. Ha az értékek egyeznek, az aláírás érvényességét igazolják.

Permissions

Az aszimmetrikus kulcson VIEW DEFINITION engedélyt igényel.

Példák

A. Érvényes aláírású adatok tesztelése

A következő példa 1-et ad vissza, ha a kiválasztott adatot nem változtatták meg azóta, hogy aszimmetrikus kulmilla WillisKey74írták alá. A példa 0-ot ad, ha az adatot manipulálták.

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. Egy eredményhalmaz, amely érvényes aláírású adatokat tartalmaz

A következő példa olyan sorokat ad vissza, SignedData04 amelyek olyan adatokat tartalmaznak, amelyeket aszimmetrikus kulmilla WillisKey74írtak alá azóta, hogy nem változtak . A példa a függvényt AsymKey_ID hívja, hogy megkapja az aszimmetrikus kulcs azonosítóját az adatbázisból.

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

Lásd még:

ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
ASZIMMETRIKUS KULCS LÉTREHOZÁSA (Transact-SQL)
ALTER ASZIMMETRIKUS KULCS (Transact-SQL)
DOBD LE ASZIMMETRIKUS KULCSOT (Transact-SQL)
Titkosítási hierarchia