VerifySignedByAsymKey (Transact-SQL)
Dijital olarak imzalanmış veri imzalandıktan sonra değiştirilmiş olup olmadığını sınar.
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