Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Testa se os dados assinados digitalmente foram alterados desde que foram assinados.
Transact-SQL convenções de sintaxe
Sintaxe
VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )
Arguments
Asym_Key_ID
É o ID de um certificado de chave assimétrica na base de dados.
clear_text
São dados de texto claro que estão a ser verificados.
assinatura
É a assinatura que foi associada aos dados assinados.
A assinatura é Varbinary.
Tipos de devolução
int
Devolve 1 quando as assinaturas coincidem; caso contrário, 0.
Observações
VerifySignedByAsymKey desencripta a assinatura dos dados usando a chave pública da chave assimétrica especificada e compara o valor desencriptado com um hash MD5 recém-calculado dos dados. Se os valores coincidirem, a assinatura é confirmada como válida.
Permissions
Requer permissão VIEW DEFINITION na chave assimétrica.
Examples
A. Testar dados com assinatura válida
O exemplo seguinte retorna 1 se os dados selecionados não foram alterados desde que foram assinados com chave WillisKey74assimétrica . O exemplo devolve 0 se os dados tiverem sido adulterados.
SELECT Data,
VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), SignedData,
DataSignature ) as IsSignatureValid
FROM [AdventureWorks2022].[SignedData04]
WHERE Description = N'data encrypted by asymmetric key ''WillisKey74''';
GO
RETURN;
B. Devolver um conjunto de resultados que contenha dados com uma assinatura válida
O exemplo seguinte devolve linhas em SignedData04 que contêm dados que não foram alterados desde que foram assinados com chave WillisKey74assimétrica . O exemplo chama a função AsymKey_ID para obter o ID da chave assimétrica da base de dados.
SELECT Data
FROM [AdventureWorks2022].[SignedData04]
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,
DataSignature ) = 1
AND Description = N'data encrypted by asymmetric key ''WillisKey74''';
GO
Ver também
ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
CRIAR CHAVE ASSIMÉTRICA (Transact-SQL)
ALTERAR A TONALIDADE ASSIMÉTRICA (Transact-SQL)
CHAVE ASSIMÉTRICA DE DROP (Transact-SQL)
Hierarquia de criptografia