Visual C++ Examples

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

C++ Examples

CkString
Byte Array
Bounced Mail
Bz2
Character Encoding
CSV
DH Key Exchange
DKIM/DomainKeys
Digital Certificates
Digital Signatures
DSA
Email
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

 

 

 

 

 

 

 

 

Create PKCS7 Detached Signature (S/MIME)

Create an S/MIME message with a PKCS7 detached signature.

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 <CkMime.h>
#include <CkCert.h>

void ChilkatSample(void)
    {
    CkMime mime;

    bool success;
    success = mime.UnlockComponent("Anything for 30-day trial");
    if (success == false) {
        printf("%s\n",mime.lastErrorText());
        return;
    }

    //  Load a certificate w/ private key for signing.
    //  There are many ways of getting a certificate object:
    //  from a pfx file, from .cer and private-key files, from the
    //  Windows registry-based certificate stores, etc.
    //  For this example, we'll use a pre-installed cert from
    //  a certificate store.
    CkCert cert;
    success = cert.LoadByCommonName("Chilkat Software, Inc.");
    if (success == false) {
        printf("%s\n",cert.lastErrorText());
        return;
    }

    //  Create a very simple MIME message to be signed:
    mime.AddHeaderField("Subject","This is a test");
    mime.AddHeaderField("MyCustomHeader","abc123");
    mime.put_ContentType("text/plain");
    mime.SetBody("This is a plain-text body.");

    //  Examine the MIME prior to signing:
    printf("--- MIME prior to signing ---\n");
    printf("%s\n",mime.getMime());

    //  The MIME prior to signing looks like this:
    //  -------------------------------------------------------------------------------
    //  
Subject: This is a test
MyCustomHeader: abc123
Content-Type: text/plain

This is a plain-text body.
    //  -------------------------------------------------------------------------------

    //  The default hash algorithm used in the signing process is "SHA1".
    //  To change it, set the SigningHashAlg property:
    mime.put_SigningHashAlg("SHA256");

    //  Add a detached signature:
    success = mime.AddDetachedSignature(cert);
    if (success == false) {
        printf("%s\n",mime.lastErrorText());
        return;
    }

    //  Examine the MIME with detached signature:
    printf("--- MIME with detached signature ---\n");
    printf("%s\n",mime.getMime());

    //  The MIME after signing looks like this:
    //  -------------------------------------------------------------------------------
    //  
Content-Type: multipart/signed;
 boundary="----=_NextPart_a66_7f43_247e22d0.a03166d5";
 protocol="application/x-pkcs7-signature"; micalg="sha256"

This is a multi-part message in MIME format.

------=_NextPart_a66_7f43_247e22d0.a03166d5
Subject: This is a test
MyCustomHeader: abc123
Content-Type: text/plain

This is a plain-text body.
------=_NextPart_a66_7f43_247e22d0.a03166d5
Content-Transfer-Encoding: base64
Content-Type: application/x-pkcs7-signature;
 name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"

MIIOAQYJKoZIhvcNAQcCoIIN8jCCDe4CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg
ggmgMIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkG
A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMV
VGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20x
HTAbBgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4
NDAzNlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp
dHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51
c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj
71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX6
5OeQw5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP
1/vulBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb
kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCB
rDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVso
TYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VS
Rmlyc3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcK
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
9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMDA2MzAxNDM1MDVaMC8GCSqGSIb3
DQEJBDEiBCCxBV6qxW6f5dFzicso1tSCYYycSWjoS1JWU3PFXGm1TDBfBgkqhkiG9w0BCQ8xUjBQ
MAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAw
BwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgbwGCSsGAQQBgjcQBDGBrjCBqzCBlTELMAkGA1UEBhMC
VVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVT
RVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNV
BAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0AhEA5vxolKNrYgp1Z7ABICdK+zCBvgYLKoZIhvcNAQkQ
Agsxga6ggaswgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtl
IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3
dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdAIRAOb8aJSja2IK
dWewASAnSvswDQYJKoZIhvcNAQEBBQAEggEABegieec25qysV6YJ9YSLrTPHLwX1+JUJjK3N7fH5
uLhH7HTEMkpXllgZcvg8Qvcyk2uAsVZZeFCtSYmBIT8kuuRXov7lo/V3sBhkoVF5pMS/T/fxuaJX
Ez3Zr8MbrlOMZVgbdvSkrk/TSSID48kV0pQBNGQs82ZVs88R1g5Vg5E7K+5xgV6bh2KAbCo8QbLJ
75djbYbkoCRMHuJ5k2iaUErAmrhoaClcRofzZcCVMqGxqeipPOjjJXXPTbq0lcVoedSsuwqCcoXi
CCzo73C9H9RayPTn2QfxihpLBS8xbd2eFIGqi4UzL6yIJUyMxgGvbp/Ax7KxkhCWl+GGL0OWJg==

------=_NextPart_a66_7f43_247e22d0.a03166d5--
    //  -------------------------------------------------------------------------------

    }

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

Mail Component · .NET Mail Component · XML Parser