VerifySignedByAsmKey(Transact-SQL)

디지털 서명된 데이터가 서명된 후 변경되었는지 여부를 테스트합니다.

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

구문

VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )

인수

  • Asym_Key_ID
    데이터베이스에 있는 비대칭 키 인증서의 ID입니다.
  • clear_text
    확인할 일반 텍스트 데이터입니다.
  • signature
    서명된 데이터에 첨부된 서명입니다. varbinary.

반환 유형

int

서명이 일치하면 1을 반환하고 그렇지 않으면 0을 반환합니다.

주의

VerifySignedByAsmKey는 데이터베이스에 저장된 비대칭 키를 사용하여 이전에 서명된 데이터에서 서명을 파생시킵니다. VerifySignedByAsmKey는 새로 파생된 서명을 수신 시 서명된 데이터에 연결된 서명과 비교합니다. 새로 파생된 서명이 서명된 데이터에 첨부된 서명과 동일하면 데이터가 서명된 후 변경되지 않은 것입니다.

사용 권한

비대칭 키에 대한 VIEW DEFINITION 권한이 필요합니다.

1. 유효한 서명이 있는 데이터 테스트

다음 예에서는 선택한 데이터가 WillisKey74 비대칭 키로 서명된 후 변경되지 않은 경우 1을 반환하고 데이터가 손상된 경우에는 0을 반환합니다.

SELECT Data,
     VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), SignedData,
     DataSignature ) as IsSignatureValid
FROM [AdventureWorks].[SignedData04] 
WHERE Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO
RETURN

2. 유효한 서명이 있는 데이터가 포함된 결과 집합 반환

다음 예에서는 WillisKey74 비대칭 키로 서명된 후 변경되지 않은 데이터가 포함된 SignedData04의 행을 반환합니다. 이 예에서는 AsymKey_ID 함수를 호출하여 데이터베이스에서 비대칭 키의 ID를 가져옵니다.

SELECT Data 
FROM [AdventureWorks].[SignedData04] 
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,
     DataSignature ) = 1
AND Description = N'data encrypted by asymmetric key ''WillisKey74'''
GO

참고 항목

참조

AsymKey_ID(Transact-SQL)
SignByAsymKey(Transact-SQL)
CREATE ASYMMETRIC KEY(Transact-SQL)
ALTER ASYMMETRIC KEY(Transact-SQL)
DROP ASYMMETRIC KEY(Transact-SQL)

관련 자료

암호화 계층

도움말 및 정보

SQL Server 2005 지원 받기