Поделиться через


SIGNBYCERT (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Подписывает текст сертификатом и возвращает подпись.

Соглашения о синтаксисе Transact-SQL

Синтаксис

SignByCert ( certificate_ID , @cleartext [ , 'password' ] )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

certificate_ID
Идентификатор сертификата в текущей базе данных. Аргумент certificate_ID имеет тип int.

@cleartext
Переменная типа nvarchar, char, varchar или nchar, содержащая данные, которые будут подписаны.

'password'
Пароль, при помощи которого был зашифрован закрытый ключ сертификата. Аргумент password имеет тип nvarchar(128).

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

Переменная типа varbinary с максимальным размером 8000 байт.

Замечания

Требует разрешения CONTROL для сертификата.

Примеры

В приведенном ниже примере текст переменной @SensitiveData подписывается сертификатом ABerglundCert07 после расшифровки сертификата с помощью пароля "pGFD4bb925DGvbd2439587y". Затем открытый текст и подпись вставляются в таблицу SignedData04.

DECLARE @SensitiveData NVARCHAR(max);  
SET @SensitiveData = N'Saddle Price Points are   
    2, 3, 5, 7, 11, 13, 17, 19, 23, 29';  
INSERT INTO [SignedData04]  
    VALUES( N'data signed by certificate ''ABerglundCert07''',  
    @SensitiveData, SignByCert( Cert_Id( 'ABerglundCert07' ),   
    @SensitiveData, N'pGFD4bb925DGvbd2439587y' ));  
GO  

См. также

VERIFYSIGNEDBYCERT (Transact-SQL)
CERT_ID (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
Иерархия средств шифрования