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


SIGNBYCERT (Transact-SQL)

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

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

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

Синтаксис

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

Аргументы

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)
СОЗДАТЬ СЕРТИФИКАТ (Transact-SQL)
СЕРТИФИКАТ ALTER (Transact-SQL)
СЕРТИФИКАТ DROP (Transact-SQL)
Иерархия средств шифрования