Commit Graph

25 Commits

Author SHA1 Message Date
Luke Howard
81077eea7b tests: use cname/sname string name instead of unparsing 2021-12-26 18:40:19 +11:00
Luke Howard
f74e9223b6 tests: add some logging to windc test plugin
Log some parameters from the astgs_request_t.
2021-12-23 17:49:36 -06:00
Luke Howard
64dad876a4 kdc: simplify client_access windc plugin API
Make client_access plugin API take a single argument, astgs_request_t. Note: in
order to avoid making r->outpadata public (it's an internal buffer), but allow
Samba to modify the reply pa data, some pointer magic is required.
2021-12-23 17:49:36 -06:00
Luke Howard
e81bcb71f3 kdc: add finalize_reply API to windc plugin
Allow a windc plugin to finalize the KDC reply (including the encrypted ticket
and reply parts) before encoding for transmission.
2021-12-23 17:49:36 -06:00
Luke Howard
f7964251ff kdc: support for PAC_ATTRIBUTES_INFO
Add PAC_ATTRIBUTES_INFO to the PAC. This info buffer indicates whether the user
explicitly requested a PAC be present or absent.

Note: this changes the windc plugin ABI.
2021-12-22 10:36:26 +11:00
Luke Howard
2087e07c1e kdc: update PAC hooks for Samba
Samba includes the user's long-term credentials (encrypted in the AS reply key)
to allow legacy authentication protocols such as NTLM to work even if the
pre-authentication mechanism replaced the reply key (as PKINIT does).

Samba also needs to know whether the client explicitly requested a PAC be
included (or excluded), in order to defer PAC exclusion until a service ticket
is issued (thereby avoiding a name binding attack if the user is renamed
between TGT and service ticket issuance).

References:

https://bugzilla.samba.org/show_bug.cgi?id=11441
https://bugzilla.samba.org/show_bug.cgi?id=14561

Closes: #864

Original authors:
 - Joseph Sutton <josephsutton@catalyst.net.nz>
 - Andrew Bartlett <abartlet@samba.org>
 - Stefan Metzmacher <metze@samba.org>
2021-12-14 13:51:53 +11:00
Luke Howard
fcd8e33a98 tests: use KRB5_CALLCONV for windc test plugin 2021-12-14 13:51:53 +11:00
Joseph Sutton
814e58fda8 heimdal: Make _krb5_pac_get_kdc_checksum_info() into a global function
This lets us call it from Samba.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>

[abartlet@samba.org Similar to Samba commit 3bdce12789af1e7a7aba56691f184625a432410d
 but also fixed for caller in Heimdal windc plugin tests]
2021-12-14 13:44:01 +11:00
Isaac Boukris
2ffaba9401 kdc: sign ticket using Windows PAC
Split Windows PAC signing and verification logic, as the signing has to be when
the ticket is ready.

Create sign and verify the PAC KDC signature if the plugin did not, allowing
for S4U2Proxy to work, instead of KRB5SignedPath.

Use the header key to verify PAC server signature, as the same key used to
encrypt/decrypt the ticket should be used for PAC server signature, like U2U
tickets are signed witht the tgt session-key and not with the longterm key,
and so krbtgt should be no different and the header key should be used.

Lookup the delegated client in DB instead of passing the delegator DB entry.

Add PAC ticket-signatures and related functions.

Note: due to the change from KRB5SignedPath to PAC, S4U2Proxy requests
against new KDC will not work if the evidence ticket was acquired from
an old KDC, and vide versa.

Closes: #767
2021-09-19 13:25:27 +10:00
Nicolas Williams
575c67806b Add bx509d 2019-12-04 21:34:44 -06:00
Luke Howard
2287c250b2 Revert "Revert "Fix tests/plugin/windc.c""
windc doesn't link against libkdc, so it doesn't need to check its instance;
however, we will continue to export kdc_get_instance() from libkdc in case
other windc plugins do link against it.
2019-01-05 10:55:13 +11:00
Luke Howard
e776e6c5ed Revert "Fix tests/plugin/windc.c"
Will fix by exporting kdc_get_instance() from libkdc.
2019-01-05 10:47:42 +11:00
Nicolas Williams
9b39978ddd Fix tests/plugin/windc.c 2019-01-04 11:26:28 -06:00
Luke Howard
e739c4d0c2 windc: update test windc plugin to use new load SPI 2019-01-04 15:17:20 +11:00
Love Hörnquist Åstrand
407fcf35fc update client_access 2011-07-24 20:24:39 -07:00
Love Hörnquist Åstrand
75987ebbae update to match plugin abi 2011-07-23 11:59:06 -07:00
Love Hornquist Astrand
0879b9831a remove trailing whitespace 2011-05-21 11:57:31 -07:00
Love Hornquist Astrand
d91e772a0e adopt syntax 2010-11-28 10:46:26 -08:00
Love Hörnquist Åstrand
dd133f88ca make compile w/o warning, fixup from abartletts patch
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25309 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-07-05 05:07:16 +00:00
Love Hörnquist Åstrand
6937d41a02 remove trailing whitespace
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23815 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 09:21:03 +00:00
Love Hörnquist Åstrand
68c7f7560e Update to match new API for windc interface.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22702 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-03-22 22:20:29 +00:00
Love Hörnquist Åstrand
f0bfd625d0 Update to validate function signature change.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19800 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-01-10 15:29:03 +00:00
Love Hörnquist Åstrand
4e8c37cad5 Add client_access.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19675 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-01-04 11:10:58 +00:00
Love Hörnquist Åstrand
fa71fa1c67 log that the function is called.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19644 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-01-03 19:35:48 +00:00
Love Hörnquist Åstrand
6ce63327d4 test WinDC PAC functionallity
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19633 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-01-03 15:40:33 +00:00