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
(Visual FoxPro) Duplicate Java Verify RSA SignatureDemonstrates how to duplicate a snippet of Java code that verifies an RSA signature.
LOCAL lcBase64DataToBeSigned LOCAL lcBase64Certificate LOCAL lcBase64Signature LOCAL loCert LOCAL lnSuccess LOCAL loRsa * 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); * } * } lcBase64DataToBeSigned = "Hlp...LE4=" lcBase64Certificate = "MII...TlQ==" lcBase64Signature = "I00...pZA==" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cert') loCert = CreateObject('Chilkat.Cert') lnSuccess = loCert.LoadFromBase64(lcBase64Certificate) IF (lnSuccess = 0) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rsa') loRsa = CreateObject('Chilkat.Rsa') lnSuccess = loRsa.SetX509Cert(loCert,0) IF (lnSuccess = 0) THEN ? loRsa.LastErrorText RELEASE loCert RELEASE loRsa CANCEL ENDIF loRsa.EncodingMode = "base64" lnSuccess = loRsa.VerifyStringENC(lcBase64DataToBeSigned,"sha256",lcBase64Signature) IF (lnSuccess = 0) THEN ? loRsa.LastErrorText RELEASE loCert RELEASE loRsa CANCEL ENDIF ? "Signature verified." RELEASE loCert RELEASE loRsa |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.