Condividi tramite


sys.fn_check_object_signatures (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure Piattaforma di strumenti analitici (PDW)

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.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

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

  • 'certificate'

  • 'asymmetric key'

@class è sysname.

{ @identificazione personale }
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 fn_check_object_signatures.

Column Type 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:

Usare fn_check_object_signatures per verificare che gli utenti malintenzionati non abbiano manomesso 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  
  

Vedi anche

IS_OBJECTSIGNED (Transact-SQL)