CERTPRIVATEKEY (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Diese Funktion gibt den privaten Schlüssel eines Zertifikats im Binärformat zurück. Diese Funktion akzeptiert drei Argumente.

  • Eine Zertifikat-ID.
  • Ein Verschlüsselungskennwort, das verwendet wird, um die Bits des privaten Schlüssels zu verschlüsseln, die von der Funktion zurückgegeben werden. Diese Vorgehensweise legt die Schlüssel nicht als Klartext für Benutzer offen.
  • Ein optionales Entschlüsselungskennwort. Ein angegebenes Entschlüsselungskennwort wird verwendet, um den privaten Schlüssel für dieses Zertifikat zu entschlüsseln. Andernfalls wird der Hauptschlüssel der Datenbank verwendet.

Diese Funktion kann nur von Benutzern mit Zugriff auf den privaten Zertifikatschlüssel verwendet werden. Diese Funktion gibt den privaten Schlüssel im PVK-Format zurück.

Syntax

CERTPRIVATEKEY   
    (  
          cert_ID   
        , ' encryption_password '   
      [ , ' decryption_password ' ]  
    )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

certificate_ID
Die certificate_id des Zertifikats. Rufen Sie diesen Wert von „sys.certificates“ oder von CERT_ID (Transact-SQL)-Funktion ab. cert-id weist den Datentyp int auf.

encryption_password
Das Kennwort, das verwendet wird, um den zurückgegebenen Binärwert zu verschlüsseln.

decryption_password
Das Kennwort, das verwendet wird, um den zurückgegebenen Binärwert zu entschlüsseln.

Rückgabetypen

varbinary

Bemerkungen

Verwenden Sie CERTENCODED und CERTPRIVATEKEY zusammen, um andere Teile eines Zertifikats in binärer Form zurückzugeben.

Berechtigungen

CERTPRIVATEKEY ist öffentlich verfügbar.

Beispiele

CREATE DATABASE TEST1;  
GO  
USE TEST1  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Use 5tr0ng P^55Words'  
GO  
CREATE CERTIFICATE Shipping04   
WITH SUBJECT = 'Sammamish Shipping Records',   
EXPIRY_DATE = '20401031';  
GO  
SELECT CERTPRIVATEKEY(CERT_ID('Shipping04'), 'jklalkaa/; uia3dd');  

Ein komplexeres Beispiel für die Verwendung von CERTPRIVATEKEY und CERTENCODED zum Kopieren eines Zertifikats in eine andere Datenbank finden Sie in Beispiel B im Artikel zu CERTENCODED (Transact-SQL).

Siehe auch

Sicherheitsfunktionen (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)Sicherheitsfunktionen (Transact-SQL)sys.certificates (Transact-SQL)