Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

DKIM Signature using Windows Current User Certificate Store

See more DKIM / DomainKey Examples

This is a Windows-specific example to load a certificate from the Current User (registry-based) certificate store, and then use the certificate's associated private key for a DKIM signature.

Chilkat Java Downloads

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

public class ChilkatExample {

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

        Cert cert = new Cert();

        // The LoadByCommonName method searches the Windows Local Machine and Current User
        // registry-based certificate stores for a certificate having the common name specified.
        // If found, the certificate is loaded and ready for use.
        try {
            cert.loadByCommonName("My Certificate ABC");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // The certificate must have an associated private key installed, and it must be a
        // private key that has been marked "exportable" when it was originally installed.
        if (!cert.hasPrivateKey()) {
            System.out.println("This certificate does not have a private key available.");
            return;
        }

        PrivateKey privKey = new PrivateKey();
        try {
            cert.getPrivateKey(privKey);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        Dkim dkim = new Dkim();

        // Load the private key into the DKIM object:
        try {
            dkim.setDkimPrivateKey(privKey);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // The private key has been loaded into the DKIM object.  See the other DKIM
        // examples for guidance on how to create a DKIM signature...
    }
}