Freigeben über


SIGNBYCERT (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

Signiert Text mit einem Zertifikat und gibt die Signatur zurück.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

certificate_ID
Die ID eines Zertifikats in der aktuellen Datenbank. certificate_ID ist vom Datentyp int.

@cleartext
Eine Variable vom Typ nvarchar, char, varcharoder nchar, die mit einem Zertifikat signierte Daten enthält.

'password'
Das Kennwort, mit dem der private Schlüssel des Zertifikats verschlüsselt wurde. password ist vom Datentyp nvarchar(128).

Rückgabetypen

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

Hinweise

Erfordert die CONTROL-Berechtigung für das Zertifikat.

Beispiele

Im folgenden Beispiel wird der Text in @SensitiveData mit dem Zertifikat ABerglundCert07 signiert, nachdem zuvor das Zertifikat mit dem Kennwort "pGFD4bb925DGvbd2439587y" entschlüsselt wurde. Anschließend werden der Klartext und die Signatur in die SignedData04-Tabelle eingefügt.

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  

Siehe auch

VERIFIFYSIGNEDBYCERT (Transact-SQL)
CERT_ID (Transact-SQL)
ZERTIFIKAT ERSTELLEN (Transact-SQL)
ALTER-ZERTIFIKAT (Transact-SQL)
ABSCHLUSSZERTIFIKAT (Transact-SQL)
Verschlüsselungshierarchie