Commit Graph

41 Commits

Author SHA1 Message Date
Lauri Võsandi bfdd8c4887 Several updates #3
* Move SessionResource and CertificateAuthorityResource to api/session.py
* Log browser user agent for logins
* Remove static sink from backend, nginx always serves static now
* Don't emit 'attribute-update' event if no attributes were changed
* Better CN extraction from DN during lease update
* Log user who deleted request
* Remove long polling CRL fetch API call and relevant test
* Merge auth decorators ldap_authenticate, kerberos_authenticate, pam_authenticate
* Add 'kerberos subnets' to distinguish authentication method
* Add 'admin subnets' to filter traffic to administrative API calls
* Highlight recent log events
* Links to switch between 2, 3 and 4 column layouts in the dashboard
* Restored certidude client snippets in request dialog
* Various bugfixes, improved log messages
2018-05-04 08:55:49 +00:00
Lauri Võsandi 4e4b551cc2 Several updates #2
* Reverse RDN components for all certs
* Less side effects in unittests
* Split help dialog shell snippets into separate files
* Restore 'admin subnets' config option
* Embedded subnets, IKE and ESP proposals now configurable in builder.conf
* Use expr instead of bc for math operations in shell
* Better frontend support for Let's Encrypt certificates
2018-05-02 08:11:01 +00:00
Lauri Võsandi 5e9251f365 Several updates
* Subnets configuration option for Kerberos machine enrollment
* Configurable script snippets via [service] configuration section
* Preliminary revocation reason support
* Improved signature profile support
* Add domain components to DN to distinguish certificate CN's namespace
* Image builder improvements, add Elliptic Curve support
* Added GetCACaps operation and more digest algorithms for SCEP
* Generate certificate and CRL serial from timestamp (64+32bits) and random bytes (56bits)
* Move client storage pool to /etc/certidude/authority/
* Cleanups & bugfixes
2018-04-27 07:48:15 +00:00
Lauri Võsandi 94e5f72566 Migrate signature profiles to separate config file 2018-04-16 12:13:54 +00:00
Lauri Võsandi b9aaec7fa6 Migrate renewal to mutually authenticated TLS connection 2018-04-15 19:27:47 +00:00
Lauri Võsandi 1493c0f4a0 api: Check keypair algorithm compatbility during request submission 2018-04-13 13:11:48 +00:00
Priit Laes 2f0569abb4 Move certidude.firewall to api.utils.firewall where it belongs 2018-02-03 14:43:43 +02:00
Priit Laes 5439d5560a api: request: Drop unused imports 2018-02-03 14:05:02 +02:00
Priit Laes c9dd058d75 api: Use common AuthorityResource where possible 2018-02-03 14:05:02 +02:00
Priit Laes 916afba685 api: request: drop usage of global authority import 2018-02-03 14:02:23 +02:00
Lauri Võsandi 5cb7f89c1b Bugfixes, OU support and image builder fixes 2018-01-26 14:03:13 +02:00
Lauri Võsandi 345c2802ea api: Fix request submission form 2018-01-03 22:17:35 +00:00
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 9008744c48 api: Make logger use unicode literals 2017-07-08 08:56:01 +00: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 09f5b11505 tests: Add tests for machine keytab auth 2017-05-08 16:25:59 +00: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 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 189c604832 tests: Better code coverage 2017-05-03 21:04:34 +00:00
Lauri Võsandi 3ef4d96b1c Use application/x-pem-file mimetype for user certs 2017-04-25 16:48:04 +03:00
Lauri Võsandi 4c9744308a Better branch handling for request API calls 2017-04-25 16:15:39 +03:00
Lauri Võsandi 90b663ce26 Add file based rotating log handler 2017-04-04 05:02:08 +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 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 fab52dca76 Add request submission from web interface 2016-09-18 16:25:52 +03: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 799b9e19c8 Use unicode literals for logging 2016-03-29 08:54:55 +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 4240d55fe4 Add preliminary Python 2.x support 2016-02-28 22:37:56 +02:00
Lauri Võsandi b830ce7671 api: Fix exception includes 2016-01-25 11:19:08 +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 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