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
(DataFlex) Duplicate Java Verify RSA SignatureDemonstrates how to duplicate a snippet of Java code that verifies an RSA signature.
Use ChilkatAx-win32.pkg Procedure Test String sBase64DataToBeSigned String sBase64Certificate String sBase64Signature Variant vCert Handle hoCert Boolean iSuccess Handle hoRsa String sTemp1 // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example duplicates the following Java code: // import com.sun.org.apache.xml.internal.security.utils.Base64; // import java.io.ByteArrayInputStream; // import java.security.PublicKey; // import java.security.Signature; // import java.security.cert.CertificateFactory; // import java.security.cert.X509Certificate; // public class validateSazetak { // public static void main(String[] args) { // String signatureAlgorithm = "SHA256withRSA"; // String base64DataToBeSigned = "Hlp...LE4="; // String base64Certificate = "MII...TlQ=="; // String base64Signature = "I00...pZA=="; // try { // CertificateFactory cf; // X509Certificate certificate = null; // cf = CertificateFactory.getInstance("X.509"); // certificate = (X509Certificate) cf.generateCertificate(new // ByteArrayInputStream(Base64.decode(base64Certificate))); // // Signature signature = Signature.getInstance(signatureAlgorithm, "SunRsaSign"); // PublicKey pk = (PublicKey) certificate.getPublicKey(); // signature.initVerify(pk); // // byte[] hashBytes = Base64.decode(base64DataToBeSigned); // signature.update(hashBytes); // // byte[] sigBytes = Base64.decode(base64Signature); // boolean validity = signature.verify(sigBytes); // System.out.println("Is valid signature:" + validity); // } catch (Exception e) { // System.out.println(e); // } // } Move "Hlp...LE4=" To sBase64DataToBeSigned Move "MII...TlQ==" To sBase64Certificate Move "I00...pZA==" To sBase64Signature Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromBase64 Of hoCert sBase64Certificate To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatRsa)) To hoRsa If (Not(IsComObjectCreated(hoRsa))) Begin Send CreateComObject of hoRsa End Get pvComObject of hoCert to vCert Get ComSetX509Cert Of hoRsa vCert False To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End Set ComEncodingMode Of hoRsa To "base64" Get ComVerifyStringENC Of hoRsa sBase64DataToBeSigned "sha256" sBase64Signature To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End Showln "Signature verified." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.