次の方法で共有


CERTPRIVATEKEY (Transact-SQL)

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

  • 証明書の ID。

  • キーがクリア テキストでユーザーに公開されないように、秘密キーのビットが関数によって返されたときにそのビットを暗号化するために使用する暗号化パスワード。

  • 省略可能な暗号化解除パスワード。 暗号化解除パスワードを指定した場合は、そのパスワードを使用して、証明書の秘密キーの暗号化を解除します。それ以外の場合は、データベース マスター キーを使用します。

この関数を使用できるのは、証明書の秘密キーにアクセスできるユーザーのみです。 この関数は、秘密キーを PVK 形式で返します。

適用対象: SQL Server (SQL Server 2012 から現在のバージョンまで)

構文

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

引数

  • certificate_ID
    証明書の certificate_id。 これは、sys.certificates または CERT_ID (Transact-SQL) 関数を使用して取得できます。 cert_id のデータ型は int 型です。

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

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

戻り値の型

varbinary

解説

証明書の別の部分をバイナリ形式で返すには、CERTENCODED と CERTPRIVATEKEY を一緒に使用します。

権限

CERTPRIVATEKEY は、public で使用できます。

使用例

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 = '20141031';
GO
SELECT CERTPRIVATEKEY(CERT_ID('Shipping04'), 'jklalkaa/; uia3dd');

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

関連項目

参照

セキュリティ関数 (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

セキュリティ関数 (Transact-SQL)

sys.certificates (Transact-SQL)