ALTER CRYPTOGRAPHIC PROVIDER(Transact-SQL)
적용 대상: SQL Server
SQL Server 내 암호화 공급자인 EKM(확장 가능 키 관리) 공급자를 변경합니다.
구문
ALTER CRYPTOGRAPHIC PROVIDER provider_name
[ FROM FILE = path_of_DLL ]
ENABLE | DISABLE
인수
provider_name
EKM(확장 가능 키 관리) 공급자의 이름입니다.
Path_of_DLL
SQL Server EKM(확장 가능 키 관리) 인터페이스를 구현하는 .dll 파일의 경로입니다.
ENABLE | DISABLE
공급자를 설정하거나 해제합니다.
설명
공급자 변경 시 SQL Server에서 EKM(확장 가능 키 관리)을 구현하는 데 사용되는 .dll 파일도 변경하려면 ALTER CRYPTOGRAPHIC PROVIDER 문을 사용해야 합니다.
ALTER CRYPTOGRAPHIC PROVIDER 문을 통해 .dll 파일 경로가 업데이트되면 SQL Server에서 다음 동작을 수행합니다.
- 공급자를 해제합니다.
- DLL 서명을 확인하고 .dll 파일의 GUID가 카탈로그에 기록된 것과 같은지 확인합니다.
- 카탈로그의 DLL 버전을 업데이트합니다.
EKM 공급자가 DISABLE로 설정된 경우 새 연결에서 암호화 문으로 공급자를 사용하려는 모든 시도는 실패하게 됩니다.
공급자를 해제하려면 공급자를 사용하는 모든 세션을 종료해야 합니다.
EKM 공급자 dll이 필요한 메서드를 모두 구현하지 않으면 ALTER CRYPTOGRAPHIC PROVIDER가 다음과 같은 오류 33085를 반환할 수 있습니다.
One or more methods cannot be found in cryptographic provider library '%.*ls'.
EKM 공급자 dll을 만드는 데 사용한 헤더 파일이 오래된 경우에는 ALTER CRYPTOGRAPHIC PROVIDER가 다음과 같은 오류 33032를 반환할 수 있습니다.
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
사용 권한
암호화 공급자에 대한 CONTROL 권한이 필요합니다.
예
다음 예에서는 SecurityProvider
의 SQL Server이라는 암호화 공급자를 새 버전의 .dll 파일로 변경합니다. 새 버전의 이름은 c:\SecurityProvider\SecurityProvider_v2.dll
이며 서버에 설치됩니다. 공급자의 인증서는 서버에 설치되어야 합니다.
- 공급자가 업그레이드를 수행하지 못하도록 설정합니다. 이렇게 하면 모든 열려 있는 암호화 세션이 종료됩니다.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
DISABLE;
GO
- 공급자 .dll 파일을 업그레이드합니다. GUID는 이전 버전과 동일해야 하지만 버전이 다를 수 있습니다.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO
- 업그레이드된 공급자를 사용 하도록 설정합니다.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
ENABLE;
GO
참고 항목
EKM(확장 가능 키 관리)
CREATE CRYPTOGRAPHIC PROVIDER(Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER(Transact-SQL)
CREATE SYMMETRIC KEY(Transact-SQL)
Azure Key Vault(SQL Server)를 사용한 확장 가능 키 관리