CERTPRIVATEKEY (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
此函式會以二進位格式傳回憑證的私密金鑰。 這個函數會採用三個引數。
- 憑證識別碼。
- 加密密碼,用來加密函式所傳回的私密金鑰位元。 這種方法不會向使用者公開純文字格式的金鑰。
- 選擇性解密密碼。 使用指定的解密密碼,來解密憑證的私密金鑰。 否則,會使用資料庫主要金鑰。
只有具有憑證私密金鑰存取權的使用者才能使用此函式。 這個函數會傳回 PVK 格式的私密金鑰。
語法
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 可以公開使用。
範例
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)