On Wed, Jun 23, 2004, Marquess, Steve Mr JMLFDC wrote:

> 
> Note we do not need to disable all possible uses of non-FIPS
> algorithms in all circumstances, just catch the typical usages on
> a good faith basis.
> 

There are all manner of potential issues which can arise when algorithms are
disabled and applications (including OpenSSL internal code) don't expect it.

In fact for OpenSSL 0.9.6 and earlier EVP_CipherInit() and EVP_DigestInit()
couldn't return an error at all because they were void types.

Even in 0.9.7 and later errors would only occur if memory allocation errors
occured or a hardware ENGINE error. That is sufficiently rare than an
application silently assuming such calls would succeed would appear to work
fine.

As a result many applications calling EVP_CipherInit etc may not even check for
an error condition and have totally undefined behaviour when EVP_CipherUpdate()
is called later. Some kind of controlled hard error such as an assertion
failure might be in order to cover this case.

There are other problems which might occur. For example disabling RC2
will mean that PKCS#12 files can't be parsed from many implementations.
Disabling MD5 will stop verification of some certificates (including VeriSign
ones) and so on.

OpenSSL also uses (for historical reasons) MD5 for its directory based
certificate lookup. That would also fail.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to