ALTER CERTIFICATE(Transact-SQL)
업데이트: 2006년 12월 12일
인증서를 암호화하는 데 사용된 개인 키를 변경하거나 개인 키가 없는 경우 추가합니다. Service Broker에 대한 인증서의 가용성을 변경합니다.
구문
ALTER CERTIFICATE certificate_name
REMOVE PRIVATE KEY
|
WITH PRIVATE KEY ( <private_key_spec> [ ,... ] )
|
WITH ACTIVE FOR BEGIN_DIALOG = [ ON | OFF ]
<private_key_spec> ::=
FILE = 'path_to_private_key'
|
DECRYPTION BY PASSWORD = 'key_password'
|
ENCRYPTION BY PASSWORD = 'password'
인수
- certificate_name
데이터베이스에서 인증서를 식별하는 고유한 이름입니다.
- FILE ='path_to_private_key'
개인 키에 대해 파일 이름을 포함하여 전체 경로를 지정합니다. 이 매개 변수는 로컬 경로이거나 네트워크 위치에 대한 UNC 경로가 될 수 있습니다. 이 파일은 SQL Server 서비스 계정의 보안 컨텍스트 내에서 액세스할 수 있습니다. 이 옵션을 사용할 경우 지정한 파일에 대한 액세스 권한이 서비스 계정에 있는지 확인해야 합니다.
- DECRYPTION BY PASSWORD ='key_password'
개인 키를 해독하는 데 필요한 암호를 지정합니다.
- ENCRYPTION BY PASSWORD ='password'
데이터베이스에서 인증서의 개인 키를 암호화하는 데 사용되는 암호를 지정합니다. 이 암호는 암호 복잡성 정책을 따릅니다. 자세한 내용은 암호 정책을 참조하십시오.
- REMOVE PRIVATE KEY
데이터베이스 내에서 더 이상 개인 키를 유지하지 않도록 지정합니다.
- ACTIVE FOR BEGIN_DIALOG = { ON | OFF }
Service Broker 대화 기능의 시작자가 인증서를 사용할 수 있게 합니다.
주의
개인 키는 certificate_name으로 지정한 공개 키에 대응해야 합니다.
파일에 있는 암호가 Null 암호로 보호되는 경우에는 DECRYPTION BY PASSWORD 절을 생략할 수 있습니다.
데이터베이스에 있는 기존 인증서의 개인 키를 파일에서 가져오는 경우 해당 개인 키는 데이터베이스 마스터 키로 자동으로 보호됩니다. 개인 키를 암호로 보호하려면 ENCRYPTION BY PASSWORD 절을 사용합니다.
REMOVE PRIVATE KEY 옵션을 사용하면 데이터베이스에서 인증서의 개인 키를 삭제할 수 있습니다. 서명의 유효성 검증에 인증서를 사용할 때 또는 개인 키가 필요없는 Service Broker 시나리오에서 이 옵션을 사용할 수 있습니다. 대칭 키를 보호하는 인증서의 개인 키는 제거하지 마십시오.
데이터베이스 마스터 키를 사용하여 개인 키를 암호화한 경우에는 해독 암호를 지정할 필요가 없습니다.
중요: |
---|
데이터베이스에서 개인 키를 제거하기 전에 복사본을 만들어 보관하십시오. 자세한 내용은 BACKUP CERTIFICATE(Transact-SQL)을 참조하십시오. |
사용 권한
인증서에 대한 ALTER 권한이 필요합니다.
예
1. 인증서 암호 변경
ALTER CERTIFICATE Shipping04
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'pGF$5DGvbd2439587y',
ENCRYPTION BY PASSWORD = '4-329578thlkajdshglXCSgf');
GO
2. 개인 키를 암호화하는 데 사용된 암호 변경
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (ENCRYPTION BY PASSWORD = '34958tosdgfkh##38',
DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%');
GO
3. 데이터베이스의 기존 인증서에 대한 개인 키 가져오기
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
4. 개인 키 보호를 암호에서 데이터베이스 마스터 키로 변경
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
참고 항목
참조
CREATE CERTIFICATE(Transact-SQL)
DROP CERTIFICATE(Transact-SQL)
BACKUP CERTIFICATE(Transact-SQL)
EVENTDATA(Transact-SQL)