sys.fn_check_object_signatures (Transact-SQL)

van toepassing op:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Geeft een lijst van alle signeerbare objecten terug en geeft aan of een object is ondertekend met een gespecificeerd certificaat of een asymmetrische sleutel. Als het object is ondertekend met het gespecificeerde certificaat of de asymmetrische sleutel die is ondertekend, geeft het ook terug of de handtekening van het object geldig is.

Transact-SQL syntaxis-conventies

Syntax

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

Arguments

{ '@class' }
Identificeert het type duimafdruk dat wordt geleverd:

  • 'certificaat'

  • 'asymmetrische sleutel'

@ Klasse is Sysname.

{ @duimafdruk }
SHA-1 hash van het certificaat waarmee de sleutel is versleuteld, of de GUID van de asymmetrische sleutel waarmee de sleutel is versleuteld. @ Duimafdruk is varbinair(20).

Teruggegeven tabellen

De volgende tabel geeft de kolommen weer die fn_check_object_signatures teruggeeft.

Rubriek Typ Description
type nvarchar(120) Retourtypebeschrijving of assemblage.
entity_id int Geeft de object-id van het te evalueren object terug.
is_signed int Geeft 0 terug wanneer het object niet is ondertekend door de meegeleverde duimafdruk. Geeft 1 terug wanneer het object wordt ondertekend met de meegeleverde duimafdruk.
is_signature_valid int Wanneer de is_signed-waarde 1 is, geeft 0 terug wanneer de handtekening niet geldig is. Geeft 1 terug wanneer de handtekening geldig is.

Wanneer de is_signed waarde 0 is, geeft altijd 0 terug.

Remarks

Gebruik fn_check_object_signatures om te bevestigen dat kwaadwillende gebruikers geen objecten hebben gemanipuleerd.

Permissions

Vereist VIEW DEFINITIE op het certificaat of de asymmetrische sleutel.

Examples

Het volgende voorbeeld vindt het schema-ondertekeningscertificaat voor de master database, en retourneert de is_signed waarde 1 en de is_signature_valid waarde van 1 voor die objecten die door het schema-ondertekeningscertificaat zijn ondertekend en die geldige handtekeningen hebben.

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  
  

Zie ook

IS_OBJECTSIGNED (Transact-SQL)