sys.fn_check_object_signatures (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Devolve uma lista de todos os objetos assináveis e indica se um objeto está assinado por um certificado especificado ou por uma chave assimétrica. Se o objeto estiver assinado pelo certificado especificado ou pela chave assimétrica assinada, também devolve se a assinatura do objeto é válida.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

{ '@class' }
Identifica o tipo de impressão digital do polegar fornecido:

  • 'certificado'

  • 'chave assimétrica'

@ a classe é sysname.

{ @impressão digital }
SHA-1 do certificado com que a chave está encriptada, ou o GUID da chave assimétrica com a qual a chave está encriptada. @ impressão digital é varbinary(20).

Tabelas Devolvidas

A tabela seguinte lista as colunas que fn_check_object_signatures devolve.

Coluna Tipo Description
tipo nvarchar(120) Devolve o tipo de descrição ou montagem.
entity_id int Devolve o id do objeto que está a ser avaliado.
is_signed int Retorna 0 quando o objeto não está assinado pela impressão digital fornecida. Retorna 1 quando o objeto é assinado pela impressão digital fornecida.
is_signature_valid int Quando o valor is_signed é 1, devolve 0 quando a assinatura não é válida. Devolve 1 quando a assinatura é válida.

Quando o valor is_signed é 0, devolve sempre 0.

Remarks

Use fn_check_object_signatures para confirmar que utilizadores maliciosos não adulteraram objetos.

Permissions

Requer VIEW DEFINIÇÃO no certificado ou na chave assimétrica.

Examples

O exemplo seguinte encontra o certificado de assinatura do esquema para a master base de dados e devolve o is_signed valor de 1 e is_signature_valid o valor de 1 para os objetos assinados pelo certificado de assinatura do esquema e que têm assinaturas 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  
  

Ver também

IS_OBJECTSIGNED (Transact-SQL)