Programming Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3

 

 

 

 

 

 

 

 

Verify Java Signature

Demonstrates how to verify a digital signature produced by Java.
The Java code that produces a digital signature that can be verified with
this Chilkat example is found at: http://www.cknotes.com/?p=283

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.