SignByCert (Transact-SQL)
Firma texto con un certificado y devuelve la firma.
Sintaxis
SignByCert ( certificate_ID , @cleartext [ , 'password' ] )
Argumentos
certificate_ID
Id. de un certificado de la base de datos actual.certificate_ID es int.@cleartext
Es una variable de tipo nvarchar, char, varchar o nchar que contiene los datos que se firmarán con un certificado.'password'
Contraseña con la que se cifró la clave privada del certificado.password esnvarchar(128).
Tipos de valor devueltos
varbinary con un tamaño máximo de 8.000 bytes.
Comentarios
Requiere el permiso CONTROL en el certificado.
Ejemplos
En el ejemplo siguiente se firma el texto de @SensitiveData con el certificado ABerglundCert07 tras descifrar el certificado con contraseña "pGFD4bb925DGvbd2439587y". A continuación, se inserta el texto sin cifrar y la firma en la tabla 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