Commit Graph

138 Commits

Author SHA1 Message Date
Nicolas Williams
76fbb83e86 hx509: Add a JWT fuzzer 2026-01-18 19:06:16 -06:00
Nicolas Williams
220a47b000 hx509: Add JOSE functionality 2026-01-18 19:06:16 -06:00
Nicolas Williams
cbe156d927 Use OpenSSL 3.x _only_ and implement RFC 8636
- No more OpenSSL 1.x support
 - Remove 1DES and 3DES
 - Remove NETLOGON, NTLM (client and 'digest' service)
2026-01-18 19:06:16 -06:00
Nicolas Williams
7439820618 hcrypto, otp: Remove hcrypto and otp!
We must switch to OpenSSL 3.x, and getting lib/hcrypto to provide
OpenSSL 3.x APIs is too large an undertaking.  Plus the hcrypto backend
is not safe, not secure (probably has timing leaks galore), and no one
has the resources to make it a world-class crypto library, so it just
has to go.
2026-01-18 16:09:31 -06:00
Taylor R Campbell
ca0e53b64f Pass -d to yacc(1) so it generates the header file.
Bison must generate this unsolicited, but BSD yacc does not.

The makefiles for lib/com_err and lib/sl already did this; this
change just adds it to lib/asn1 and lib/hx509 too.

fix https://github.com/heimdal/heimdal/issues/1100
2023-06-21 16:07:16 -05:00
Nicolas Williams
88e31d2da8 sl: Add missing sel-gram.h target 2022-01-21 23:15:21 -06:00
Nicolas Williams
664b749399 hx509: Fix sel-gram.y shift/reduce conflicts
AND and OR are now binary operators, left-associative, with AND having
higher precedence than OR.

The not operator is now higher-precedence than the AND and OR operators.
2022-01-21 22:58:22 -06:00
Nicolas Williams
b8112ac562 hx509: Build libhx509template and hxtool with it 2021-08-12 17:31:35 -05:00
Nicolas Williams
6595f080e1 hx509: Fix hxtool building w/o ASN.1 templating 2021-03-10 21:21:26 -06:00
Nicolas Williams
6471fcaa54 Move ASN.1 modules from lib/hx509 to lib/asn1
This will help us generate a directory of OIDs from all the ASN.1
modules in lib/asn1, which will then help us create an hx509 API for
resolving OIDs to/from friendly names, which ultimately will help us
make hxtool more user-friendly.
2019-10-07 21:32:00 -05:00
Luke Howard
6561afff3a hx509: update gen_req.sh for OpenSSL 1.1 (#392)
OpenSSL 1.1 has the pkInitKDC OID built in, which breaks as it was redefined by
openssl.cnf in Heimdal. Try to determine if OpenSSL >= 1.1 and if so, use a
configuration file that omits this OID definition. The implementation is not
robust but as this is simply an example (not run by the test suites), it should
be adequete.
2018-12-24 12:13:29 -06:00
Luke Howard
572a6fd7ac hx509: fix dependency, hxtool requires ASN.1 headers 2018-12-24 02:25:19 +00:00
Nicolas Williams
3e65dfbc32 Fix make dist missing files (#228) 2016-12-15 12:15:56 -06:00
Viktor Dukhovni
1017a594ef Use OpenSSL include path as needed
For consistency make "-I" part of the macro value set by autoconf.

For now, don't attempt to handle OpenSSL rpath in cf/crypto.m4.
That's much easier by just setting LDFLAGS when running configure.
Otherwise too many Makefiles to edit and libtool and automake do
their best to undo the rpath.
2016-05-07 05:29:12 -04:00
Viktor Dukhovni
131c8dd30e Export new ASN1 oid symbols and fix build
We added some new OID symbols in libasn1, make them public.

When an older Heimdal is already installed and its libraries don't
have some newly created symbols we run into build or test problems,
if libtool decides to use installed rather than just-built libraries.
This was happening with a few of test programs in libhx509.  Fixed.
2016-05-06 21:09:03 -04:00
Nicolas Williams
490337f4f9 Make OpenSSL an hcrypto backend proper
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.
2016-04-15 00:16:17 -05:00
Luke Howard
f789d8403e hx509: explicitly include ref/pkcs11.h
review comment from Nico Williams: explicitly include ref/pkcs11.h to
avoid any conflict with system PKCS#11 header
2015-12-09 11:03:48 +11:00
Love Hörnquist Åstrand
30768c75bb make quiet 2014-08-22 21:25:01 -07:00
Viktor Dukhovni
46e0bd3c68 Use P-256 for EC tests
Fedora/RedHat OpenSSL supports only P-256, P-384 and P-521.

The new mkcert.sh script can create updated certs when these
expire on Jan 17th 2038.
2014-03-12 21:18:03 -04:00
Love Hörnquist Åstrand
dbf523a15d clean files 2014-02-16 11:52:22 -08:00
Love Hörnquist Åstrand
762a72d650 use noinst_HEADERS for hx509-private.h 2014-02-16 09:15:48 -08:00
Love Hörnquist Åstrand
cae2e6f168 include hx509-private.h 2014-02-16 09:15:39 -08:00
Philip Boulain
12f7c3248b dd include flags for test cases.
When building with OpenSSL at a custom prefix, some test cases will fail
 to compile due to missing include path compiler options. This patch adds
 them, as well as defining CPPFLAGS and LDADD for test_expr.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2012-09-10 08:39:42 -07:00
Roland C. Dowdeswell
be5afdbf7f Make concurrent builds work.
To stop the errors when building concurrently, we make a number of
changes:

        1.  stop including generated files in *_SOURCES,

        2.  make *-protos.h and *-private.h depend on the *_SOURCES,

        3.  make all objects depend on *-{protos,private}.h,

        4.  in a few places change dir/header.h to $(srcdir)/dir/header.h,

This appears to work for me with make -j16 on a 4-way box.
2012-08-08 00:04:04 +01:00
Nicolas Williams
98809e86ce Move base into lib
This involves reverting dd267e8fc3,
    but that gets lost in the move.

    This builds on Ubuntu and Windows at this time.
2012-06-20 19:32:08 -05:00
Love Hörnquist Åstrand
01ddeee37f use heim_verbose 2011-11-13 10:01:40 -08:00
Love Hornquist Astrand
9f46874cfb add heimbase.la 2011-09-25 18:59:10 +02:00
Linus Nordberg
2e35198908 Add version-script.map to _DEPENDENCIES.
Added to 11 out of 14 directories with map files.  Not lib/ntlm,
lib/hcrypto and kdc which have the map file as an explicit dependency
to _OBBJECTS.

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
2011-07-24 14:07:59 -07:00
Love Hörnquist Åstrand
12403a31ce sprinkle more windows files 2011-07-23 11:18:21 -07:00
Love Hörnquist Åstrand
7aaba443bc add NTMakefile and windows directories 2011-07-17 12:16:59 -07:00
Love Hörnquist Åstrand
e72940c962 more frameworks for test_name 2011-06-13 21:19:10 -07:00
Love Hornquist Astrand
5c34efcef1 add data/win-u16-in-printablestring.der 2010-09-13 00:04:47 -07:00
Love Hornquist Astrand
1ddb13e34a add missing files 2010-09-13 00:04:33 -07:00
Love Hornquist Astrand
ed7a5175fb add opt files 2010-09-12 23:37:36 -07:00
Love Hornquist Astrand
fab9dd38e1 use option file 2009-11-22 13:51:09 -08:00
Love Hornquist Astrand
70e2dd4bd6 add more depencies 2009-11-21 23:08:00 -08:00
Love Hornquist Astrand
824ac40a10 add data/n0ll.pem 2009-09-30 01:18:34 -07:00
Love Hornquist Astrand
2ef2c451a4 drop $Id$ 2009-09-21 19:14:50 -07:00
Love Hornquist Astrand
3d7488398a abstract out depenecy tracking for tools 2009-09-16 05:40:55 -07:00
Love Hornquist Astrand
dc4e8669ea Abstract out asn1_compile and slc 2009-09-16 00:12:13 -07:00
Love Hornquist Astrand
aee7858b16 Clean new files 2009-08-21 15:14:57 -07:00
Love Hornquist Astrand
658a7b52ca clean better 2009-08-06 10:19:51 +02:00
Love Hornquist Astrand
1fc7af5bcf Add missing files 2009-08-05 11:13:01 +02:00
Love Hörnquist Åstrand
b57571d609 add depencies for ocsp_asn1.h pkcs10_asn1.h
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25265 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-06-03 17:25:28 +00:00
Love Hörnquist Åstrand
673f326a7f add ec certs
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25008 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-03-29 21:15:20 +00:00
Love Hörnquist Åstrand
a10f8dad8e drop libnhx509
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24445 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-25 00:45:18 +00:00
Love Hörnquist Åstrand
ba69102e6b add flags to hx509_cms_verify_signed
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24192 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-12-15 04:30:52 +00:00
Love Hörnquist Åstrand
ae6f751fc0 support egrep
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24065 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-12-11 04:51:49 +00:00
Love Hörnquist Åstrand
3ecc00cd39 provide convenice lib
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23885 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-10-13 02:59:28 +00:00
Love Hörnquist Åstrand
fcf5432599 bump version
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23325 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-06-26 03:54:55 +00:00