CERTPRIVATEKEY (Transact-SQL)

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

  • Идентификатор сертификата.

  • Пароль шифрования, который используется для шифрования возвращаемых функцией битов закрытого ключа, чтобы ключи не передавались пользователям в виде открытого текста.

  • Необязательный пароль для дешифрования. Если пароль дешифрования указан, то он используется для расшифровки закрытого ключа сертификата, в противном случае используется главный ключ базы данных.

Только пользователи с доступом к закрытому ключу сертификата смогут использовать эту функцию. Эта функция возвращает закрытый ключ в формате ПВК.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии).

Синтаксис

CERTPRIVATEKEY 
    (
          cert_ID 
        , ' encryption_password ' 
      [ , ' decryption_password ' ]
    )

Аргументы

  • certificate_ID
    Это идентификатор certificate_id сертификата. Его можно получить из sys.certificates или через вызов функции CERT_ID (Transact-SQL). Значение cert_id имеет тип int

  • encryption_password
    Пароль, используемый для шифрования возвращаемого двоичного значения.

  • decryption_password
    Пароль, используемый для расшифровки возвращаемого двоичного значения.

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

varbinary

Замечания

Функции CERTENCODED и CERTPRIVATEKEY используются совместно для возврата различных составляющих сертификата в двоичной форме.

Разрешения

Функция CERTPRIVATEKEY доступна для роли public.

Примеры

CREATE DATABASE TEST1;
GO
USE TEST1
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Use 5tr0ng P^55Words'
GO
CREATE CERTIFICATE Shipping04 
WITH SUBJECT = 'Sammamish Shipping Records', 
EXPIRY_DATE = '20141031';
GO
SELECT CERTPRIVATEKEY(CERT_ID('Shipping04'), 'jklalkaa/; uia3dd');

Более сложный пример использования функций CERTPRIVATEKEY и CERTENCODED для копирования сертификата в другую базу данных см. в примере Б из раздела CERTENCODED (Transact-SQL).

См. также

Справочник

Функции безопасности (Transact-SQL)

Инструкция CREATE CERTIFICATE (Transact-SQL)

Функции безопасности (Transact-SQL)

sys.certificates (Transact-SQL)