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

Encrypt with Chilkat, Decrypt with OpenSSL

See more OpenSSL Examples

Demonstrates how to RSA encrypt a string using Chilkat, and then shows the corresponding OpenSSL command to RSA decrypt. The OpenSSL command to decrypt is as follows:
openssl rsautl -decrypt -inkey VP_Private.pem -in rsa_encrypted.bin -out original.txt

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.FileAccess;
import com.chilkatsoft.chilkat2.PublicKey;
import com.chilkatsoft.chilkat2.Rsa;

public class ChilkatExample {

    public static void main(String[] args) {
        boolean success = false;

        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Rsa rsa = new Rsa();

        // Note: RSA encryption uses the public key.
        // RSA decryption uses the private key.
        // The reason is that the public key can be freely provided to anybody.  This allows anybody
        // to send an encrypted message to the private key owner, and only the private key owner
        // can decrypt.
        PublicKey key = new PublicKey();

        // Load an RSA public key from a PEM file:
        try {
            key.loadFromFile("qa_data/pem/VP_Public.pem");

            // Load the public key into the RSA object.
            rsa.usePublicKey(key);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        String strToEncrypt = "00000000;XYZ2-3BHQ-ABCD-MMVV;6MY1-GHJK-9LRR;0";

        // The LittleEndian property is false by default, but it is set here
        // anyway to show that LittleEndian byte ordering is required for OpenSSL compatibility.
        rsa.setLittleEndian(false);

ERROR: Invalid type for Chilkat2 Java: pbytes
ERROR: Method not in Chilkat2 Java: Rsa.EncryptString
        encryptedBytes = rsa.ERROR();
        if (!rsa.getLastMethodSuccess()) {
            System.out.println(rsa.getLastErrorText());
            return;
        }

        // The OpenSSL command to decrypt would be this:
        // openssl rsautl -decrypt -inkey VP_Private.pem -in rsa_encrypted.bin -out original.txt

        FileAccess fac = new FileAccess();
ERROR: Method not in Chilkat2 Java: FileAccess.WriteEntireFile
        success = fac.ERROR();
        if (!success) {
            System.out.println(fac.getLastErrorText());
            return;
        }

        System.out.println("RSA Encryption Succeeded.");
    }
}