Aracılığıyla paylaş


VERIFYSIGNEDBYASYMKEY (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

İmzalanmış dijital imzalı verilerin imzalandığından beri değiştirilip değiştirilmediğini test eder.

Transact-SQL söz dizimi kuralları

Sözdizimi

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )  

Arguments

Asym_Key_ID
Veritabanındaki asimetrik anahtar sertifikasının kimliğidir.

clear_text
Doğrulanan açık metin verileri.

imza
İmzalı veriye bağlı olan imza. İmzavarbinardır.

Dönüş Türleri

int

İmzalar eşleştiğinde 1 döner; aksi takdirde 0.

Açıklamalar

VerifySignedByAsymKey , belirtilen asimetrik anahtarın açık anahtarını kullanarak verinin imzasını çözer ve çözülen değeri yeni hesaplanmış MD5 hash verileriyle karşılaştırır. Değerler eşleşirse, imzanın geçerli olduğu doğrulanır.

Permissions

Assimetrik anahtarda VIEW DEFINITION izni gerektirir.

Örnekler

A. Geçerli imzaya sahip veri testi

Aşağıdaki örnek, seçilen veri asimetrik anahtarla WillisKey74imzalandığından beri değiştirilmemişse 1 döner. Örnek, veri değiştirildiyse 0 döner.

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. Geçerli imzaya sahip veri içeren bir sonuç kümesi döndürmek

Aşağıdaki örnek, asimetrik anahtarla SignedData04imzalandığından beri değiştirilmemiş veri içeren satırlar WillisKey74 döner. Örnek, veritabanından asimetrik anahtarın ID'sini almak için fonksiyonu AsymKey_ID çağırır.

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

Ayrıca Bkz.

ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
CREATE ASİMETRİK ANAHTAR (Transact-SQL)
ALTER ASIMETRIK ANAHTAR (Transact-SQL)
DROP ASIMETRIK ANAHTAR (Transact-SQL)
Şifreleme Hiyerarşisi