sys.fn_check_object_signatures (Transact-SQL)

Restituisce un elenco di tutti gli oggetti che è possibile firmare e indica se un oggetto viene firmato con una chiave asimmetrica o con un certificato specificato. In questo caso, indica anche se la firma dell'oggetto è valida.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • { '@class' }
    Specifica il tipo di identificazione digitale fornita:

    • 'certificate'

    • 'asymmetric key'

    @class è sysname.

  • { @thumbprint }
    Hash SHA-1 del certificato con il quale è crittografata la chiave, o GUID della chiave asimmetrica con il quale è crittografata la chiave. @thumbprint è varbinary(20).

Tabelle restituite

Nella tabella seguente sono elencate le colonne restituite da fn_check_object_signatures.

Colonna

Tipo

Descrizione

type

nvarchar(120)

Restituisce la descrizione del tipo o l'assembly.

entity_id

int

Restituisce l'identificatore dell'oggetto valutato.

is_signed

int

Restituisce 0 quando l'oggetto non viene firmato con l'identificazione digitale fornita. Restituisce 1 quando l'oggetto viene firmato con l'identificazione digitale fornita.

is_signature_valid

int

Quando il valore is_signed è 1, restituisce 0 se la firma non è valida e 1 se è valida.

Quando il valore is_signed è 0, restituisce sempre 0.

Osservazioni

Utilizzare fn_check_object_signatures per confermare che gli utenti malintenzionati non hanno manomesso gli oggetti.

Autorizzazioni

È richiesta l'autorizzazione VIEW DEFINITION per il certificato o la chiave asimmetrica.

Esempi

Nell'esempio seguente viene individuato il certificato di firma dello schema per il database master e viene restituito il valore is_signed 1 e il valore is_signature_valid 1 per gli oggetti firmati con il certificato di firma dello schema che dispongono di firme valide.

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

Vedere anche

Riferimento