Iteration 3 » Historie » Revize 5
Revize 4 (Jan Pašek, 2021-03-27 08:44) → Revize 5/7 (Jan Pašek, 2021-03-27 08:50)
h1. Iteration #3
+*Target:*+ Deliver a minimalistic application with Web GUI that enables the creation of a certificate and list all certificates. The listing shall enable the user to download the certificate and corresponding chain of trust in a separate file.
+*Analysis:*+
* Create DAO objects - Certificate, Private Key
* Create a subset of Rest API endpoints
* Create a simple GUI
*DAO:*
_Certificate_
* get_certificate_by_id - queries a certificate based on given ID
* get_all_certificates - select all certificates
* get_all_certificate_authorities - select all certificate authorities
* get_issuer_of - get issuer of a certificate given by ID
* get_private_key_of - get private key ID of a certificate given by ID
* insert_new_certificate - inserts a new certificate into the DB
_Private key_
* get_private_key_by_id - queries a private key based on given ID
* insert_new_private_key - inserts a new private key into the DB
*Rest API*
* create_certificate - uses core (create certificate)
* get_certificate (by id) - uses DAO directly
* get_certificate_chain (by id) - uses core (construct chain)
* list_certificates - with possibility to filter CAs only (uses DAO directly - get_all_certificates, get_all_certificate_authorities)
*Core*
* generate a private key
* create certificate - self-signed, with CA=true extensions, with usage specification
* construct chain
*GUI*
* create certificate window - basic version of the GUI proposal, no CSS required, selects all CAs into the dropdown, enables to select the purpose, sends request to create a certificate
* certificate listing - basic HTML table with a common name, validity start date, validity end date, type, the link for downloading the certificate in PEM, link for downloading the chain in PEM