CertProperty (Transact-SQL)

Возвращает значение указанного свойства сертификата.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

CertProperty ( Cert_ID , '<PropertyName>' )

<PropertyName> ::=
   Expiry_Date | Start_Date | Issuer_Name 
   | Cert_Serial_Number | Subject | SID | String_SID 

Аргументы

  • Cert_ID
    Идентификатор сертификата. Аргумент Cert_ID имеет тип int.

  • Expiry_Date
    Дата истечения срока действия сертификата.

  • Start_Date
    Дата вступления сертификата в силу.

  • Issuer_Name
    Имя выдавшего сертификат.

  • Cert_Serial_Number
    Серийный номер сертификата.

  • Subject
    Предмет сертификата.

  • SID
    Идентификатор защиты (SID) сертификата. А также это SID любого имени входа или пользователя, сопоставленного этому сертификату.

  • String_SID
    Идентификатор защиты (SID) сертификата в виде символьной строки. А также это SID любого имени входа или пользователя, сопоставленного этому сертификату.

Типы возвращаемых данных

Задание свойства должно заключаться в одинарные кавычки.

Возвращаемый тип зависит от свойства, указанного при вызове функции. Все возвращаемые значения упаковываются в возвращаемый тип sql_variant.

  • Аргументы Expiry_Date и Start_Date возвращают тип datetime.

  • Аргументы Cert_Serial_Number, Issuer_Name, Subject и String_SID возвращают тип nvarchar.

  • Аргумент SID возвращает тип varbinary.

Замечания

Сведения о сертификатах можно увидеть в представлении каталога sys.certificates.

Разрешения

Требуется ряд разрешений на сертификат, кроме того у участника не должно быть запрещено разрешение VIEW DEFINITION на этот сертификат.

Примеры

В следующем примере возвращается предмет сертификата.

-- First create a certificate.
CREATE CERTIFICATE Marketing19 WITH 
    START_DATE = '04/04/2004' ,
    EXPIRY_DATE = '07/07/2007' ,
    SUBJECT = 'Marketing Print Division';
GO

-- Now use CertProperty to examine certificate
-- Marketing19's properties.
DECLARE @CertSubject sql_variant;
set @CertSubject = CertProperty( Cert_ID('Marketing19'), 'Subject');
PRINT CONVERT(nvarchar, @CertSubject);
GO