Sample code for 30+ languages & platforms
Java

AddDetachedSignaturePk

See more MIME Examples

Demonstrates how to add a detached signature using a certifcate and it's corresponding private key. The easiest way of doing it is when both the certificate and private key are contained together within a PFX (.pfx or .p12) file. This example demonstrates how to use the certificate and its corresponding private key when they are stored in separate files -- a .cer for the certificate, and a .pem for the private key.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Cert;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Mime;
import com.chilkatsoft.chilkat2.PrivateKey;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Mime mime = new Mime();

        // Load the certificate from a .cer file.
        Cert cert = new Cert();
        try {
            cert.loadFromFile("aaworkarea/myCert.cer");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Load the private key from an encrypted PEM file.
        // (A private key can be loaded from other file formats also..)
        PrivateKey privKey = new PrivateKey();
        try {
            privKey.loadEncryptedPemFile("aaworkarea/myPrivateKey.pem", "myPassword");

            mime.setBodyFromPlainText("This is the plain-text MIME body.");

            // Sign the MIME (adds a PKCS7 detached signature)
            mime.addDetachedSignaturePk(cert, privKey);

            // Save the S/MIME to a file.
            mime.saveMime("aaworkarea/signedMime.txt");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("success!");
    }
}