Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Toetst of digitaal ondertekende gegevens zijn gewijzigd sinds het ondertekenen.
Transact-SQL syntaxis-conventies
Syntaxis
VerifySignedByAsymKey( Asym_Key_ID , clear_text , signature )
Arguments
Asym_Key_ID
Is de ID van een asymmetrisch sleutelcertificaat in de database.
clear_text
Is duidelijke tekstgegevens die worden geverifieerd.
handtekening
Is de handtekening die aan de ondertekende data is gekoppeld.
Signature is varbinary.
Retourtypen
int
Geeft 1 terug wanneer de handtekeningen overeenkomen; anders 0.
Opmerkingen
VerifySignedByAsymKey ontsleutelt de handtekening van de data door gebruik te maken van de publieke sleutel van de gespecificeerde asymmetrische sleutel, en vergelijkt de ontsleutelde waarde met een nieuw berekende MD5-hash van de data. Als de waarden overeenkomen, wordt de handtekening als geldig bevestigd.
Permissions
Vereist VIEW DEFINITION-toestemming voor de asymmetrische sleutel.
Voorbeelden
Eén. Testen op gegevens met een geldige handtekening
Het volgende voorbeeld geeft 1 als de geselecteerde gegevens niet zijn gewijzigd sinds deze met asymmetrische sleutel WillisKey74is ondertekend. Het voorbeeld geeft 0 als de data is gemanipuleerd.
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. Een resultaatset teruggeven die gegevens bevat met een geldige handtekening
Het volgende voorbeeld geeft rijen in SignedData04 die gegevens bevatten die niet zijn gewijzigd sinds het werd ondertekend met een asymmetrische sleutel WillisKey74. Het voorbeeld roept de functie AsymKey_ID aan om de ID van de asymmetrische sleutel uit de database te verkrijgen.
SELECT Data
FROM [AdventureWorks2022].[SignedData04]
WHERE VerifySignedByAsymKey( AsymKey_Id( 'WillisKey74' ), Data,
DataSignature ) = 1
AND Description = N'data encrypted by asymmetric key ''WillisKey74''';
GO
Zie ook
ASYMKEY_ID (Transact-SQL)
SIGNBYASYMKEY (Transact-SQL)
ASYMMETRISCHE SLEUTEL (Transact-SQL) maken
ASYMMETRISCHE SLEUTEL (Transact-SQL)
ASYMMETRISCHE SLEUTEL (Transact-SQL)
Versleutelingshiërarchie