VERIFYSIGNEDBYASYMKEY (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance

Menguji apakah data yang ditandatangani secara digital telah diubah sejak ditandatangani.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Asym_Key_ID
Adalah ID sertifikat kunci asimetris dalam database.

clear_text
Adalah data teks yang jelas yang sedang diverifikasi.

Tanda tangan
Adalah tanda tangan yang dilampirkan ke data yang ditandatangani. tanda tangan adalah varbinary.

Jenis Pengembalian

int

Mengembalikan 1 saat tanda tangan cocok; jika tidak, 0.

Keterangan

VerifySignedByAsymKey mendekripsi tanda tangan data dengan menggunakan kunci publik kunci asimetris yang ditentukan, dan membandingkan nilai yang didekripsi dengan hash MD5 data yang baru dihitung. Jika nilai cocok, tanda tangan dikonfirmasi valid.

Izin

Memerlukan izin LIHAT DEFINISI pada kunci asimetris.

Contoh

A. Pengujian data dengan tanda tangan yang valid

Contoh berikut mengembalikan 1 jika data yang dipilih belum diubah sejak ditandatangani dengan kunci WillisKey74asimetris . Contoh mengembalikan 0 jika data telah dirusak.

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

B. Mengembalikan tataan hasil yang berisi data dengan tanda tangan yang valid

Contoh berikut mengembalikan baris yang SignedData04 berisi data yang belum diubah sejak ditandatangani dengan kunci WillisKey74asimetris . Contoh memanggil fungsi AsymKey_ID untuk mendapatkan ID kunci asimetris dari database.

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

Lihat juga

ASYMKEY_ID (SQL Bertransaksi)
SIGNBYASYMKEY (transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Hierarki Enkripsi