home *** CD-ROM | disk | FTP | other *** search
/ Netscape Plug-Ins Developer's Kit / Netscape_Plug-Ins_Developers_Kit.iso / SOFTWARE / security / ssleay / readme.052 < prev    next >
Encoding:
Text File  |  1996-05-25  |  6.1 KB  |  103 lines

  1. This version has quite a few major bug fixes and improvements.  It DOES NOT
  2. do SSLv3 yet.
  3.  
  4. The main things changed
  5. - A Few days ago I added the s_mult application to ssleay which is
  6.   a demo of an SSL server running in an event loop type thing.
  7.   It supports non-blocking IO, I have finally gotten it right, SSL_accept()
  8.   can operate in non-blocking IO mode, look at the code to see how :-).
  9.   Have a read of doc/s_mult as well.  This program leaks memory and
  10.   file descriptors everywhere but I have not cleaned it up yet.
  11.   This is a demo of how to do non-blocking IO.
  12. - The SSL session management has been 'worked over' and there is now
  13.   quite an expansive set of functions to manipulate them.  Have a read of
  14.   doc/session.doc for some-things I quickly whipped up about how it now works.
  15.   This assume you know the SSLv2 protocol :-)
  16. - I can now read/write the netscape certificate format, use the
  17.   -inform/-outform  'net' options to the x509 command.  I have not put support
  18.   for this type in the other demo programs, but it would be easy to add.
  19. - asn1parse and 'enc' have been modified so that when reading base64
  20.   encoded files (pem format), they do not require '-----BEGIN' header lines.
  21.   The 'enc' program had a buffering bug fixed, it can be used as a general
  22.   base64 -> binary -> base64 filter by doing 'enc -a -e' and 'enc -a -d'
  23.   respecivly.  Leaving out the '-a' flag in this case makes the 'enc' command
  24.   into a form of 'cat'.
  25. - The 'x509' and 'req' programs have been fixed and modified a little so
  26.   that they generate self-signed certificates correctly.  The test
  27.   script actually generates a 'CA' certificate and then 'signs' a
  28.   'user' certificate.  Have a look at this shell script (test/sstest)
  29.   to see how things work, it tests most possible combinations of what can
  30.   be done.
  31. - The 'SSL_set_pref_cipher()' function has been 'fixed' and the prefered name
  32.   of SSL_set_cipher_list() is now the correct API (stops confusion :-).
  33.   If this function is used in the client, only the specified ciphers can
  34.   be used, with preference given to the order the ciphers were listed.
  35.   For the server, if this is used, only the specified ciphers will be used
  36.   to accept connections.  If this 'option' is not used, a default set of
  37.   ciphers will be used.  The SSL_CTX_set_cipher_list(SSL_CTX *ctx) sets this
  38.   list for all ciphers started against the SSL_CTX.  So the order is
  39.   SSL cipher_list, if not present, SSL_CTX cipher list, if not
  40.   present, then the library default.
  41.   What this means is that normally ciphers like
  42.   NULL-MD5 will never be used.  The only way this cipher can be used
  43.   for both ends to specify to use it.
  44.   To enable or disable ciphers in the library at build time, modify the
  45.   first field for the cipher in the ssl_ciphers array in ssl/ssl_lib.c.
  46.   This file also contains the 'pref_cipher' list which is the default
  47.   cipher preference order.
  48. - I'm not currently sure if the 'rsa -inform net' and the 'rsa -outform net'
  49.   options work.  They should, and they enable loading and writing the
  50.   netscape rsa private key format.  I will be re-working this section of
  51.   SSLeay for the next version.  What is currently in place is a quick and
  52.   dirty hack.
  53. - I've re-written parts of the bignum library.  This gives speedups
  54.   for all platforms.  I now provide assembler for use under Windows NT.
  55.   I have not tested the Windows 3.1 assembler but it is quite simple code.
  56.   This gives RSAprivate_key operation encryption times of 0.047s (512bit key)
  57.   and 0.230s (1024bit key) on a pentium 100 which I consider reasonable.
  58.   Basically the times available under linux/solaris x86 can be achieve under
  59.   Windows NT.  I still don't know how these times compare to RSA's BSAFE
  60.   library but I have been emailing with people and with their help, I should
  61.   be able to get my library's quite a bit faster still (more algorithm changes).
  62.   The object file crypto/bn/asm/x86-32.obj should be used when linking
  63.   under NT.
  64. - 'make makefile.one' in the top directory will generate a single makefile
  65.   called 'makefile.one'  This makefile contains no perl references and
  66.   will build the SSLeay library into the 'tmp' and 'out' directories.
  67.   util/mk1mf.pl >makefile.one is how this makefile is
  68.   generated.  The mk1mf.pl command take several option to generate the
  69.   makefile for use with cc, gcc, Visual C++ and Borland C++.  This is
  70.   still under development.  I have only build .lib's for NT and MSDOS
  71.   I will be working on this more.  I still need to play with the
  72.   correct compiler setups for these compilers and add some more stuff but
  73.   basically if you just want to compile the library
  74.   on a 'non-unix' platform, this is a very very good file to start with :-).
  75.   Have a look in the 'microsoft' directory for my current makefiles.
  76.   I have not yet modified things to link with sockets under Windows NT.
  77.   You guys should be able to do this since this is actually outside of the
  78.   SSLeay scope :-).  I will be doing it for myself soon.
  79.   util/mk1mf.pl takes quite a few options including no-rc, rsaref  and no-sock
  80.   to build without RC2/RC4, to require RSAref for linking, and to
  81.   build with no socket code.
  82.  
  83. - Oh yes, the cipher that was reported to be compatible with RSA's RC2 cipher
  84.   that was posted to sci.crypt has been added to the library and SSL.
  85.   I take the view that if RC2 is going to be included in a standard,
  86.   I'll include the cipher to make my package complete.
  87.   There are NO_RC2, NO_RC4 and NO_IDEA macros to remove these ciphers
  88.   at compile time.  I have not tested this recently but it should all work
  89.   and if you are in the USA and don't want RSA threatening to sue you,
  90.   you could probably remove the RC4/RC2 code inside these sections.
  91.   I may in the future include a perl script that does this code
  92.   removal automatically for those in the USA :-).
  93. - I have removed all references to sed in the makefiles.  So basically,
  94.   the development environment requires perl and sh.  The build environment
  95.   does not (use the makefile.one makefile).
  96.   The Configure script still requires perl, this will probably stay that way
  97.   since I have perl for Windows NT :-).
  98.  
  99. eric (03-May-1996)
  100.  
  101. PS Have a look in the VERSION file for more details on the changes and
  102.    bug fixes.
  103.