CERTPROPERTY (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Returns the value of a specified certificate property.

Transact-SQL syntax conventions

Syntax

CertProperty ( Cert_ID , '<PropertyName>' )  
  
<PropertyName> ::=  
   Expiry_Date | Start_Date | Issuer_Name   
   | Cert_Serial_Number | Subject | SID | String_SID   

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

Cert_ID
The certificate ID value, of data type int.

Expiry_Date
The certificate expiration date.

Start_Date
The date when the certificate becomes valid.

Issuer_Name
The name of the certificate issuer.

Cert_Serial_Number
The certificate serial number.

Subject
The certificate subject.

SID
The certificate SID. This is also the SID of any login or user mapped to this certificate.

String_SID
The SID of the certificate as a character string. This is also the SID of any login or user mapped to the certificate.

Return types

Single quotation marks must enclose the property specification.

The return type depends on the property specified in the function call. The return type sql_variant wraps all return values.

  • Expiry_Date and Start_Date return datetime.
  • Cert_Serial_Number, Issuer_Name, String_SID, and Subject all return nvarchar.
  • SID returns varbinary.

Remarks

See certificate information in the sys.certificates catalog view.

Permissions

Requires appropriate permission(s) on the certificate, and requires that the caller has not been denied VIEW permission on the certificate. See CREATE CERTIFICATE (Transact-SQL) and GRANT CERTIFICATE PERMISSIONS (Transact-SQL) for more information about certificate permissions.

Examples

The following example returns the certificate subject.

-- First create a certificate.  
CREATE CERTIFICATE Marketing19 WITH   
    START_DATE = '04/04/2004' ,  
    EXPIRY_DATE = '07/07/2040' ,  
    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  

See also

CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
CERT_ID (Transact-SQL) Encryption Hierarchy sys.certificates (Transact-SQL) Security Catalog Views (Transact-SQL)