Hi,

Actually, there's no default digest.
When created, the EVP_MD_CTX struct is initialized to 0, then all pointers are 
NULL by default, in particular ctx->type.
If a a digest was previously used, it can be reused if no EVP_MD is given, 
otherwise the initialization will fail.

Concerning engine, they work as blackboxes for an algorithm implementation, 
then their type depend on the algorithm.

MD2 is just not included at compilation

----- Mail d'origine -----
De: Jeffrey Walton <noloa...@gmail.com>
À: OpenSSL Users List <openssl-users@openssl.org>
Envoyé: Fri, 18 Jul 2014 06:04:17 +0200 (CEST)
Objet: Default digest implementation?

https://www.openssl.org/docs/crypto/EVP_DigestInit.html

The doc states the default default digest implementation is used if
'impl' is NULL. The docs also state "OpenSSL 1.0 and later does not
include the MD2 digest algorithm in the default configuration...".

I found the call to EVP_DigestInit which calls EVP_DigestInit_ex. But
I'm getting lost in EVP_DigestInit_ex:

    if(impl)
    {
        ...
    }
    else
    {
        /* Ask if an ENGINE is reserved for this job */
        impl = ENGINE_get_digest_engine(type->type);
    }

I'm having trouble tracking down 'type' used by ENGINE_get_digest_engine.

What is the default digest implementation for 1.0 and later? Or where
can I find the source file that sets the default?
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to