SignByCert (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