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
Base de Dados SQL do Azure
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 VIEW permissão 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)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Hierarquia de criptografia