CERTPRIVATEKEY (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

この関数は、証明書の秘密キーをバイナリ形式で返します。 この関数は 3 つの引数を受け取ります。

  • 証明書 ID。
  • 関数によって返される秘密キーのビットの暗号化に使用される暗号化パスワード。 この方法では、キーはユーザーにクリア テキストとして公開されません。
  • オプションの暗号化解除パスワード。 証明書の秘密キーを暗号化解除するために指定された暗号化解除パスワードが使用されます。 それ以外の場合、データベース マスター キーが使用されます。

証明書の秘密キーへのアクセス権を持つユーザーだけが、この関数を使用できます。 この関数では、秘密キーが PVK 形式で返されます。

構文

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

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

certificate_ID
証明書の certificate_id。 この値は、sys.certificates または CERT_ID (Transact-SQL) 関数から取得します。 cert_idint データ型です。

encryption_password
返されたバイナリ値の暗号化に使用するパスワード。

decryption_password
返されたバイナリ値の暗号化の解除に使用するパスワード。

戻り値の型

varbinary

解説

CERTENCODEDCERTPRIVATEKEY を一緒に使用すると、バイナリの形式で証明書の異なる部分を返します。

アクセス許可

CERTPRIVATEKEY はパブリックに使用できます。

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');  

CERTPRIVATEKEYCERTENCODED を使用して証明書を別のデータベースにコピーするより複雑な例については、「CERTENCODED (Transact-SQL)」の例 B を参照してください。

こちらもご覧ください

セキュリティ関数 (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)セキュリティ関数 (Transact-SQL)sys.certificates (Transact-SQL)