Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Verify Java SignatureDemonstrates how to verify a digital signature produced by Java. Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries #include <C_CkPublicKey.h> #include <C_CkRsa.h> void ChilkatSample(void) { HCkPublicKey pubKey; BOOL success; const char * pkeyXml; HCkRsa rsa; const char * strData; const char * base64Sig; pubKey = CkPublicKey_Create(); // Load an RSA public key from an ASN.1 DER file success = CkPublicKey_LoadRsaDerFile(pubKey,"pubKey.der"); if (success != TRUE) { printf("%s\n",CkPublicKey_lastErrorText(pubKey)); return; } // Get the public key in XML format: pkeyXml = CkPublicKey_getXml(pubKey); rsa = CkRsa_Create(); // Any string argument automatically begins the 30-day trial. success = CkRsa_UnlockComponent(rsa,"30-day trial"); if (success != TRUE) { printf("%s\n",CkRsa_lastErrorText(rsa)); return; } // Import the public key into the RSA component: success = CkRsa_ImportPublicKey(rsa,pkeyXml); if (success != TRUE) { printf("%s\n",CkRsa_lastErrorText(rsa)); return; } CkRsa_putEncodingMode(rsa,"base64"); strData = "The quick brown fox jumps over the lazy dog"; // IMPORTANT: This Base64 signature will have to be updated // with the digital signature produced by the Java code at: // http://www.cknotes.com/?p=283 base64Sig = "VGV5A+bodHBpBwwJZdf17Bv+lkBTm/gteOf8iCgEEfNzBosZLaAB8X55BIZIkE2zKRXoMcJT+iCxsj+1hnlwJeKZ+Gya58lrHw6NWm2N0O/KyfnuEzADOM86X0xrkgdFT6SYpbZ9dWPC59NiHeEdVyjOXNJ3fBpUSQ5/5pvVWm0="; // Verify the signature produced by the Java code at: // http://www.cknotes.com/?p=283 // The VerifyStringENC method hashes the input data and verifies // the hash against the signature. success = CkRsa_VerifyStringENC(rsa,strData,"sha-1",base64Sig); // Is the signature verified? if (success == TRUE) { printf("Signature Verified!\n"); } else { printf("Signature not verified!\n"); } CkPublicKey_Dispose(pubKey); CkRsa_Dispose(rsa); } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.