Applies to: SQL Server (all supported versions) Azure SQL Database
Signs plaintext with an asymmetric key
SignByAsymKey( Asym_Key_ID , @plaintext [ , 'password' ] )
To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.
Is the ID of an asymmetric key in the current database. Asym_Key_ID isint.
Is a variable of type nvarchar, char, varchar, or nchar containing data that will be signed with the asymmetric key.
Is the password with which the private key is protected. password is nvarchar(128).
varbinary with a maximum size of 8,000 bytes.
Requires CONTROL permission on the asymmetric key.
The following example creates a table,
SignedData04, in which to store plaintext and its signature. It next inserts a record in the table, signed with asymmetric key
PrimeKey, which is first decrypted with password
-- 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