Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Testa se dados assinados digitalmente foram alterados desde que foram assinados.
Convenções de sintaxe de Transact-SQL
Sintaxe
VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )
Argumentos
Asym_Key_ID
É a ID de um certificado de chave assimétrica no banco de dados.
clear_text
São dados de texto não criptografado que estão sendo verificados.
assinatura
É a assinatura que foi anexada aos dados assinados.
assinatura é varbinary.
Tipos de retorno
int
Retorna 1 quando as assinaturas forem correspondentes; caso contrário, retorna 0.
Comentários
VerifySignedByAsymKey descriptografa a assinatura dos dados usando a chave pública da chave assimétrica especificada e compara o valor descriptografado a um hash de MD5 dos dados computados recentemente. Se os valores corresponderem, a assinatura será confirmada como válida.
Permissões
Requer a permissão VIEW DEFINITION na chave assimétrica.
Exemplos
a. Testando se os dados têm uma assinatura válida
O exemplo a seguir retornará 1 se os dados selecionados não foram alterados desde a assinatura com a chave assimétrica WillisKey74. O exemplo retornará 0 se os dados foram violados.
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. Retornando um conjunto de resultados contendo dados com uma assinatura válida
O exemplo a seguir retorna linhas em SignedData04 contendo dados que não foram alterados desde a assinatura com a chave assimétrica WillisKey74. O exemplo chama a função AsymKey_ID para obter a ID de chave assimétrica do banco 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
Consulte Também
ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
CRIAR CHAVE ASSIMÉTRICA (Transact-SQL)
ALTERAR CHAVE ASSIMÉTRICA (Transact-SQL)
SOLTAR CHAVE ASSIMÉTRICA (Transact-SQL)
Hierarquia de criptografia