.. | ||
gen_CA.bat | ||
gen_client_certificate.bat | ||
intermediate.cnf | ||
README.md | ||
root.cnf |
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