Aracılığıyla paylaş


VerifySignedByAsymKey (Transact-SQL)

Dijital olarak imzalanmış veri imzalandıktan sonra değiştirilmiş olup olmadığını sınar.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )

Bağımsız değişkenler

  • Asym_Key_ID
    Veritabanındaki bir asimetrik anahtar sertifika kimliğidir.

  • clear_text
    Doğrulanmakta olan düz metin verilerdir.

  • signature
    İmzalı veri ile bağlantılı imza değil.signatureis varbinary.

Dönüş Türleri

int

İmzalar eşleştiğinde 1 verir; Aksi takdirde 0.

Açıklamalar

VerifySignedByAsymKeyBelirtilen asimetrik anahtarortak anahtar kullanarak verileri imzası şifresini çözer ve şifresi çözülmüş verilerin yeni hesaplanan MD5 karma değerini karşılaştırır.Değerler eşleşirse, geçerli imza doğrulanır.

İzinler

Asimetrik anahtargörünüm TANIMI izni gerektirir.

Örnekler

A.Veri geçerli bir imza ile test

Aşağıdaki örnek asimetrik anahtarile imzalandıktan sonra seçili verileri değiştirilmedi 1 verirWillisKey74. Örnek verileri ile oynanmış 0 verir.

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

B.Geçerli bir imza ile verileri içeren bir sonuç kümesi döndürme

Aşağıdaki örnek, satır döndürür SignedData04 , değil değiştirildi beri asimetrik anahtarile imzalanmış veri içeren WillisKey74.Örnek işlevçağıranAsymKey_ID veritabanı asimetrik anahtar kimliği edinmek için

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