CERTPRIVATEKEY (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric의 SQL 데이터베이스

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

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

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

Syntax

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

Arguments

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

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

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

반환 형식

varbinary

Remarks

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

Permissions

CERTPRIVATEKEY 는 공개적으로 사용할 수 있습니다.

Examples

Note

Azure SQL Database에서 추가 옵션 없이 실행 CREATE DATABASE 하면, 데이터베이스는 기본 설정으로 논리 서버에서 생성됩니다. Azure SQL Database나 Microsoft Fabric의 SQL 데이터베이스에서 의도된 데이터베이스가 이미 존재한다면, 샘플과 CREATE DATABASE 지원되지 USE 않는 문장은 건너뛰고 직접 그 데이터베이스에 연결할 수 있습니다.

USE [master];
GO
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를 참조하세요.