Condividi tramite


VerifySignedByAsmKey (Transact-SQL)

Verifica se i dati con firma digitale sono stati modificati dopo la firma.

Icona di collegamento a un argomentoConvenzioni 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)

Altre risorse

Gerarchia di crittografia

Guida in linea e informazioni

Assistenza su SQL Server 2005