This is a discussion on Re: Not able to find code MD5_Update() ,SHA1_Update() and more digest - Openssl ; Most of these can be found in the corresponding crypto\ subdirectories, e.g. crypto\md5 and crypto\sha, in the source dump (I assume you mean the source code archives available at openssl.org; if not, what are you looking at?). Looking for functions ...
Most of these can be found in the corresponding crypto\ subdirectories,
e.g. crypto\md5 and crypto\sha, in the source dump (I assume you mean
the source code archives available at openssl.org; if not, what are you
Looking for functions is simple once you take into account that some of
them are specified through the use of macros to aid in code reuse
(Forget about that assembly stuff Richard mentioned for now; it's not
mandatory to have a fully functional SSL library, but only helps to
provide additional speed improvements for selected platforms, where
grepping for MD5_Update for instance (a.k.a.: 'find in files' in your
editor of choice, e.g. UltraEdit32) will turn up the line
#define HASH_UPDATE MD5_Update
used in crypto\md5\ code to instantiate the MD5 implementation of a
common hash routine, which, can be found as the generic
HASH_UPDATE(...) routine written in md32_common.h
When you look for SHA1_Update you'll find that crypto/sha will apply the
#define HASH_UPDATE SHA1_Update
and one more #include of md32_common.h, thus actually reusing the code
in md32_common.h . You will find these practices throughout OpenSSL to
help in preventing a particularly nasty type of copy&paste software bugs.
I've ported SSL to embedded environments before; it's rather easy unless
you target systems with a very limited (or non-existent) C standard
run-time library (i.e. when they lack things like printf() et al) or -
of course - when special conditions apply.
Konark ch wrote:
> Thanks for the quick response , but i'm on windows environment.
> Basically i want to port Openssl to mobile platforms
> Please help me .
> Thanks in advance .
> On 6/5/07, *Richard Salz*
> > I'm not able to find code for some of the digest functions like
> > MD5_Update() ,SHA1_Update().
> > in the latest source dump.
> Many OpenSSL functions are implemented in non-traditional manners,
> such as
> via macro's, assembly language, etc.
> If you are on a Unix/Linux platform, using something like "nm -o
> libcrypto.a | grep SHA1_Update" will get you started. In this case,
> Good luck figuring it out.
> STSM, Senior Security Architect
> DataPower SOA Appliances
> __________________________________________________ ____________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List
> Automated List Manager
OpenSSL Project http://www.openssl.org
Development Mailing List email@example.com
Automated List Manager firstname.lastname@example.org