共用方式為


CERTPRIVATEKEY (Transact-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 可供 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)