Freigeben über


SignByAsymKey (Transact-SQL)

Signiert Nur-Text mit einem asymmetrischen Schlüssel.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

SignByAsymKey( Asym_Key_ID , @plaintext [ , 'password' ] )

Argumente

  • Asym_Key_ID
    Die ID eines asymmetrischen Schlüssels in der aktuellen Datenbank. Asym_Key_ID istint.

  • @plaintext
    Eine Variable vom Typ nvarchar, char, varchar oder nchar, die Daten enthält, die mit dem asymmetrischen Schlüssel signiert werden sollen.

  • password
    Das Kennwort, mit dem der private Schlüssel verschlüsselt ist. password ist nvarchar(128).

Rückgabetypen

varbinary mit einer maximalen Größe von 8.000 Bytes.

Hinweise

Erfordert die CONTROL-Berechtigung für den asymmetrischen Schlüssel.

Beispiele

Im folgenden Beispiel wird eine Tabelle mit dem Namen SignedData04 erstellt, in der Nur-Text zusammen mit der zugehörigen Signatur gespeichert wird. Anschließend wird ein Datensatz in die Tabelle eingefügt, der mit dem asymmetrischen Schlüssel PrimeKey signiert ist, der zuvor mit dem Kennwort 'pGFD4bb925DGvbd2439587y' entschlüsselt wird.

-- 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