[openssl-users] Java Snippet output is not equal to command line openssl command output , Why ?

Viktor Dukhovni openssl-users at dukhovni.org
Wed Aug 1 15:28:11 UTC 2018


On Wed, Aug 01, 2018 at 09:24:38AM +0100, timmy pony wrote:

> I have tried this
>
> openssl dgst -sha256 -sign my_private.key -out /tmp/sign.sha256 codeTosign.txt

This produces raw binary output, no base64 encoding.  What is the
content of the file "codeToSign.txt"?  Post the output of:

    od -tx1 < /tmp/codeToSign.txt

> public class SHA256RSA {
> 
>     public static void main(String[] args) throws Exception {
>         String input = "sample input";

This input has no newline ending, perhaps the disk file does.

>         // Not a real private key! Replace with your private key!
>         String strPk = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9"
>                 + "w0BAQEFAASCBKkwggSlAgEAAoIBAQDJUGqaRB11KjxQ\nKHDeG"
>                 + "........................................................"
>                 + "Ldt0hAPNl4QKYWCfJm\nNf7Afqaa/RZq0+y/36v83NGENQ==\n"
>                 + "-----END PRIVATE KEY-----\n";

I sure hope your production code will *NOT* have the private key
embedded in the executable.

>         String base64Signature = signSHA256RSA(input,strPk);
>         System.out.println("Signature="+base64Signature);

This outputs a signature encoded in base64.

-- 
	Viktor.


More information about the openssl-users mailing list