Commit Graph

42 Commits

Author SHA1 Message Date
Lauri Võsandi 59bedc1f16 Major refactor
* Migrate to Python 3
* Update token generator mechanism
* Switch to Bootstrap 4
* Switch from Iconmonstr to Font Awesome icons
* Rename default CA common name to "Certidude at ca.example.lan"
* Add self-enroll for the TLS server certificates
* TLS client auth for lease updating
* Compile assets from npm packages to /var/lib/certidude/ca.example.lan/assets
2017-12-30 14:00:19 +00:00
Lauri Võsandi 509f7bfaa8 Migrate from cryptography.io to oscrypto 2017-08-16 20:25:16 +00:00
Lauri Võsandi 789d80d712 api: Save enrollment IP address 2017-08-10 00:45:43 +03:00
Lauri Võsandi 47d2d37684 Add missing import for setxattr 2017-07-08 12:08:23 +00:00
Lauri Võsandi 9b5511212e Several changes
* OCSP workaround for StrongSwan
* Machine attributes framework
* Scripting support
* Default to nginx frontend
2017-07-05 18:22:03 +03:00
Lauri Võsandi 0a98b3f82e Add tests for OCSP, several bugfixes 2017-06-04 14:19:29 +00:00
Lauri Võsandi 5d48abe973 api: Preliminary OCSP support 2017-05-25 22:20:45 +03:00
Lauri Võsandi 5ae872e1ea api: Add preliminary SCEP support 2017-05-18 22:29:49 +03:00
Lauri Võsandi 71e77154d7 tests: Preliminary tests for Kerberos/LDAP auth 2017-05-07 19:11:24 +00:00
Lauri Võsandi b19e163a82 tests: Attempt to set up nchan as part of unittests 2017-05-06 21:07:41 +00:00
Lauri Võsandi de1d182320 Add API call for rendering scripts, bugfixes 2017-05-04 17:56:53 +00:00
Lauri Võsandi 94944e37f1 tests: Better coverage for tagging tests 2017-05-04 09:14:47 +00:00
Lauri Võsandi 9922516d24 tests: Test request deletion and signing API calls 2017-05-03 21:54:08 +00:00
Lauri Võsandi 649863a77e tests: Handle forking 2017-05-03 07:04:52 +00:00
Lauri Võsandi 58491e7933 tests: Cleanups 2017-05-01 22:32:55 +00:00
Lauri Võsandi d5edbe50c5 Token mechanism fixes 2017-04-24 20:33:55 +03:00
Lauri Võsandi 9658d8cc83 Fixes, add some screenshots 2017-04-22 22:48:29 +03:00
Lauri Võsandi 6264846284 Add OpenSSL as dependency for P12 generation 2017-04-13 21:20:02 +00:00
Lauri Võsandi 52d35012a4 Various fixes 2017-04-13 20:30:56 +00:00
Lauri Võsandi d91e12942d Tagging fixes 2017-04-13 15:42:38 +00:00
Lauri Võsandi 51d7dffa9b Bugfixes 2017-04-12 13:56:29 +00:00
Lauri Võsandi 1813056fc7 Move leases and tagging backend to filesystem extended attributes 2017-03-26 00:10:09 +00:00
Lauri Võsandi 06010ceaf3 Refactor
* Remove PyOpenSSL based wrapper classes
* Remove unused API calls
* Add certificate renewal via X-Renewal-Signature header
* Remove (extended) key usage handling
* Clean up OpenVPN and nginx server setup code
* Use UDP port 51900 for OpenVPN by default
* Add basic auth fallback for iOS in addition to Android
* Reduce complexity
2017-03-13 11:42:58 +00:00
Lauri Võsandi 4eed940a66 Clean up PKCS#12 generation 2017-02-09 17:02:33 +00:00
Lauri Võsandi dae282973e Passphraseless PKCS#12 doesn't play well with Firefox 2017-02-09 16:59:01 +00:00
Lauri Võsandi 2a8109704a Refactor
* Remove given name and surname attributes because of issues with OpenVPN Connect
* Remove e-mail attribute because of no reliable method of deriving usable address
* Remove organizational unit attribute
* Don't overwrite Kerberos cronjob during certidude setup authority
* Enforce path_length=0 for disabling intermediate CA-s
* Remove SAN attributes
* Add configuration options for outbox sender name and address
* Use common name attribute to derive signature flags
* Use distinct pub/sub URL-s for long poll and event source
2017-02-07 22:07:21 +00:00
Lauri Võsandi 4ae40c5d45 Add long poll support for CRL API call 2017-01-30 06:29:01 +00:00
Lauri Võsandi 1925207a6d Add OpenVPN bundle generation 2017-01-25 11:34:08 +00:00
Lauri Võsandi b4d006227a Refactor codebase
* Replace PyOpenSSL with cryptography.io
* Rename constants to const
* Drop support for uwsgi
* Use systemd to launch certidude server
* Signer automatically spawned as part of server
* Update requirements.txt
* Clean up certidude client configuration handling
* Add automatic enroll with Kerberos machine cerdentials
2016-09-18 00:00:14 +03:00
Lauri Võsandi c33da46f19 Push server fixes 2016-04-05 15:02:05 +03:00
Lauri Võsandi 7012f5b365 Make user certificate enrollment configurable 2016-04-01 01:55:51 +03:00
Lauri Võsandi 925bc0ef9a Refactor users, add OpenVPN and mailing support
* Add abstraction for user objects
* Mail authority admins about pending, revoked and signed certificates
* Add NetworkManager's OpenVPN plugin support
* Improve CRL support
* Refactor CSRF protection
* Update documentation
2016-03-27 23:38:14 +03:00
Lauri Võsandi 811e6dbb08 Complete overhaul
* Switch to Python 2.x due to lack of decent LDAP support in Python 3.x
* Add LDAP backend for authentication/authorization
* Add PAM backend for authentication
* Add getent backend for authorization
* Add preliminary CSRF protection
* Update icons
* Update push server documentation, use nchan from now on
* Add P12 bundle generation
* Add thin wrapper around Python's SQL connectors
* Enable mailing subsystem
* Add Kerberos TGT renewal cronjob
* Add HTTPS server setup commands for nginx
2016-03-21 23:42:39 +02:00
Lauri Võsandi d38a9a8103 Add preliminary PKCS#12 bundle generation 2016-03-01 11:01:53 +02:00
Lauri Võsandi 4240d55fe4 Add preliminary Python 2.x support 2016-02-28 22:37:56 +02:00
Lauri Võsandi f2df17bb88 Refactor signature request submission
Certidude client now reads configuration from
/etc/certidude/client.conf, submits CSR-s and
once signed configures services based on
/etc/certidude/services.conf
2016-01-15 00:47:30 +02:00
Lauri Võsandi d8abde3d53 Refactor request submission
API now properly distinguishes duplicate request from other requests with same common name.
2016-01-14 11:02:57 +02:00
Lauri Võsandi aacf94bb28 Fix encoding error in duplicate request check 2016-01-14 10:44:26 +02:00
Lauri Võsandi 6a45592cd0 api: Fix CRL generation 2016-01-02 01:08:04 +02:00
Lauri Võsandi da6600e2e9 api: Added signed certificate tagging mechanism 2015-12-16 17:41:49 +00:00
Lauri Võsandi fbbf7a320d Add preliminary support for logging
Current logging mechanism makes use of Python's logging module.
MySQL logging handler inserts log entries to MySQL server and
another logging handler is used to stream events to web interface
via nginx streaming push.
2015-12-13 15:11:22 +00:00
Lauri Võsandi b788d701eb Refactor wrappers
Completely remove wrapper class for CA,
use certidude.authority module instead.
2015-12-12 22:39:17 +00:00