Udostępnij przez


sys.fn_check_object_signatures (Transact-SQL)

Zwraca listę wszystkich obiektów do podpisania i wskazuje, czy obiekt jest podpisana przez określonego certyfikat i klucz asymetrycznego.Jeśli obiekt jest podpisany przez określony certyfikat lub klucz asymetryczny podpisane, także zwraca czy jego podpis jest prawidłowy.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • { '@class**'** }
    Identyfikuje typ odcisk palca dostarczanej:

    • "certyfikat"

    • "klucz asymetrycznego"

    @class jest sysname.

  • { @thumbprint }
    SHA-1 hash of the certificate with which the key is encrypted, or the GUID of the asymmetric key with which the key is encrypted.@thumbprint is varbinary(20).

Kolumny, zwrot

Poniższa tabela zawiera listę kolumn, fn_check_object_signatures Zwraca wartość.

Kolumna

Typ

Description

Typ

nvarchar(120)

Zwraca opis typu lub wirtualny plik dziennika.

entity_id

int

Zwraca identyfikator obiektu obiektu, która będzie sprawdzana.

is_signed

int

Zwraca wartość 0, gdy obiekt nie jest podpisany przez pod warunkiem, że odcisk palca.Zwraca wartość 1, gdy obiekt jest podpisany przez pod warunkiem, że odcisk palca.

is_signature_valid

int

Gdy is_signed wartość wynosi 1, zwraca wartość 0, gdy podpis jest nieprawidłowy.Zwraca wartość 1, gdy podpis jest prawidłowy.

Gdy is_signed wartość jest równa 0, zawsze zwraca wartość 0.

Remarks

Użycie fn_check_object_signatures Aby potwierdzić, że złośliwych użytkowników nie jest modyfikowany z obiektami.

Uprawnienia

Definicja VIEW wymaga certyfikat lub klucz asymetrycznego.

Przykłady

A.Ocena podpisu obiektów w bazie danych głównych

W poniższym przykładzie znajdzie schemat certyfikat do podpisywania wzorzec bazy danych, a następnie zwraca is_signed wartość 1 i is_signature_valid wartość 1 dla tych obiektów, które są podpisane przez schemat certyfikat podpisywania, których prawidłowych podpisów.

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