Freigeben über


SignByCert (Transact-SQL)

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

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

  • @cleartext
    Eine Variable vom Typ nvarchar, char, varchar oder nchar, die zu signierende Daten enthält.

  • 'password'
    Das Kennwort, mit dem der private Schlüssel des Zertifikats verschlüsselt wurde. password ist 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