# # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" The version of OpenSSL found in this directory was created by taking the stock version of OpenSSL 0.9.8a from www.openssl.org and modifying some of the files to conform to Sun standards. This work is based on previous work done on stock version of OpenSSL 0.9.7d shipped with Solaris 10. =================== Configure options =================== Below are the options and the targets given to the Configure script. To build shared objects, ./Configure \ no-ec \ no-ecdh \ no-ecdsa \ no-rc3 \ no-rc5 \ no-mdc2 \ no-idea \ no-hw_cswift \ no-hw_ncipher \ no-hw_atalla \ no-hw_nuron \ no-hw_ubsec \ no-hw_aep \ no-hw_sureware \ no-hw_4758-cca \ no-hw_chil \ no-hw_gmp \ threads \ shared \ $TARGET , where TARGET is one of the three, depending on the target architecture: solaris-sparcv8-cc (sparc) solaris64-sparcv9-cc (sparcv9) solaris-x86-cc (i386) For libcrypto.a and libssl.a used by wanboot, ./Configure \ no-aes \ no-cast \ no-dso \ no-ec \ no-ecdh \ no-ecdsa \ no-mdc2 \ no-rc3 \ no-rc4 \ no-rc5 \ no-ripemd \ no-idea \ no-hw \ no-threads \ solaris64-sparcv9-cc =============================================== The files differ from the original distribution =============================================== The following files are different from the OpenSSL 0.9.8a release. 1. This header file is generated by Configure. We combined four versions of this file generated by four runs of Configure. crypto/opensslconf.h 2. Due to import restrictions of several countries we limit the use of symetric keys over 128 bits. The user needs to add SUNWcry to take advantage of full key length. The following files are modified for this purpose. Added code is surrounded by "#ifdef CRYPTO_UNLIMITED". crypto/bf/bf_skey.c crypto/evp/c_allc.c crypto/evp/e_aes.c crypto/evp/e_bf.c crypto/evp/e_old.c crypto/evp/e_rc4.c crypto/rc4/rc4_skey.c crypto/aes/aes_core.c ssl/ssl_ciph.c ssl/ssl_algs.c ssl/ssl.h 3. Solaris OpenSSL supports PKCS#11 engine. This code may go back to the open-source community in the future. The following files were created. crypto/engine/hw_pk11_err.h crypto/engine/hw_pk11.c crypto/engine/hw_pk11_err.c crypto/engine/hw_pk11_pub.c The following files were modified. crypto/engine/engine.h 4. The openssl command was modified to let the user know the needs of a package SUNWcry when it is not installed. Added code is surrounded by "#ifdef SOLARIS_OPENSSL". apps/gendsa.c apps/genrsa.c apps/pkcs12.c apps/smime.c apps/speed.c Also, a new file was added. crypto/sunw.c 5. These files were modified to load the PKCS#11 engine. Added code is surrounded by "#ifdef SOLARIS_OPENSSL". crypto/engine/eng_cnf.c crypto/engine/hw_pk11.c 6. We have a special case where OpenSSL is used by the "wanboot" binary program, that is run to boot the wanboot client. The following files are modified for this purpose. Added code is surrounded by "#ifdef _BOOT". crypto/opensslconf.h crypto/err/err_all.c crypto/evp/evp_key.c crypto/rand/rand_unix.c crypto/rand/randfile.c crypto/x509v3/v3_utl.c e_os.h 7. The configuration file was modified to ship with Solaris defaults. $SRC/cmd/openssl/openssl.cnf (Note: apps/openssl.cnf is unused.) 8. Two files were added for a clean ON build even though the OpenSSL code itself is not subject to lint checks. crypto/llib-lcrypto ssl/llib-lssl 9. And, finally, this file was added. README.SUNW