VerifySignedByAsmKey (Transact-SQL)
Verifica se i dati con firma digitale sono stati modificati dopo la firma.
Convenzioni della sintassi Transact-SQL
Sintassi
VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )
Argomenti
- Asym_Key_ID
ID di un certificato con chiave asimmetrica nel database.
- clear_text
Dati non crittografati che si desidera verificare.
- signature
Firma allegata ai dati firmati. varbinary.
Tipi restituiti
int
Restituisce 1 se le firme corrispondono. In caso contrario, 0.
Osservazioni
VerifySignedByAsmKey deriva una firma da dati precedentemente firmati tramite una chiave asimmetrica archiviata nel database. VerifySignedByAsmKey confronta inoltre la nuova firma derivata con la firma associata ai dati firmati al momento della ricezione dei dati. Se la nuova firma derivata corrisponde alla firma allegata ai dati firmati, significa che i dati non sono stati modificati dopo la loro firma.
Autorizzazioni
È richiesta l'autorizzazione VIEW DEFINITION per la chiave asimmetrica.
Esempi
A. Verifica dei dati contenenti una firma valida
Nell'esempio seguente viene restituito 1 se i dati selezionati non sono stati modificati dopo la loro firma tramite la chiave asimmetrica WillisKey74
. Viene restituito 0 se invece i dati sono stati alterati.
SELECT Data,
VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), SignedData,
DataSignature ) as IsSignatureValid
FROM [AdventureWorks].[SignedData04]
WHERE Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO
RETURN
B. Restituzione di un set di risultati contenente dati con una firma valida
Nell'esempio seguente vengono restituite le righe di SignedData04
contenenti dati che non sono stati modificati dopo la relativa firma con la chiave asimmetrica WillisKey74
. Nell'esempio viene chiamata la funzione AsymKey_ID
per recuperare l'ID della chiave asimmetrica dal database.
SELECT Data
FROM [AdventureWorks].[SignedData04]
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,
DataSignature ) = 1
AND Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO
Vedere anche
Riferimento
AsymKey_ID (Transact-SQL)
SignByAsymKey (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)