SIGNBYCERT (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Firma texto con un certificado y devuelve la firma.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

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 van a firmar.

'password'
Es la contraseña con la que se cifró la clave privada del certificado. password es nvarchar(128).

Tipos de valor devuelto

varbinary con un tamaño máximo de 8000 bytes.

Comentarios

Requiere el permiso CONTROL en el certificado.

Ejemplos

En el siguiente ejemplo 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  

Consulte también

VERIFYSIGNEDBYCERT (Transact-SQL)
CERT_ID (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
Jerarquía de cifrado