SignByAsymKey (Transact-SQL)
Firma texto simple con una clave asimétrica
Sintaxis
SignByAsymKey( Asym_Key_ID , @plaintext [ , 'password' ] )
Argumentos
Asym_Key_ID
Id. de una clave asimétrica en la base de datos actual.Asym_Key_ID esint.@plaintext
Variable de tipo nvarchar, char, varchar o nchar que contiene datos que se firmarán con la clave asimétrica.password
Especifica la antigua contraseña con la que está protegida la clave privada.password esnvarchar(128).
Tipos de valor devueltos
varbinary con un tamaño máximo de 8.000 bytes.
Comentarios
Requiere el permiso CONTROL en la clave asimétrica.
Ejemplos
En el ejemplo siguiente se crea una tabla, SignedData04, en la que se almacenará texto simple y su firma. A continuación se inserta un registro en la tabla, firmado con la clave asimétrica PrimeKey, que se descifra primero con la contraseña 'pGFD4bb925DGvbd2439587y'.
-- Create a table in which to store the data
CREATE TABLE [SignedData04]( Description nvarchar(max), Data nvarchar(max), DataSignature varbinary(8000) );
GO
-- Store data together with its signature
DECLARE @clear_text_data nvarchar(max);
set @clear_text_data = N'Important numbers 2, 3, 5, 7, 11, 13, 17,
19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79,
83, 89, 97';
INSERT INTO [SignedData04]
VALUES( N'data encrypted by asymmetric key ''PrimeKey''',
@clear_text_data, SignByAsymKey( AsymKey_Id( 'PrimeKey' ),
@clear_text_data, N'pGFD4bb925DGvbd2439587y' ));
GO