relnotes.txt
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:10k
源码类别:

CA认证

开发平台:

WINDOWS

  1. HCL Users,
  2. HCL 1.5.7 has been released.  It fixes a very small list of bugs that
  3. were found since HCL 1.5.6 was released, and contains no new features or 
  4. public API changes.  The list of bugs fixed in HCL 1.5.7 is below.  
  5. The release notes for HCL 1.5.6 are appended to these notes.  
  6. ALL SERVERS should abandon HCL 1.5.6 and switch to HCL 1.5.7 ASAP.
  7. The reasons for this strong recommendation should be self apparent after
  8. reading the list of bugs fixed.
  9. We recommend that all sources that include HCL headers be recompiled 
  10. with the new HCL 1.5.7 headers.  This is only a precaution.
  11. Security Library 1.57
  12. Build Date: 19980902
  13. ****************************************************************
  14. **
  15. **  NOTE:  THIS RELEASE IS NOT BINARY COMPATIBLE WITH 1.55
  16. **      AND ANY APPLICATION CODE WILL HAVE TO BE RECOMPILED
  17. **
  18. ****************************************************************
  19. ****************************************************************
  20. **
  21. **  Directory organization of this release
  22. **
  23. ****************************************************************
  24. This release consists of the following:
  25. - a JAR file, xpheader.jar, that contains all of the public header files.
  26. - <platform> directories: where <platform> is of the form
  27.   <os-name><os-version>[_<compiler>][_<implementation strategy>]_<DBG/OPT>.OBJ
  28.   For example,
  29.       IRIX6.2_DBG.OBJ (debug build)
  30.       SunOS5.5.1_OPT.OBJ (optimized build)
  31.       SunOS5.5.1_gcc_DBG.OBJ (built using the non-native compiler gcc)
  32.       OSF1V4.0_PTH_DBG.OBJ (PTH means the implementation uses pthreads.)
  33.       AIX4.1_PTH_USER_DBG.OBJ (PTH_USER means the implementation is
  34.           a combination of user-level threads and pthreads.)
  35.   Under each <platform> directory, is the file, mdbinary.jar.  This is a
  36.   JAR file containing the compiled libraries.
  37. ************************************************************
  38. **
  39. **  Platforms supported
  40. **
  41. ************************************************************
  42. The following platforms are supported:
  43. - Solaris on sparc: 2.5.1, 2.6 (built with cc) 
  44. - IRIX: 6.2, 6.3 (built with cc)
  45. - HP-UX: B.10.10, B10.20, B11.00 (built with cc)
  46. - OSF1: V4.0D (built with cc)
  47. - AIX: 4.2 (built with compiler xlC_r).
  48. - Linux: 2.1.108
  49. - WINNT: 4.0 (Visual C++ 4.2 built with and without debug runtime)
  50. ************************************************************
  51. **
  52. **  How to build the libraries yourself
  53. **
  54. ************************************************************
  55. This release of HCL depends on NSPR version 19980529A and 
  56. DBM version DBM_1_53.
  57. To build the libraries yourself, execute the following instructions.
  58. On UNIX machines:
  59. cvs co -r HCL_157 ns/security
  60. cvs co -r HCL_157 ns/coreconf
  61. cd ns/coreconf
  62. source ./.cshrc
  63. gmake [BUILD_OPT=1]
  64. cd ..
  65. cd security
  66. gmake [BUILD_OPT=1] import
  67. gmake [BUILD_OPT=1]
  68. On Windows NT machines:
  69. cvs co -r HCL_157 ns/security
  70. cvs co -r HCL_157 ns/coreconf
  71. cd ns/security
  72. gmake [BUILD_OPT=1] import
  73. gmake [BUILD_OPT=1]
  74. For IRIX builds using -n32 flag with pthreads:
  75. cvs co -r HCL_157 ns/security
  76. cvs co -r HCL_157 ns/coreconf
  77. cd ns/coreconf
  78. source ./.cshrc
  79. gmake USE_N32=1 USE_PTHREADS=1 [BUILD_OPT=1]
  80. cd ..
  81. cd security
  82. gmake USE_N32=1 USE_PTHREADS=1 [BUILD_OPT=1] import
  83. gmake USE_N32=1 USE_PTHREADS=1 [BUILD_OPT=1]
  84. ************************************************************
  85. **
  86. **  Web site, mailing lists, questions, bug reports
  87. **
  88. ************************************************************
  89. You can find information about the Security Libraries at the Hardcore Web
  90. site: http://warp/projects/hardcore/
  91. If you have any questions regarding SSL or the HCL libraries, please refer to the 
  92. following documents:  
  93. http://twain.mcom.com/developer/security/nss/ssl/index.htm
  94. http://twain.mcom.com/developer/security/nss/index.htm
  95. There is a mailing list for HCL issues:
  96.   - hcl: the developers of HCL.
  97. Please use BugSplat on scopus (http://scopus/bugsplat) to report
  98. bugs.  Choose product "Security Library", version "1.5".
  99. Here's how/where to get HCL 1.5.7:
  100. bits are available at
  101. /m/dist/security/19980902  a.k.a.  /m/dist/security/HCL_1_57
  102. \heliumdistsecurity19980902  or \heliumdistsecurityHCL_1_57
  103. Here is the list of bugs fixed in HCL 1.5.7:
  104. a) Thread safety-related crash in cert lib.
  105. b) Thread safety-related problems in NSPR's PL_Arena code.  
  106.    Worked around by surrounding all HCL's PL_Arena calls with a lock/unlock.
  107.    Applications that make their own calls to NSPR's PL_Arena functions or 
  108.    that use other non-HCL libraries that use PL_Arenas may continue to have 
  109.    thread-safety issues with PL_Arenas.
  110. c) Fixed a regression in PKCS#11 in HCL 1.5.6 that caused a crash the 
  111.    first time a server received a bleichenbacker attack ("million question")
  112.    message.
  113. See the HCL 1.5.6 release notes below for the list of known bugs in 1.5.7.
  114. Here is a list of the bugs fixed in HCL 1.5.6:
  115. 312467 SSL3 uses global pointers for step-down keys, leaks keys  
  116. 314392 CERT_DestroyCertificate locking code causes nested locking  
  117. 314571 Memory leak in SSL  
  118. 314574 HCL Leaks in PKCS #11.  
  119. 314576 Memory leak in pseudo-prime test in libcrypto  
  120. 314585 SSL's PR_AcceptRead returns non-aligned PRNetAddr  
  121. 314592 pkcs5 leaks two memory blocks for each RSA private key op  
  122. 314596 random number generator causes Unitialized Memory Reads  
  123. ------------------------------------------------------------------------
  124.                    HCL 1.5.6 Readme (release notes)
  125. ------------------------------------------------------------------------
  126. This file summarizes enhancements, fixed and known bugs in HCL 1.5.6.
  127. For detailed instructions on setting up your environment to run the
  128. sample code in the samples directory, see Chapter 2, "Getting Started
  129. with SSL" (doc/ssl/gtstd.htm) of the SSL Reference (doc/ssl/index.htm).
  130. ENHANCEMENTS SINCE NSS 1.5.4
  131. 1. SSL returns much more detailed error messages; for details, see 
  132. doc/ssl/sslerr.htm
  133. SSL BUGS FIXED SINCE HCL 1.5.4
  134. 1. The "million question" bug in SSL has been fixed.
  135. 2.  A potential problem (on Unix only) with SSL_InitSessionIDCache has
  136. been fixed.  The application chooses the directory into which the SSL
  137. library places the server session cache.  If the application doesn't
  138. specify a directory explicitly, the code defaults to using the system
  139. default "temporary" directory, which is generally world-writable.  The
  140. problem that was fixed occured only when the application chose to put
  141. the session cache files into a directory writable by untrusted users.
  142. If the application put the cache files in a directory that has
  143. appropriate limits on access, there was no problem.  But if the
  144. application put the cache files into a directory that was world
  145. writable, it was possible for a rogue program to try to substitute a
  146. file it already had open for the server's cache file, and it would
  147. succeed some of the time.  When it succeeded, it had access to the
  148. content of the session ID cache, which enabled it to do various bad
  149. things, such as masquerade as one of the remote clients whose session
  150. was in the cache.
  151. The above problem with the Unix version of SSL_InitSessionIDCachehas
  152. been fixed, and rogue programs cannot succeed in substituting their own
  153. files for the server's files any more.
  154. 3.  Client no longer rejects SSL ServerKeyExchange when server's
  155. certificate key size is 512 bits.
  156. 4.  Server no longer crashes in SSL after required client authentication
  157. fails.
  158. 5.  A problem that was causing crashes when multiple threads
  159. simultaneously requested client authentication on their respective
  160. server sockets has been fixed.
  161. 6.  The following functions now work with SSL sockets:
  162.    PR_Write
  163.    PR_TransmitFile
  164.    PR_AcceptRead
  165. 7. SSL now accepts client hellos that are too long.
  166.  
  167. 8.  A problem that produced bad results when multiple threads
  168. simultaneously used the random number generator has been fixed.
  169. KNOWN BUGS IN HCL 1.5.6:
  170. 1.  A crash may occur when multiple processes attempt to share a server
  171. session ID cache.  Because of this bug, an application that handshakes
  172. as a server is limited to conducting all SSL calls in a single process.
  173. 2. Removing a token does not invalidate the client-side session cache.
  174. 3.  While a handshake is in progress on an SSL socket, it is not safe
  175. for two threads to attempt simultaneous read and write calls (PR_Recv
  176. and PR_Send) on that socket.  Workaround: ensure that only one thread
  177. uses an SSL socket at a time.
  178. We expect the above 3 bugs will be fixed in a forthcoming release.
  179. SSL v2 issues in HCL 1.5.x:
  180. 1.  SSL_RedoHandshake only works on SSL3 connections, not SSL2.  The
  181. SSL2 protocol does not permit additional handshakes on the connection
  182. after the first one is done.  Ergo, if a client certificate is to be
  183. requested in an SSL2 connection, it must be requested on the initial
  184. handshake.
  185. 2.  HCL's SSL2 ignores the setting of the SSL_REQUIRE_CERTIFICATE
  186. enable.  When SSL_REQUEST_CERTIFICATE is enabled, SSL2 behaves as if
  187. SSL_REQUIRE_CERTIFICATE is also enabled, regardless of the actual
  188. setting of the SSL_REQUIRE_CERTIFICATE enable.
  189. 3.  HCL's SSL2 server code doesn't call the bad cert handler callback
  190. when the authCert callback returns an error.  The ssl2 client code DOES
  191. use the badcerthandler callback, but the ssl2 server code does not.
  192. This means that if the server's authCert callback returns SECFailure,
  193. rejecting the client cert received on an SSL2 connection, the
  194. badCerthandler cannot override it.
  195. 4.  HCL's SSL2 server code never caches the client cert.  Consequently,
  196. if an SSL2 server is configured to request the client cert, it must ask
  197. the client for the client cert on every connection, not just on the
  198. first connection in the "session".   The SSL2 client must provide the
  199. cert in every SSL2 connection that requests it.  If the user has set the
  200. "ask me every time" option for his certs, he will get prompted a LOT.
  201. Item 1 above is not a bug.  That's the way ssl2 is defined.  Items 2-4
  202. are limitations of our implementation.  TomW says client auth in ssl2
  203. was never officially supported (although it is mostly implemented).
  204. Recommended workaround for SSL2 issues:
  205. a) Don't expect client auth to work for SSL2 users.
  206. b) Don't request client auth in the initial handshake.  Request it in a
  207. subsequent handshake (e.g. set SSL_REQUEST_CERTIFICATE and call 
  208. SSL_RedoHandshake() on SSL3 connections.  This will completely avoid 
  209. client auth problems with SSL2.  
  210. For some time now, we've been suggesting that servers request client
  211. auth on a second handshake, not the first handshake in the connection.
  212. If they do that, then they will never get client certs from ssl2
  213. clients.  That is a good thing.