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.
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