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 имеет тип intencryption_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)