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