Iteration 3 » Historie » Verze 5
Jan Pašek, 2021-03-27 08:50
1 | 1 | Jan Pašek | h1. Iteration #3 |
---|---|---|---|
2 | |||
3 | 2 | Jan Pašek | +*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. |
4 | |||
5 | +*Analysis:*+ |
||
6 | * Create DAO objects - Certificate, Private Key |
||
7 | * Create a subset of Rest API endpoints |
||
8 | * Create a simple GUI |
||
9 | |||
10 | *DAO:* |
||
11 | |||
12 | _Certificate_ |
||
13 | * get_certificate_by_id - queries a certificate based on given ID |
||
14 | * get_all_certificates - select all certificates |
||
15 | * get_all_certificate_authorities - select all certificate authorities |
||
16 | * get_issuer_of - get issuer of a certificate given by ID |
||
17 | * get_private_key_of - get private key ID of a certificate given by ID |
||
18 | * insert_new_certificate - inserts a new certificate into the DB |
||
19 | |||
20 | _Private key_ |
||
21 | * get_private_key_by_id - queries a private key based on given ID |
||
22 | * insert_new_private_key - inserts a new private key into the DB |
||
23 | 3 | Jan Pašek | |
24 | 4 | Jan Pašek | *Rest API* |
25 | 3 | Jan Pašek | * create_certificate - uses core (create certificate) |
26 | * get_certificate (by id) - uses DAO directly |
||
27 | * get_certificate_chain (by id) - uses core (construct chain) |
||
28 | * list_certificates - with possibility to filter CAs only (uses DAO directly - get_all_certificates, get_all_certificate_authorities) |
||
29 | |||
30 | 4 | Jan Pašek | *Core* |
31 | 5 | Jan Pašek | * generate a private key |
32 | 1 | Jan Pašek | * create certificate - self-signed, with CA=true extensions, with usage specification |
33 | * construct chain |
||
34 | 4 | Jan Pašek | |
35 | *GUI* |
||
36 | * 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 |
||
37 | * 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 |