Projekt

Obecné

Profil

Iteration 3 » Historie » Verze 6

Jan Pašek, 2021-03-27 09:01

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 6 Jan Pašek
* create_certificate - uses core (create certificate) - _FR 5.1.1_, _FR 5.1.4_, _FR 5.1.7_, _FR 5.2_
26 3 Jan Pašek
* 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 6 Jan Pašek
* generate a private key - partially _FR 1.1.2_
32
* create certificate - self-signed, with CA=true extensions, with usage specification - _FR 1.1.1_, _FR 1.1.5_, _FR 1.1.6_, partially _1.1.7_, _FR 2.1.1_, partially _FR 2.1.2_, _FR 2.1.5_, _FR 2.1.6_, partially _2.1.7_
33
* construct chain - partially _1.1.7_
34 4 Jan Pašek
35
*GUI*
36 6 Jan Pašek
* 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 - _FR 4.3_
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 - _FR 4.1_, _FR 4.4_