CERTPRIVATEKEY(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
이 함수는 인증서의 프라이빗 키를 이진 형식으로 반환합니다. 이 함수는 세 개의 인수를 사용합니다.
- 인증서 ID입니다.
- 함수에서 반환하는 프라이빗 키 비트를 암호화하는 데 사용되는 암호화 암호입니다. 이 방법은 사용자에게 키를 지우는 텍스트로 노출하지 않습니다.
- 선택적 암호 해독 암호입니다. 지정된 암호 해독 암호는 인증서의 프라이빗 키를 해독하는 데 사용됩니다. 그렇지 않으면 데이터베이스 마스터 키가 사용됩니다.
인증서 프라이빗 키에 액세스할 수 있는 사용자만 이 함수를 사용할 수 있습니다. 이 함수는 프라이빗 키를 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)