sys.fn_check_object_signatures (Transact-SQL)

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.

Icono de vínculo a temasConvenciones 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'

    @class es sysname.

  • { @thumbprint }
    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 muestran las columnas que devuelve fn_check_object_signatures.

Columna

Tipo

Descripción

type

nvarchar(120)

Devuelve una descripción de 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.

Notas

Utilice fn_check_object_signatures para confirmar que usuarios malintencionados no hayan manipulado 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

Vea también

Referencia