다음을 통해 공유


CERTPRIVATEKEY(Transact-SQL)

적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance SQL 데이터베이스

이 함수는 인증서의 프라이빗 키를 이진 형식으로 반환합니다. 이 함수는 세 개의 인수를 사용합니다.

  • 인증서 ID입니다.
  • 함수에서 반환하는 프라이빗 키 비트를 암호화하는 데 사용되는 암호화 암호입니다. 이 방법은 사용자에게 키를 지우는 텍스트로 노출하지 않습니다.
  • 선택적 암호 해독 암호입니다. 지정된 암호 해독 암호는 인증서의 프라이빗 키를 해독하는 데 사용됩니다. 그렇지 않으면 데이터베이스 마스터 키가 사용됩니다.

인증서 프라이빗 키에 액세스할 수 있는 사용자만 이 함수를 사용할 수 있습니다. 이 함수는 프라이빗 키를 PVK 형식으로 반환합니다.

구문

CERTPRIVATEKEY   
    (  
          cert_ID   
        , ' encryption_password '   
      [ , ' decryption_password ' ]  
    )  

인수

certificate_ID
인증서의 certificate_id입니다. sys.certificates 또는 CERT_ID(Transact-SQL) 함수에서 이 값을 구합니다. cert_idint 데이터 형식을 갖습니다.

encryption_password
반환된 이진 값을 암호화하는 데 사용되는 암호입니다.

decryption_password
반환된 이진 값을 해독하는 데 사용되는 암호입니다.

반환 형식

varbinary

설명

CERTENCODEDCERTPRIVATEKEY를 함께 사용하여 이진 형태로 인증서의 다른 부분을 반환합니다.

사용 권한

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');  

CERTPRIVATEKEYCERTENCODED를 사용하여 다른 데이터베이스로 인증서를 복사하는 더 복잡한 예제는 CERTENCODED(Transact-SQL)의 예제 B를 참조하세요.

참고 항목

보안 함수(Transact-SQL)
CREATE CERTIFICATE(Transact-SQL)보안 함수(Transact-SQL)sys.certificates(Transact-SQL)