MFC Examples

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

MFC Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DKIM / DomainKey
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


 

 

 

 

 

 

 

 

Sign a File to Create a .p7s (Detached Signature)

MFC example to create a detached signature file (.p7s) for any type file. The signature can be verified by calling VerifyP7S and passing the original filename and the .p7s filename.

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
FreeBSD C++ Libraries
HP-UX C++ Libraries
BlackBerry QNX C++ Libraries
// Needs #include <CkCrypt2.h>
// Needs #include <CkCertStore.h>
// Needs #include <CkCert.h>

    CkString strOut;

    CkCrypt2 crypt;

    //  Any string argument automatically begins the 30-day trial.
    bool success;
    success = crypt.UnlockComponent("30-day trial");
    if (success != true) {
        strOut.append(crypt.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Use a digital certificate and private key from a PFX file (.pfx or .p12).
    const char * signingCertSubject;
    signingCertSubject = "Acme Inc";
    const char * pfxFilename;
    pfxFilename = "/Users/chilkat/testData/pfx/acme.pfx";
    const char * pfxPassword;
    pfxPassword = "test123";

    CkCertStore certStore;
    success = certStore.LoadPfxFile(pfxFilename,pfxPassword);
    if (success != true) {
        strOut.append(certStore.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    CkCert *cert = 0;
    cert = certStore.FindCertBySubjectCN(signingCertSubject);
    if (cert == 0 ) {
        strOut.append("Failed to find certificate by subject common name.");
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Tell the crypt component to use this cert.
    crypt.SetSigningCert(*cert);

    //  We can sign any type of file, creating a .p7s as output:
    const char * inFile;
    inFile = "/Users/chilkat/testData/pdf/sample.pdf";
    const char * sigFile;
    sigFile = "/Users/chilkat/testData/p7s/sample.p7s";

    success = crypt.CreateP7S(inFile,sigFile);
    if (success == false) {
        strOut.append(crypt.lastErrorText());
        strOut.append("\r\n");
        delete cert;
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    success = crypt.VerifyP7S(inFile,sigFile);
    if (success == false) {
        strOut.append(crypt.lastErrorText());
        strOut.append("\r\n");
        delete cert;
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    delete cert;

    strOut.append("Success!\r\n");

    SetDlgItemText(IDC_EDIT1,strOut.getUnicode());

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.