OK guys - (and gals)
I actually had this done a couple weeks ago but had to run off to
Saudi Arabia and forgot to post this to the list.

Since people were asking I put the latest ones out at 

http://www.iconsinc.com/~agray/ossldev/

This is based upon the 0.9.4 release.  The latest snap will not
correctly build as new files have been added.  The easiest way to
migrate to a new version is to build the snap from commandline and
also 0.9.4 from command line then diff the obj files in the two
directories to see what new source files have been added

These are based upon all of the ones i released for SSLeay 6-9

I still have the SSLeay 6 thru 9 project/workspace  files as well that i did
while at the osf - but they arent on the site.  If you need these drop
me a note and i'll have someone dig them out.

These files include 1 workspace and 50+ projects.  Everything is built
- i.e. tests, apps, openssl, etc. and each is reflected within its own
project.  All of the projects are further subdivided within developer
studio to reflecxt their relevent contents.  That is - libeay for
example has all of its code contained within various folders within
that workspace.  The asn1 code is in the asn1 folder, bignumber in bn
folder, x509 in the x509 folder, etc, etcc, etc... This makes it much
easier for manhaging a build of specific portions of the library - as
in building only the sha1 routines.  In addition the openssl monolith
is built as well

As mentioned all of the relevent individual executables are included
in the workspace as well.  If you dont need specific pieces just
unload the project.

Andrew 
[EMAIL PROTECTED]


RELEASE NOTES:
********************
********************



Installation:
1. Extract openssl-0.9.4.tar.gz as you normally would.

2. Extract VCopenssl.zip targetting the openssl-0.9.4 (or whatever name it's in)
directory.  This will create another directory named "msvc" at the top 
of the SSLeay directory tree.  

3. Open a command prompt and run "perl Configure VC-WIN32" as per the 
instructions in the $openssl-0.9.4_ROOT/Install.w32 file.  Then run "ms\do_ms.bat"

4. Return to your command prompt and from the openssl root directory run:
"perl msvc\doinc.pl"  This is a quick hack that creates the output
directories and copies the header files much as what ntdll.mak does at
the start of a command linebuild.  All of the dependencies for header
file locations are built into the developer studio workspace.

5. Open the developer studio workspace - openssl-0.9.4\msvc\openssl.dsw
This will open up a Microsoft Developer Studio Workspace containing 50
projects.  Dependancies are built into the workspace -
i.e. libeay32.dll will be built automatically before asn1parse.
Executables are both built independently and also as openssl.exe.

6.VERY IMPORTANT - BEFORE ATTEMPTING A BUILD
there is a minor cast error in crypto\bn\bn_div.c.  Replace line 241
which reads:

q=((((BN_ULLONG)n0)<<BN_BITS2)|n1)/d0;

with this:

q=(BN_ULONG)((((BN_ULLONG)n0)<<BN_BITS2)|n1)/d0;

The debug build will fail if this is not done - as the project is running with the /WX
compiler option which treats warnings as errors.

5.  It's best to do a "batch build" first.  Menu:Build/Batch
Build... And build both the release and debug builds for everything -
If any errors arise then .....->

Things that typically cause errors:

1.Make sure that ALL Microsoft SDKs are removed from your default include path in 
Menu:Tools/Options | Directories.  The Only path that I have in mine is 
c:\Program Files\DevStudio\VC\INCLUDE

2.Not Running configure or ms/do_ms.bat in step 3.

What projects (executables and libraries) are implemented:
bash-2.02$ ls -l
total 707
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 asn1parse
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 bftest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:49 bntest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 ca
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 casttest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 ciphers
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 crl
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 crl2pkcs7
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 destest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dgst
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dh
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dhtest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dsa
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dsaparam
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 dsatest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 enc
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 errstr
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 exptest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 gendh
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 gendsa
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 genrsa
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 hmactest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 ideatest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:49 libeay32
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 md2test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 md5test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 mdc2test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 nseq
drwxr-xr-x   2 544      everyone        0 Oct  4 07:49 openssl
-rw-r--r--   1 544      everyone    17428 Oct  4 07:46 openssl.dsw
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 pkcs12
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 pkcs7
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 pkcs8
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 randtest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rc2test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rc4test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rc5test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 req
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rmdtest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rsa
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 rsa_oaep
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 s_client
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 s_server
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 s_time
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 sess_id
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 sha1test
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 shatest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 speed
drwxr-xr-x   2 544      everyone        0 Oct  4 07:49 ssleay32
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 ssltest
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 verify
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 version
drwxr-xr-x   2 544      everyone        0 Oct  4 07:46 x509

Other things:

This has been built using NT4 sp4, VC++ 5 with patch3 and also with
VC++ 6 on NT4 SP5

The default c runtime for all debug workspaces is Debug Multithreaded dll. For 
the Release build it is Multithreaded dll.  If you change it - What ever you 
do don't mix it across projects - that is make sure its consistent across everything...

I dump everything into out32dll/Debug for the debug build.  It goes into 
out32dll/Release for the release build. If either directory doesn't exist, it 
will be created on the first build.  This can be changed in the Project Settings tab.

In a cursory run through - all the tests listed above succeed.  You'll have to twiddle 
the default ssleay.cnf file for testing for stuff like req, ca , etc, but they all 
seem to work.

I've left the precompiled header flags on - even though they consistently get 
regenerated, it does tend to speed things up (I think).

RSAREF stuff is not included

Why I did this:

I originally did this to make debugging some netscape web server api client 
certificate parsing modules easier before they really provided a documented api or 
even an entry point.  I had really only a need for libeay (crypt32.dll in the 
0.6.x days) so that's all I did.  Then I was faced with exporting a subset of the 
win NT library (066) consisting only of the asn1 and x509 routines to France and 
needed to rip all references to cryptographic routines out - this made it 
extremely easy.  Next,  when I was forced to start writing some of my own d2i 
and i2d functions for attribute certificates on NT and actually debugging stuff 
as it comes off the wire I finished it off since I needed s_client and s_server.  
I routinely left a working copy in a directory in afs which was under my public_html 
directory for easy access from off site and as it happened, it was indexed by some 
search engine(s) and I started to get the random note on its use.

Oh yea- this stuff is hereby put into the public domain but if you use it dont forget
that all the source files which it wraps are Erics, Tims, and now the
openssl project's:

 * Copyright remains Eric Young's, and as such any Copyright notices in
 * the code are not to be removed.
 * If this package is used in a product, Eric Young should be given attribution
 * as the author of the parts of the library used.
 * This can be in the form of a textual message at program startup or
 * in documentation (online or textual) provided with the package.

 * 4. If you include any Windows specific code (or a derivative thereof) from 
 *    the apps directory (application code) you must include an acknowledgement:
 *    "This product includes software written by Tim Hudson ([EMAIL PROTECTED])"

 and of course:
 lots of it is Copyright (c) 1999 The OpenSSL Project.  All rights reserved.

And if you end up really using it alot, buy me a beer if you ever run into me :-)

For obvious reasons, openssl code cannot be included. 

P.S. I dont consider that this falls under any export controls, although that 
may change if Big Brother visits on monday morning.

The Microsoft Developer Studio Packages for Visual C++ v. 5 can be
found at http://www.iconsinc.com/~agray/ossldev/VC5openssl.zip.

The Microsoft Developer Studio Packages for Visual C++ v. 6 can be
found at http://www.iconsinc.com/~agray/ossldev/VC6openssl.zip










______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to