Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Verfies an RSA SignatureSee more Apple Keychain ExamplesVerifies an RSA signature against the original data.
integer li_rc oleobject loo_Bd integer i oleobject loo_BdSig integer li_Success oleobject loo_PubKey oleobject loo_Rsa // The following data was signed by the following example: // RSA Sign using a Private Key on a USB Token or Smartcard loo_Bd = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData") if li_rc < 0 then destroy loo_Bd MessageBox("Error","Connecting to COM object failed") return end if for i = 0 to 100 loo_Bd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex") next // Load the signature loo_BdSig = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_BdSig.ConnectToNewObject("Chilkat.BinData") li_Success = loo_BdSig.LoadFile("rsaSignatures/test1.sig") if li_Success = 0 then Write-Debug "Failed to load the RSA signature" destroy loo_Bd destroy loo_BdSig return end if // Get the public key to be used for signature verification. loo_PubKey = create oleobject // Use "Chilkat_9_5_0.PublicKey" for versions of Chilkat < 10.0.0 li_rc = loo_PubKey.ConnectToNewObject("Chilkat.PublicKey") li_Success = loo_PubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem") if li_Success = 0 then Write-Debug loo_PubKey.LastErrorText destroy loo_Bd destroy loo_BdSig destroy loo_PubKey return end if loo_Rsa = create oleobject // Use "Chilkat_9_5_0.Rsa" for versions of Chilkat < 10.0.0 li_rc = loo_Rsa.ConnectToNewObject("Chilkat.Rsa") loo_Rsa.ImportPublicKeyObj(loo_PubKey) // Verify the hash of the data against the signature. // We pass in the original data. Internally, the hash is generated // and used to validate the signature. // Validating the RSA signature means two things: // (1) the original data is exactly what was signed, and // (2) it was signed by the owner of the RSA private key. li_Success = loo_Rsa.VerifyBd(loo_Bd,"sha256",loo_BdSig) if li_Success = 0 then Write-Debug loo_Rsa.LastErrorText Write-Debug "Signature invalid." else Write-Debug "Signature valid." end if destroy loo_Bd destroy loo_BdSig destroy loo_PubKey destroy loo_Rsa |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.