Projekt

Obecné

Profil

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