CERTPRIVATEKEY (Transact-SQL)
返回二进制格式的证书私钥。 此函数有三个参数。
一个证书 ID。
一个加密密码,用于对该函数返回的私钥位加密,防止密钥以明文形式向用户公开。
一个可选的解密密码。 如果指定了解密密码,则用它来对证书的私钥解密,否则使用数据库主密钥。
只有有权访问证书私钥的用户才能使用此函数。 此函数返回 PVK 格式的私钥。
语法
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。