CERTPRIVATEKEY (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure 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_id は int データ型です。
encryption_password
返されたバイナリ値の暗号化に使用するパスワード。
decryption_password
返されたバイナリ値の暗号化の解除に使用するパスワード。
戻り値の型
varbinary
解説
CERTENCODED と CERTPRIVATEKEY を一緒に使用すると、バイナリの形式で証明書の異なる部分を返します。
アクセス許可
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');
CERTPRIVATEKEY と CERTENCODED を使用して証明書を別のデータベースにコピーするより複雑な例については、「CERTENCODED (Transact-SQL)」の例 B を参照してください。
こちらもご覧ください
セキュリティ関数 (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)セキュリティ関数 (Transact-SQL)sys.certificates (Transact-SQL)