Compartir a través de


VerifySignedByAsmKey (Transact-SQL)

Comprueba si se han cambiado los datos firmados digitalmente desde que se firmaron.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )

Argumentos

  • Asym_Key_ID
    Es el Id. de un certificado de clave asimétrica en la base de datos.
  • clear_text
    Son datos de texto no cifrado que se van a comprobar.
  • signature
    Es la firma adjunta a los datos firmados. varbinary.

Tipos de valor devueltos

int

Devuelve 1 si las firmas coinciden; de lo contrario devuelve 0.

Notas

VerifySignedByAsmKey obtiene una firma de los datos firmados anteriormente utilizando una clave asimétrica almacenada en la base de datos. VerifySignedByAsmKey compara la firma recién obtenida con la firma asociada a los datos firmados cuando se recibieron. Si la firma recién obtenida es la misma que la firma adjunta a los datos firmados, esto prueba que los datos no se cambiaron desde que se firmaron.

Permisos

Requiere el permiso VIEW DEFINITION en la clave asimétrica.

Ejemplos

A. Comprobar datos con una firma válida

En el siguiente ejemplo se devuelve 1 si los datos seleccionados no se han cambiado desde que se firmaron con la clave asimétrica WillisKey74. El ejemplo devuelve 0 si los datos no se han modificado.

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. Devolver un conjunto de resultados que contiene datos con una firma válida

En el siguiente ejemplo se devuelven las filas de SignedData04 que contienen datos que no se han cambiado desde que se firmaron con la clave asimétrica WillisKey74. El ejemplo llama a la función AsymKey_ID para obtener el Id. de la clave asimétrica de la base de datos.

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

Vea también

Referencia

AsymKey_ID (Transact-SQL)
SignByAsymKey (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)

Otros recursos

Jerarquía de cifrado

Ayuda e información

Obtener ayuda sobre SQL Server 2005