Compartir a través de


SignByAsymKey (Transact-SQL)

Firma texto simple con una clave asimétrica

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

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