Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Go) Verify the RSA Signature of a SHA256 HashSee more RSA ExamplesDemonstrates how to verify an RSA signature of a SHA256 hash.
// This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Let's say you have a file containing the 32-bytes of a SHA256 hash, // and a file that is an RSA signature of those 32 bytes. // Here's how you verify using the RSA public key found in a PEM. pubKey := chilkat.NewPublicKey() success := pubKey.LoadFromFile("rsaPubKey.pem") if success == false { fmt.Println(pubKey.LastErrorText()) pubKey.DisposePublicKey() return } rsa := chilkat.NewRsa() // Get the public key. success = rsa.ImportPublicKeyObj(pubKey) if success == false { fmt.Println(rsa.LastErrorText()) pubKey.DisposePublicKey() rsa.DisposeRsa() return } // Get the 32-byte SHA256 hash. bdHash := chilkat.NewBinData() success = bdHash.LoadFile("myHash.sha256") if success == false { fmt.Println("Failed to load SHA256 hash.") pubKey.DisposePublicKey() rsa.DisposeRsa() bdHash.DisposeBinData() return } // Get the RSA signature to be validated. bdSig := chilkat.NewBinData() success = bdSig.LoadFile("mySig.sig") if success == false { fmt.Println("Failed to load RSA signature.") pubKey.DisposePublicKey() rsa.DisposeRsa() bdHash.DisposeBinData() bdSig.DisposeBinData() return } // Verify the signature against the SHA256 hash. enc := "base64" rsa.SetEncodingMode(enc) success = rsa.VerifyHashENC(*bdHash.GetEncoded(enc),"sha256",*bdSig.GetEncoded(enc)) if success == false { fmt.Println(rsa.LastErrorText()) pubKey.DisposePublicKey() rsa.DisposeRsa() bdHash.DisposeBinData() bdSig.DisposeBinData() return } fmt.Println("Signature validated.") pubKey.DisposePublicKey() rsa.DisposeRsa() bdHash.DisposeBinData() bdSig.DisposeBinData() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.