Hi Matt,

Thanks Matt.

Please let me know RSA_public_decypt() is FIPS complaint in later version
(openssl 1.0.x).

Currently I am using RSA_public_decypt() in openssl-0.9.8l and not found
any issues in FIPS mode. To address some of the CVE, I have upgraded
openssl - from 0.9.8l to openssl-0.9.8ZA and   encountered the decryption
issue.

As per you explanation, to make the system FIPS complaint in 0.9.8za, I
have to
   1.  replace the RSA_public_decypt() with EVP_verify()
                           EVP_VerifyInit(), EVP_VerifyUpdate() and
EVP_VerifyFinal()
                                          EVP_VerifyUpdate() - A buffer
with the data to be verified. Same data in EVP_signUpdate()
                                          EVP_VerifyFinal  - same signature
which is used for EVP_SignFinal()
    2. Needs to make similar changes in signing part using EVP_Sign*()
                            EVP_SignInit(), EVP_SignUpdate() and
EVP_SignFinal()
                                       EVP_SignUpdate() - should contain
the data to be signed
                                       EVP_SignFinal - should contain a
buffer to receive the signature

In 0.9.8 there is no other FIPS supported  API for decryption.

Thanks,
Gayathri


On Tue, Oct 28, 2014 at 7:59 PM, Matt Caswell <m...@openssl.org> wrote:

> On 28 October 2014 05:58, Gayathri Manoj <gayathri.an...@gmail.com> wrote:
> > Hi All,
> >
> > I am using openssl-0.9.9za and  I came to know EVP_PKEY_CTX is  available
> > from 1.0.0.
> > Please let me know which API i can use in FIPS context instead of
> > RSA_public_decrypt().
>
> Well FIPS puts a different light on your question. From what I can
> understand from your question you are attempting to verify a
> signature, and you want that verification to be FIPS compliant,
> correct?
>
> That is only ever going to work if the signature has been generated
> using a FIPS compliant signature scheme in the first place. If you
> have some home grown or non-standard signature scheme then you are
> never going to be compliant without replacing both the signing and the
> verifying code. The problem with RSA_public_decrypt is that it is a
> very low level function. It can be used as part of a process to create
> a standardised signature...or it can be used in a completely
> non-standard way. Its use is definitely not encouraged.
>
> Some questions which might help us to understand your situation better:
> Do you control both the signing and the verifying?
> Do you know what signature scheme is in use? E.g. RSASSA-PKCS1-v1.5,
> or RSASSA-PSS.
> Can you provide more of your existing source code so that we can see
> how you are using RSA_public_decrypt?
>
> If you want FIPS compliance, and you want to stay on openssl 0.9.8
> then EVP_Verify* is the way to go...but only if the signature scheme
> in place is compliant in the first place (or can be changed to be so).
>
> Finally, I would recommend that you move off of 0.9.8. This version
> will no longer be receiving support (including security updates) after
> 31st December 2015. See:
> http://marc.info/?l=openssl-announce&m=141338840924517&w=2
>
>
> Matt
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
>

Reply via email to