다음을 통해 공유


SIGNBYCERT(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

인증서를 사용하여 일반 텍스트에 서명하고 서명을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

SignByCert ( certificate_ID , @cleartext [ , 'password' ] )  

인수

certificate_ID
현재 데이터베이스에 있는 인증서 ID입니다. certificate_ID는 int입니다.

@cleartext
서명될 데이터가 들어 있는 nvarchar, char, varchar 또는 nchar 형식의 변수입니다.

' password '
인증서 프라이빗 키를 암호화할 때 사용한 암호입니다. 암호nvarchar(128)입니다.

반환 형식

최대 크기가 8,000바이트인 varbinary입니다.

설명

인증서에 대한 CONTROL 권한이 필요합니다.

예제

다음 예에서는 @SensitiveData 인증서를 사용하여 ABerglundCert07의 텍스트에 서명합니다. 이 인증서는 먼저 암호 "pGFD4bb925DGvbd2439587y"를 사용하여 해독해야 합니다. 그런 다음 SignedData04 테이블에 일반 텍스트와 서명을 삽입합니다.

DECLARE @SensitiveData NVARCHAR(max);  
SET @SensitiveData = N'Saddle Price Points are   
    2, 3, 5, 7, 11, 13, 17, 19, 23, 29';  
INSERT INTO [SignedData04]  
    VALUES( N'data signed by certificate ''ABerglundCert07''',  
    @SensitiveData, SignByCert( Cert_Id( 'ABerglundCert07' ),   
    @SensitiveData, N'pGFD4bb925DGvbd2439587y' ));  
GO  

참고 항목

VERIFYSIGNEDBYCERT(Transact-SQL)
CERT_ID(Transact-SQL)
CREATE CERTIFICATE(Transact-SQL)
ALTER CERTIFICATE(Transact-SQL)
DROP CERTIFICATE(Transact-SQL)
암호화 계층