This adds a new backend for libhcrypto: the OpenSSL backend.
Now libhcrypto has these backends:
- hcrypto itself (i.e., the algorithms coded in lib/hcrypto)
- Common Crypto (OS X)
- PKCS#11 (specifically for Solaris, but not Solaris-specific)
- Windows CNG (Windows)
- OpenSSL (generic)
The ./configure --with-openssl=... option no longer disables the use of
hcrypto. Instead it enables the use of OpenSSL as a (and the default)
backend in libhcrypto. The libhcrypto framework is now always used.
OpenSSL should no longer be used directly within Heimdal, except in the
OpenSSL hcrypto backend itself, and files where elliptic curve (EC)
crypto is needed.
Because libhcrypto's EC support is incomplete, we can only use OpenSSL
for EC. Currently that means separating all EC-using code so that it
does not use hcrypto, thus the libhx509/hxtool and PKINIT EC code has
been moved out of the files it used to be in.
lib/editline has been replaced in the tree by lib/libedit.
However, neither readline() implementation is required by
the Windows build at the present time.
Change-Id: I7d0390d1f03a1d25c3f79ad76206872b388d1d53
The application manifests for Heimdal can't be built until the
libraries are built. Since tools depend on application manifests, we
need to build them separately.
The assemblies should be built when the lib directory is build because
the generated application manifest should be used with all the tools
and executables that use the libraries.