CREATE CRYPTOGRAPHIC PROVIDER(Transact-SQL)

EKM(확장 가능 키 관리) 공급자에서 SQL Server 내에 암호화 공급자를 만듭니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

인수

  • provider_name
    EKM(확장 가능 키 관리) 공급자의 이름입니다.

  • path_of_DLL
    SQL Server EKM(확장 가능 키 관리) 인터페이스를 구현하는 .dll의 경로입니다.

주의

공급자에서 만든 모든 키는 해당 GUID로 공급자를 참조합니다.. GUID는 모든 버전의 DLL에 보존됩니다.

SQLEKM 인터페이스를 구현하는 DLL은 인증서를 사용하여 디지털로 서명해야 합니다. 그러면 SQL Server가 서명을 확인합니다. 여기에는 해당 루트가 Windows 시스템에서 Trusted Root Cert Authorities 위치에 설치해야 하는 해당 인증서 체인이 포함됩니다. 서명이 제대로 확인되지 않으면 CREATE CRYPTOGRAPHIC PROVIDER 문이 실패합니다. 인증서 및 인증서 체인에 대한 자세한 내용은 SQL Server 인증서 및 비대칭 키를 참조하십시오.

EKM 공급자 dll이 필요한 메서드를 모두 구현하지 않으면 CREATE CRYPTOGRAPHIC PROVIDER가 다음과 같은 오류 33085를 반환할 수 있습니다.

암호화 공급자 라이브러리 '%.*ls'에서 하나 이상의 메서드를 찾을 수 없습니다.

EKM 공급자 dll을 만드는 데 사용한 헤더 파일이 오래된 경우에는 CREATE CRYPTOGRAPHIC PROVIDER가 다음과 같은 오류 33032를 반환할 수 있습니다.

공급자가 구현한 SQL Crypto API 버전 '%02d.%02d'이(가) 지원되지 않습니다. 지원되는 버전은 '%02d.%02d'입니다.

사용 권한

대칭 키에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 SQL Server에서 .dll 파일로부터 SecurityProvider라는 암호화 공급자를 만듭니다. .dll 파일의 이름은 c:\SecurityProvider\SecurityProvider_v1.dll이고 이 파일은 서버에 설치됩니다. 먼저 공급자의 인증서가 서버에 설치되어 있어야 합니다.

-- Install the provider
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider
    FROM FILE = 'c:\SecurityProvider\SecurityProvider_v1.dll'