Projekt

Obecné

Profil

Iteration 5 » Historie » Verze 4

Jan Pašek, 2021-04-22 15:27

1 1 Jan Pašek
h1. Iteration 5
2 2 Jan Pašek
3
4
*Target:* User-provided private key, List filtering and pagination, Robots
5
6
h2. Tasks
7
8
h3. User-provided key
9
10
The application shall provide a possibility to provide his own private key or to let the application generate a key with a user-selected password.
11
12 3 Jan Pašek
Req: FR 1.1.2, 1.1.3, 1.1.4, 2.1.2, 2.1.3, 2.1.4
13
14 2 Jan Pašek
h4.  GUI
15
16
* Web GUI - The certificate creation page shall contain a new checkbox "Generate key pair".
17
* Web GUI - The certificate creation page shall contain a text field to specify a password for the private key. 
18
19
h4. Core
20
21
* Rest API shall enable a PEM encoded PK to be specified within the request for creating a certificate.
22
* Rest API shall enable a password to be specified within the request for creating a certificate.
23
24
 * If a password is present in the request and the private key is not present, the server generates a key protected by the given passphrase.
25
 
26
 * If a password is not present in the request and the private key is present, the server uses the given key. However, the server must do a check if the private key is
27 4 Jan Pašek
   not protected by a passphrase -> if yes, an error response is returned.
28 2 Jan Pašek
29
 * If both password and key are not present, the server generates a key without passphrase protection.
30
31 1 Jan Pašek
 * If both password and key are present, the server uses the given key and checks whether the given passphrase decyphers the key-> if not an error response is returned.
32 4 Jan Pašek
33
h3. Validity check
34
35
The application shall provide an endpoint to verify the validity of the selected certificate.
36
37
h4. GUI
38
39
* Web GUI - The certificate details page provides an indication of certificate validity. 
40
41
h4. Core
42
43
* Rest API shall provide an endpoint /api/certificate/{id}/status to query certificate status
44
* The application shall distinguish three types of status: _valid_, _expired_, _revoked_