Share via


sys.fn_check_object_signatures (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Devuelve una lista de todos los objetos que se pueden firmar e indica si una clave asimétrica o certificado especificados firman un objeto. Si la clave asimétrica o certificado especificados firman el objeto, también devuelve si la firma del objeto es válida.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
fn_ check_object_signatures (   
    { '@class' } , { @thumbprint }   
  )   

Argumentos

{ '@class' }
Identifica el tipo de huella digital que se proporciona:

  • 'certificado'

  • 'clave asimétrica'

@la clase es sysname.

{ @thumbprint }
El valor hash SHA-1 del certificado o GUID de la clave asimétrica con el que se cifra la clave. @thumbprint es varbinary(20).

Tablas devueltas

En la tabla siguiente se enumeran las columnas que fn_check_object_signatures devuelve.

Columna Tipo Descripción
type nvarchar(120) Devuelve la descripción del tipo o ensamblado.
entity_id int Devuelve el identificador de objeto del objeto que se está evaluando.
is_signed int Devuelve 0 cuando la huella digital proporcionada no firma el objeto. Devuelve 1 cuando la huella digital proporcionada firma el objeto.
is_signature_valid int Cuando el valor de is_signed es 1, devuelve 0 si la firma no es válida. Devuelve 1 cuando la firma es válida.

Cuando el valor de is_signed es 0, siempre devuelve 0.

Comentarios

Use fn_check_object_signatures para confirmar que los usuarios malintencionados no han alterado los objetos.

Permisos

Se requiere VIEW DEFINITION sobre el certificado o la clave asimétrica.

Ejemplos

En el ejemplo siguiente se busca el certificado de firma del esquema para la base de datos master y se devuelve el valor 1 de is_signed y el valor 1 de is_signature_valid para los objetos firmados por el certificado de firma del esquema que tienen firmas válidas.

USE master;  
-- Declare a variable to hold the thumbprint.  
DECLARE @thumbprint varbinary(20) ;  
-- Populate the thumbprint variable with the master database schema signing certificate.  
SELECT @thumbprint = thumbprint   
FROM sys.certificates   
WHERE name LIKE '%SchemaSigningCertificate%' ;  
-- Evaluates the objects signed by the schema signing certificate  
SELECT type, entity_id, OBJECT_NAME(entity_id) AS [object name], is_signed, is_signature_valid  
FROM sys.fn_check_object_signatures ('certificate', @thumbprint) ;  
GO  
  

Consulte también

IS_OBJECTSIGNED (Transact-SQL)