CERTPRIVATEKEY (Transact-SQL)
以二進位格式傳回憑證的私密金鑰。 這個函數會採用三個引數。
憑證識別碼。
由此函數傳回時,用來加密私密金鑰位元的加密密碼,如此一來,私密金鑰就不會以純文字格式公開給使用者。
選擇性的解密密碼。 如果指定解密密碼,則會使用此密碼來解密憑證的私密金鑰,否則會使用資料庫主要金鑰。
只有具有憑證之私密金鑰存取權的使用者才能使用這個函數。 這個函數會傳回 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 的型別為 intencryption_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。