75 lines
3.2 KiB
Markdown
75 lines
3.2 KiB
Markdown
## Author
|
|
Author: Jozef Šimko
|
|
|
|
School year: 5., Master study, 2023/24
|
|
|
|
Study program: Computer Networks
|
|
|
|
Organization: Technical University of Kosice (TUKE), Faculty of Electrical Engineering and Informatics (FEI)
|
|
|
|
## About
|
|
Tento priečinok obsahuje demo skript na generovanie hlavnej a sekundarnej
|
|
certifikačnej autority a generovanie overených certifikátov pre server a klient.
|
|
Priečinok tiež obsahuje dva konfiguračné súbory, ktoré sa využívajú v príkazoch
|
|
pri samotnom generovaní.
|
|
Celý balík tiež obsahuje samostatný skritp *gen_client_certificate.bat*
|
|
s podrobným priblížením pre generovanie certifikátov pre koncových používateľov.
|
|
|
|
## USAGE
|
|
Na automatické generovanie všetkých súborov bol vytvorený skript *gen_CA.bat*.
|
|
Spustením tohto skriptu sa vytvorí celá štruktúra priečinkov, vygenerujú sa
|
|
privátne kľúče a certifikáty, ktoré sa následne podpíšu a dodatočne overia.
|
|
|
|
Skript obsahuje aj vzorové príkazy na vytvorenie zreťazených certifikátov aj
|
|
príklad zneplatnenia odpísaného certifikátu.
|
|
|
|
Použitie skriptu by malo byť JEDNORÁZOVÉ - v prípade viacnásobného spustenia
|
|
skriptu dojde k prepísaniu a strate pôvodne vygenerovaných súborov. Zároveň
|
|
môže dôjsť k prepísaniu dodatočne vygenerovaných a podpísaných certifikátov.
|
|
Skript preto obsahuje príkaz, ktorým sa sám zmaže po vytvorení všetkých
|
|
potrebných štruktúr a súborov.
|
|
|
|
## RESULTS
|
|
### gen_CA.bat
|
|
Skript vytvorí nasledovnú štruktúru priečinkov a súborov:
|
|
|
|
```
|
|
myCA
|
|
|
|
|
|_ rootCA
|
|
| |_certs -> priecinok s CA certikatom
|
|
| |_newcerts -> priecinok s podpisanymi certifikatmi, ich nazov sa rovna ich seriovemu cislu
|
|
| |_private -> priecinok pre privatne kluce (mal by mat obmedzeny pristup)
|
|
| |_index/index.txt -> databaza podpisanych certifikatov, ktora obsahuje detaily o podpisanych certifikatoch
|
|
| |_serial -> pocitadlo podpisanych certifikatov
|
|
| |_crlnumber -> pocitadlo zneplatnenych certifikatov
|
|
| |_root.cnf -> konfiguracny subor pre hlavnu CA
|
|
|
|
|
|_ intermediateCA
|
|
| |_certs -> priecinok s CA certikatom
|
|
| |_newcerts -> priecinok s podpisanymi certifikatmi, ich nazov sa rovna ich seriovemu cislu
|
|
| |_private -> priecinok pre privatne kluce (mal by mat obmedzeny pristup)
|
|
| |_index/index.txt -> databaza podpisanych certifikatov, ktora obsahuje detaily o podpisanych certifikatoch
|
|
| |_serial -> pocitadlo podpisanych certifikatov
|
|
| |_crlnumber -> pocitadlo zneplatnenych certifikatov
|
|
| |_intermediateCA.cnf -> konfiguracny subor pre sekundarnu CA
|
|
```
|
|
|
|
### gen_client_certificate.bat
|
|
Skript vygeneruje nový privátny kľúč, certifikát a podpíše ho prostredníctvom súkromného kľúča sekundárnej CA.
|
|
|
|
Ide čiastočnú automatizáciu generovania a podpisovania certifikátov pre klienta:
|
|
- používateľ musí vždy upraviť identifikačné údaje certifikátu
|
|
- skript predpokladá umiestnenie privátneho kľúča intCA na konkrétnom mieste a pod konkrétnym názvom
|
|
|
|
|
|
Generovanie certifikátu s rovnakými parametrami skončí chybou:
|
|
```
|
|
ERROR:There is already a certificate for /CN=www.testclient.com
|
|
The matching entry has the following details
|
|
Type :Valid
|
|
Expires on :250421105929Z
|
|
Serial Number :01
|
|
File name :unknown
|
|
Subject Name :/CN=www.testclient.com
|
|
``` |