[openssl-users] Understanding RSA_sign and type argument

Ignacio Alamo Corsino nacao2001 at hotmail.com
Tue Jun 13 06:15:09 UTC 2017

Hello Erwann,

Merci beaucoup!

It has worked but with "-sigalgs RSA+SHA256" instead of "sigalgs SHA256+RSA"

Finding this option was driving me crazy because I could not find it in the wiki page of s_server:


Manual:S server(1) - OpenSSLWiki<https://wiki.openssl.org/index.php/Manual:S_server(1)>
NAME. s_server - SSL/TLS server program SYNOPSIS. openssl s_server [-accept port] [-naccept count] [-context id] [-verify depth] [-Verify depth] [-crl_check] [-crl ...

De: openssl-users <openssl-users-bounces at openssl.org> en nombre de Erwann Abalea <Erwann.Abalea at docusign.com>
Enviado: lunes, 12 de junio de 2017 10:42
Para: openssl-users at openssl.org
Asunto: Re: [openssl-users] Understanding RSA_sign and type argument


Add « -sigalgs SHA256+RSA » to one of your command lines.

Erwann Abalea

Le 9 juin 2017 à 09:45, Ignacio Alamo Corsino <nacao2001 at hotmail.com<mailto:nacao2001 at hotmail.com>> a écrit :

Hello everyone,

i am having some issues understanding the RSA_sign function:

RSA_sign(int type, const unsigned char *m, unsigned int m_len, unsigned char *sigret, unsigned int *siglen, RSA *rsa);

As far as I know, the signing is a four step process:
- Calculate hash with digest algorithm <type> (given as argument to this function -> m)
- Encapsulate hash in a DigestInfo structure (X509_SIG)
- Structure padding (in RSA_private_encrypt)
- Private key operation on this padded structure (in RSA_private_encrypt)

Is that correct?

So, during the TLS handshake, the RSA_sign function is called in the CertificateVerify step.
For my tests, everytime this function is called, the hashing type is SHA512 even though I specify to use a SHA256 hash.

These are the commands that I use to test TLS:

#openssl s_server -accept 443 -cert cert.pem -key key.pem  -Verify 1 -msg -debug -cipher eNULL:aRSA:!SHA512:SHA256 -serverpref
#openssl s_client -connect localhost:443 -cert client_cert.pem   -key client.key -state -cipher eNULL:aRSA:!SHA512:SHA256

How can I force TLS to use a SHA256 digest for DH?
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20170613/76be2720/attachment.html>

More information about the openssl-users mailing list