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