SignByCert (Transact-SQL)

Firma texto con un certificado y devuelve la firma.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

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.

Notas

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