MastersThesis/CertifikacnaAutorita/README.md
2024-04-15 10:44:54 +00:00

3.2 KiB

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