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]