Rick van Rein [Mon, 17 Oct 2016 19:33:00 +0000 (20:33 +0100)]
First working TLS-KDH system! (Still with possible memleaks)
Rick van Rein [Thu, 25 Aug 2016 14:42:24 +0000 (15:42 +0100)]
Now passing Ticket and Authenticator between client and server
- tested for the KDH-only mode, without server certificate
- including a keytab for `generic/testsrv\@tlspool.arpa2.lab@ARPA2.NET`
Rick van Rein [Fri, 19 Aug 2016 10:10:18 +0000 (11:10 +0100)]
Now returning properly from cli_kdhsig_encode()
- simply forgot to add terminators to the syntax packers
- have not checked the actual data produced
Rick van Rein [Fri, 19 Aug 2016 08:34:17 +0000 (09:34 +0100)]
Mostly working-ish, with problems in Quick DER and GnuTLS-KDH remaining
- issue in TLS Pool: PIN entry does not work
- issue in Quick DER: der_pack() returns incredibly large size
- issue in GnuTLS-KDH: crashes on gcm/hash size
- issue in GnuTLS-KDH: gnutls_certificate_get_peers() is empty under KDH
This release bails out of cli_kdhsig_encode(), causing GNUTLS_E_USER_ERROR
Rick van Rein [Wed, 17 Aug 2016 08:08:12 +0000 (09:08 +0100)]
First version that seems to get the ticket accross (due to hacks)
The hacks are marked to be overruled #if TOM_IS_WEG
Rick van Rein [Sun, 3 Jul 2016 18:03:36 +0000 (19:03 +0100)]
Now running all the way up to the reception of Certificate Request
This is in combination with GnuTLS-KDH
63f3e43bfb19a9105004e6dc3b278d5fdec0ff3a
Rick van Rein [Sun, 3 Jul 2016 16:02:39 +0000 (17:02 +0100)]
Working up to and including clisrv_cert_retrieve()
- It fails with GnuTLS error -87, No supported cipher suites have been found.
- This is after returning a Kerberos ticket (both empty and DER NULL)
Rick van Rein [Sat, 2 Jul 2016 10:13:31 +0000 (11:13 +0100)]
Last (AFAIK) functional extension to TLS-KDH
- overlooked retrieval of data from client's Ticket into server cmd->...
- removed cmd->krb_tkt as it was never really needed
- kept cmd->krb_key for decryption of what comes up next
- added cmd->krbid_client for client principal, assured by both KDH modes
- added cmd->krbid_server for server principal, assured by only KDH-Only
- considering cmd->krbid_XXX to be verified identities after gnutls_handshake()
- checked against change of server ID after it starts with user-to-user
- it compiles, but let's not ship it quite yet
Rick van Rein [Fri, 1 Jul 2016 22:10:38 +0000 (23:10 +0100)]
Misc improvements
- malloc() now matched by free() in cli_kdhsig_encode()
- better GnuTLS error codes: E_DE/ENCRYPTION_FAILED, etc.
Rick van Rein [Fri, 1 Jul 2016 19:37:55 +0000 (20:37 +0100)]
Added srv_kdhsig_decode() to help verification of the Kerberos "signature"
- Unpack the EncryptedData
- Decrypt the EncryptedData with the key at hand
- Unpack the Authenticator
- Somewhat validate the Authenticator
- Deliver information from the Authenticator
Rick van Rein [Fri, 1 Jul 2016 18:52:22 +0000 (19:52 +0100)]
Update on cli_kdhsig_encode()
- new data field in include file
Rick van Rein [Fri, 1 Jul 2016 18:51:06 +0000 (19:51 +0100)]
Introduced compiling cli_kdhsig_encode()
- Construct an Authenticator
- Deliver it in dec_authenticator
- Encrypt the Authenticator and wrap it in EncryptedData
- Deliver that in enc_authenticator
Rick van Rein [Fri, 1 Jul 2016 12:39:13 +0000 (13:39 +0100)]
Compiling code to supply Tickets as certificates to GnuTLS' TLS-KDH extension
- As a client, provide a service ticket
- As a KDH-Only server, consider user-to-user mode instead of client-to-service
- In user-to-user mode, select a server TGT and supply it
- In client-to-service mode, select no server ticket (instead, supply 0 bytes)
Rick van Rein [Thu, 30 Jun 2016 22:25:53 +0000 (23:25 +0100)]
Looking good: have_key_tgt() produce a keyblock + creds in various ways
Rick van Rein [Thu, 30 Jun 2016 20:17:51 +0000 (21:17 +0100)]
Remodelled contexts (split for clients / servers) and started have_key_ctx()
Rick van Rein [Thu, 30 Jun 2016 14:58:41 +0000 (15:58 +0100)]
Potential extra precaution at setup of Kerberos.
Rick van Rein [Thu, 30 Jun 2016 14:58:07 +0000 (15:58 +0100)]
Potential extra precaution during startup of Kerberos
Rick van Rein [Thu, 30 Jun 2016 14:11:12 +0000 (15:11 +0100)]
Added keyblock to session, and cleanup at the end of the handshake
Rick van Rein [Thu, 30 Jun 2016 13:52:10 +0000 (14:52 +0100)]
Setup and cleanup for Kerberos: check colletion support on credential caches
Rick van Rein [Thu, 30 Jun 2016 13:34:59 +0000 (14:34 +0100)]
Created configuration variabels for Kerberos keytab,credcache of cli,srv
Rick van Rein [Mon, 27 Jun 2016 18:46:00 +0000 (19:46 +0100)]
First attempt at making TLS-KDH work with the TLS Pool
Rick van Rein [Mon, 30 May 2016 13:45:34 +0000 (14:45 +0100)]
Added priority string with asymmetric certificate type support (RFC 7250)
Rick van Rein [Mon, 30 May 2016 11:34:14 +0000 (13:34 +0200)]
Initial use of proposed GUI for TLS-KDH
Rick van Rein [Wed, 29 Jun 2016 09:34:54 +0000 (10:34 +0100)]
Adriaan spotted a bug with indirection
Rick van Rein [Wed, 29 Jun 2016 09:30:29 +0000 (10:30 +0100)]
Adriaan found a few places where "make" should be "$(MAKE)"
vanrein [Tue, 28 Jun 2016 08:11:41 +0000 (10:11 +0200)]
Merge pull request #33 from leenaars/steamworks
Some cleanups, added steamworks to QUICKSTART.sh
Michiel Leenaars [Tue, 28 Jun 2016 07:56:44 +0000 (09:56 +0200)]
QUICKSTART.sh
Rick van Rein [Sun, 26 Jun 2016 11:54:42 +0000 (12:54 +0100)]
DNSSEC root key configurable in tlspool.conf ; added default root key for testing
Rick van Rein [Sat, 25 Jun 2016 21:02:07 +0000 (22:02 +0100)]
Merged the compilation and installation of Pulleyback into the TLS Pool
- pulleyback is a backend for steamworks, as described on:
- https://github.com/arpa2/steamworks/blob/master/docs/pulleyback-api.md
- https://github.com/arpa2/tlspool/blob/master/doc/steamworks-ldap-scheme.md
- https://github.com/arpa2/tlspool/blob/master/doc/pulleyscript.md
Rick van Rein [Sat, 25 Jun 2016 20:47:36 +0000 (21:47 +0100)]
Merge branch 'master' of https://github.com/arpa2/tlspool
Rick van Rein [Sat, 25 Jun 2016 20:43:40 +0000 (21:43 +0100)]
Pulleyback now appears to work
- The test program adds and removes disclose.db and localid.db entries
- There are some weird interactions with the tool/get_xxx programs
- This may be due to opening the databases with DB_RECOVER, but I'm not sure
- Running one program at a time appears to work though
- Also note there's been no problem interacting with programs and TLS Pool
vanrein [Fri, 24 Jun 2016 15:36:47 +0000 (17:36 +0200)]
Merge pull request #32 from leenaars/patch-2
Small cosmetic improvements for Makefile consistency
leenaars [Fri, 24 Jun 2016 14:58:01 +0000 (16:58 +0200)]
Makefile consistency
Rick van Rein [Fri, 24 Jun 2016 14:49:16 +0000 (15:49 +0100)]
Updates to the PulleyBack simulation and Output Driver
- it's not working though
- BerkeleyDB is complaining about the environment upon closure
- Sometimes the database also cannot be closed
- Complaints about range conflicts
Rick van Rein [Fri, 24 Jun 2016 04:46:45 +0000 (05:46 +0100)]
PulleyScript for trust.db added
Rick van Rein [Wed, 22 Jun 2016 10:29:31 +0000 (12:29 +0200)]
Updates LDAP schema for Pulley backend aimed at TLS Pool
Rick van Rein [Wed, 22 Jun 2016 10:24:25 +0000 (11:24 +0100)]
Clarified PulleyBack transaction interface and got it compiling correctly
- Dropped the notion of idempotent _commit() / _rollback()
- Implemented the idempotent function of _prepare()
- Caused assert() to bail out on detected-illegal calling orders
- Not yet tested or run
- Not yet resolved the _collaborate() functiality
vanrein [Wed, 22 Jun 2016 07:30:24 +0000 (09:30 +0200)]
Merge pull request #31 from leenaars/stable
Add stable branch
Michiel Leenaars [Wed, 22 Jun 2016 07:04:59 +0000 (09:04 +0200)]
QUICKSTART.sh modified
Michiel Leenaars [Wed, 22 Jun 2016 06:53:19 +0000 (08:53 +0200)]
Consistent use of PKG_CONFIG
Rick van Rein [Tue, 21 Jun 2016 20:52:18 +0000 (21:52 +0100)]
Initial test/pulleybacksimu.c -- opens and closes databases, dumps data
Rick van Rein [Tue, 21 Jun 2016 16:00:35 +0000 (17:00 +0100)]
Improved Makefile for pulleyscript
- Quoted '#' in echo statements (were interpreted as Makefile comments)
Rick van Rein [Tue, 21 Jun 2016 15:59:54 +0000 (16:59 +0100)]
Merge branch 'master' of /usr/local/src/tlspool-master into pulleyback
Rick van Rein [Tue, 21 Jun 2016 15:58:21 +0000 (16:58 +0100)]
Improvements to the Makefile
- quoted echo statements starting with '#' (which became Makefile comment)
- used ?= instead of ifndef
Rick van Rein [Tue, 21 Jun 2016 15:45:44 +0000 (16:45 +0100)]
Completed the coding for database updates -- and it compiles
(No running yet, though)
Rick van Rein [Tue, 21 Jun 2016 06:57:02 +0000 (07:57 +0100)]
Added self->valexp, started harvesting from structures (preps update.c)
- https://github.com/arpa2/tlspool/blob/pulleyback/doc/pulleyscript.md
- compiler breaks on "TODO;" statements in update_xxx() in update.c
Rick van Rein [Tue, 21 Jun 2016 06:26:19 +0000 (07:26 +0100)]
Merge branch 'master' of /usr/local/src/tlspool-master into pulleyback
Rick van Rein [Tue, 21 Jun 2016 06:24:00 +0000 (07:24 +0100)]
Initial, compiling code for Pulley backend to the TLS Pool
- https://github.com/arpa2/steamworks/blob/master/docs/pulleyback-api.md
- API fully implemented, compiles, but not yet tested
- update.c not incorporated in build; it still needs all database specifics
Rick van Rein [Tue, 21 Jun 2016 05:29:46 +0000 (06:29 +0100)]
Removed build warnings and an unexplained linker error in test/
Rick van Rein [Mon, 20 Jun 2016 07:25:55 +0000 (08:25 +0100)]
Fixed syntax error; accidentally checked into master, sorry
Rick van Rein [Mon, 20 Jun 2016 07:18:51 +0000 (08:18 +0100)]
Prepared documentation for the Pulley backend driver for the TLS Pool
vanrein [Sun, 19 Jun 2016 21:16:49 +0000 (23:16 +0200)]
Merge pull request #30 from arpa2/validation
Validation
Rick van Rein [Sun, 19 Jun 2016 21:15:42 +0000 (22:15 +0100)]
Preparing for inclusion of validation logic into master branch
Rick van Rein [Sun, 19 Jun 2016 21:12:51 +0000 (22:12 +0100)]
First delivery of the validation framework
- The valexp logic has been implemented and integrated properly
- The gnutls_validate() functionality is no longer statically run
- Files issues #27 #28 #29 on GitHUB, with unfinished work
vanrein [Sat, 18 Jun 2016 11:16:44 +0000 (13:16 +0200)]
Merge pull request #26 from hfmanson/master
bugfix uninstall make targets
Henri Manson [Sat, 18 Jun 2016 11:09:40 +0000 (13:09 +0200)]
bugfix uninstall make targets
vanrein [Fri, 17 Jun 2016 19:39:25 +0000 (21:39 +0200)]
Merge pull request #25 from leenaars/master
Much improved version with .conf generation for SoftHSM2 and self-updates
Michiel Leenaars [Fri, 17 Jun 2016 19:06:35 +0000 (21:06 +0200)]
Much improved version of QUICKSTART with conf generation for SoftHSMv2 and updates
Rick van Rein [Fri, 17 Jun 2016 10:10:51 +0000 (11:10 +0100)]
Rick van Rein [Fri, 17 Jun 2016 10:08:12 +0000 (11:08 +0100)]
Merge commit '
fda96751b800bf7722c247af49abbba8020b011f' into validation
Conflicts:
src/Makefile
src/starttls.c
Rick van Rein [Fri, 17 Jun 2016 10:00:16 +0000 (11:00 +0100)]
Fixed fetch_remote_credentials(), got working tool/testcli --> tool/testsrv
Rick van Rein [Thu, 16 Jun 2016 18:39:49 +0000 (19:39 +0100)]
Removed the #warning on RAND_MAX limitedness (so Windows compiles silently)
Rick van Rein [Thu, 16 Jun 2016 18:30:32 +0000 (19:30 +0100)]
Dealt with an idiot's RAND_MAX, that is even below 0xffff
(and made it work more efficiently when it is 0xffffffff too)
vanrein [Thu, 16 Jun 2016 15:40:57 +0000 (17:40 +0200)]
Merge pull request #24 from hfmanson/namedpipe
Native windows port daemon and libtlspool
Henri Manson [Thu, 16 Jun 2016 15:34:36 +0000 (17:34 +0200)]
small fix
Henri Manson [Thu, 16 Jun 2016 15:31:08 +0000 (17:31 +0200)]
small fix
Rick van Rein [Thu, 16 Jun 2016 15:27:35 +0000 (16:27 +0100)]
Build updates on Linux to the Windows port
Henri Manson [Thu, 16 Jun 2016 14:54:04 +0000 (16:54 +0200)]
determine whether compiling for windows or not
Henri Manson [Thu, 16 Jun 2016 14:43:34 +0000 (16:43 +0200)]
cleanup code
Henri Manson [Thu, 16 Jun 2016 13:54:17 +0000 (15:54 +0200)]
merge with arpa2/master
Rick van Rein [Wed, 15 Jun 2016 21:33:12 +0000 (22:33 +0100)]
Bugfix. Incomplete static typing led to a missing dereference operator.
vanrein [Wed, 15 Jun 2016 18:34:23 +0000 (20:34 +0200)]
Merge pull request #21 from leenaars/patch-1
Link to DoNAI definition for user friendlyness
Rick van Rein [Wed, 15 Jun 2016 18:23:30 +0000 (19:23 +0100)]
Compiling version of valexp code linked in with starttls_thread()
* Not yet tested (or even run)
* DONE: 2ND: Either add `remote_flags` or remove chains without any root cert
* DONE: Setup `remote_cert_raw` in `fetch_remote_credentials()`
* DONE: Reference `remote_cert_raw` from cmd (use in `valexp_`{`Oo`,`Gg`}`_start`)
* DONE: Validation expression predicates can use `cmd->remote_xxx`
* DONE: Make adjustments in `valexp_Tt_start` for correct handling of self-signed etc.
* DONE: Cleanup `cmd->remote_xxx` when done with `starttls_thread()` + takeover
* DONE: Invoke validation expression logic
Not all the work has been done yet:
* DEFER: Load a PGP key ring for validation under `valexp_Tt_start()`
* DEFER: Process `SIGUSR1` by re-reading the PGP key ring, and possibly more
* DEFER: Process `valexp_Dd_start()` with an `online.c` profile
* DEFER: Consider taking the validation expression out of the `disclose.db`
Henri Manson [Sat, 11 Jun 2016 13:18:18 +0000 (15:18 +0200)]
cross-compile makefile update
Henri Manson [Sat, 11 Jun 2016 10:56:27 +0000 (12:56 +0200)]
cross-compile makefile fix
Henri Manson [Sat, 11 Jun 2016 10:52:59 +0000 (12:52 +0200)]
cross-compile makefile fix
Henri Manson [Sat, 11 Jun 2016 10:49:59 +0000 (12:49 +0200)]
cross-compile makefile fix
Henri Manson [Sat, 11 Jun 2016 10:28:35 +0000 (12:28 +0200)]
cross-compile makefile
Henri Manson [Sat, 11 Jun 2016 09:57:59 +0000 (11:57 +0200)]
libtlspool windows files
Henri Manson [Sat, 11 Jun 2016 09:49:38 +0000 (11:49 +0200)]
libtlspool
Rick van Rein [Fri, 10 Jun 2016 12:03:54 +0000 (13:03 +0100)]
Bug fix in database keying of tool/get_trust.c and tool/set_trust.c
Rick van Rein [Fri, 10 Jun 2016 11:17:04 +0000 (12:17 +0100)]
Typo in man page
Rick van Rein [Fri, 10 Jun 2016 11:05:26 +0000 (12:05 +0100)]
Updated testdata/Makefile to create a trust.db
- root X.509 certs, for clients as well as servers, test-ca and -flying-signer
Rick van Rein [Fri, 10 Jun 2016 08:50:11 +0000 (09:50 +0100)]
Additional update on TLS Pool database recovery for the trust database
Rick van Rein [Fri, 10 Jun 2016 08:44:55 +0000 (09:44 +0100)]
Trust DB management tools
Also, valexp handling in starttls.c is, though still with replicated code
Henri Manson [Mon, 6 Jun 2016 12:40:16 +0000 (14:40 +0200)]
cross-compile Makefile
hfmanson [Sat, 4 Jun 2016 17:12:40 +0000 (19:12 +0200)]
$(CC) instead of gcc
Henri Manson [Sat, 4 Jun 2016 14:26:08 +0000 (16:26 +0200)]
working cygwin-less tlspool
leenaars [Fri, 3 Jun 2016 09:22:05 +0000 (11:22 +0200)]
Link to DoNAI definition for user friendlyness
Rick van Rein [Thu, 2 Jun 2016 14:30:17 +0000 (15:30 +0100)]
Added CRL data to the trust.db -- at least for X.509
Rick van Rein [Mon, 30 May 2016 14:59:10 +0000 (15:59 +0100)]
Created description of configuration over SteamWorks (or general LDAP)
Rick van Rein [Mon, 30 May 2016 14:24:40 +0000 (15:24 +0100)]
Documented the format of the trust.db
Rick van Rein [Mon, 30 May 2016 11:21:45 +0000 (12:21 +0100)]
Key lookup of PGP in Global Directory is working
- download PGP keys from LDAP (which is radix64-encoded)
- compare to binary provided PGP key (as GnuTLS would do)
- verify key equivalence _and_ revocation absense in key block
- use this in the online.c profile of online_globaldir_pgp_profile
- do all this throught the online_globaldir_pgp() routine
- incorporated the routine call in test/onlinecheck.c
- automated this as part of test/Makefile
Rick van Rein [Sat, 28 May 2016 10:10:56 +0000 (11:10 +0100)]
PGP comparison code compiles, linked into profile for PGP global directory
Rick van Rein [Sat, 28 May 2016 09:37:14 +0000 (11:37 +0200)]
First stab at PGP handling for online.c
- PGP message parsing (new formats only)
- Mapping radix64 to binary while going through it
Rick van Rein [Thu, 26 May 2016 20:16:55 +0000 (21:16 +0100)]
Additional test/onlinecheck.c test for PGP keys -- to be made to work
Rick van Rein [Thu, 26 May 2016 19:38:16 +0000 (20:38 +0100)]
Added code, yet to be tested, with globaldir invocations for X.509 and PGP
Note that PGP code is in its infancy, it will compare pubkeys binary, which
is a gross distortion to what is really needed: recognising pubkey blocks,
and possibly withdrawal signals.
Rick van Rein [Thu, 26 May 2016 16:29:17 +0000 (17:29 +0100)]
Working online user check through GlobalDir: DNSSEC and LDAP (but not DANE)
--> Note on DANE: This requires doing starttls() on the LDAP connection,
in a way that collects the server certificate for checking. There is
no facility to do this in the LDAP API, AFAIK. We may however pass it
through an internal procedure and check this later on.
vanrein [Thu, 19 May 2016 10:57:49 +0000 (12:57 +0200)]
Merge pull request #20 from leenaars/master
Added quickstart with nix
Henri Manson [Wed, 18 May 2016 15:24:26 +0000 (17:24 +0200)]
working version with copycat hack (client = -1)