pridane subory k CA
This commit is contained in:
parent
1088bd6d0a
commit
e05eede82f
63
CertifikacnaAutorita/README.txt
Normal file
63
CertifikacnaAutorita/README.txt
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
Author: Jozef Simko
|
||||||
|
School year: 5., Master study, 2023/24
|
||||||
|
Study program: Computer Networks
|
||||||
|
Organization: Technical University of Kosice (TUKE), Faculty of Electrical Engineering and Informatics (FEI)
|
||||||
|
|
||||||
|
Tento priecinok obsahuje demo skript na generovanie hlavnej a sekundarnej
|
||||||
|
certifikacnej autority a generovanie overenych certifikatov pre server a klient.
|
||||||
|
Priecinok tiez obsahuje dva konfiguracne subory, ktore sa vyuzivaju v prikazoch
|
||||||
|
pri samotnom generovani.
|
||||||
|
Cely balik tiez obsahuje samostatny skritp gen_client_certificate.bat
|
||||||
|
s podrobnym priblizenim pre generovanie certifikatov pre koncovych pouzivatelov.
|
||||||
|
|
||||||
|
POUZITIE
|
||||||
|
Na automaticke generovanie vsetkych suborov bol vytvoreny skript gen_CA.bat.
|
||||||
|
Spustenim tohto skriptu sa vytvori cela struktura priecinkov, vygeneruju sa
|
||||||
|
privatne kluce, certifikaty ktore sa nasledne podpisu a dodatocne overia.
|
||||||
|
|
||||||
|
Skript obsahuje aj vzorove prikazy na vytvorenie zretazenych certifikatov aj
|
||||||
|
priklad zneplatnenia odpisaneho certifikatu.
|
||||||
|
|
||||||
|
Pouzitie skriptu by malo byt JEDNORAZOVE - v pripade viacnasobneho spustenia
|
||||||
|
skriptu dojde k prepisaniu a strate povodne vygenerovanych suborov. Zaroven
|
||||||
|
moze dojst k prepisaniu dodatocne vygenerovanych a podpisanych certifikatov.
|
||||||
|
Skript preto obsahuje prikaz, ktorym sa sam zmaze po vytvoreni vsetkych
|
||||||
|
potrebnych struktur a suborov.
|
||||||
|
|
||||||
|
STRUKTURA PRIECINKOV
|
||||||
|
Skript vytvori nasledovnu strukturu priecinkov a suborov:
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Priklad chyby:
|
||||||
|
|
||||||
|
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
|
109
CertifikacnaAutorita/gen_CA.bat
Normal file
109
CertifikacnaAutorita/gen_CA.bat
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
:: Demo script for creating CA structure as part of masters thesis
|
||||||
|
:: Author: Jozef Simko
|
||||||
|
:: School year: 5., Master study, 2023/24
|
||||||
|
:: Study program: Computer Networks
|
||||||
|
:: Organization: Technical University of Kosice (TUKE), Faculty of Electrical Engineering and Informatics (FEI)
|
||||||
|
|
||||||
|
:: STRUKTURA PRIECINKOV
|
||||||
|
:: Tento skript vytvori nasledovnu strukturu priecinkov a suborov:
|
||||||
|
|
||||||
|
:: 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
|
||||||
|
|
||||||
|
:: ---------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:: Vytvorenie struktury priecinkov
|
||||||
|
mkdir .\myCA\rootCA\certs , .\myCA\rootCA\private , .\myCA\rootCA\newcerts , .\myCA\rootCA\index
|
||||||
|
mkdir .\myCA\intermediateCA\certs , .\myCA\intermediateCA\private , .\myCA\intermediateCA\newcerts , .\myCA\intermediateCA\index , .\myCA\intermediateCA\csr
|
||||||
|
|
||||||
|
:: PowerShell prikazy - prikaz 'echo' vytvara v PS subory s UTF-16 kodovanim
|
||||||
|
::"00" | Out-File -encoding ascii -NoNewline ".\myCA\rootCA\serial"
|
||||||
|
::"0100" | Out-File -encoding ascii -NoNewline ".\myCA\rootCA\crlnumber"
|
||||||
|
::New-Item -Path ".\myCA\rootCA\index" -Name "index.txt" -ItemType File
|
||||||
|
|
||||||
|
::"00" | Out-File -encoding ascii -NoNewline ".\myCA\intermediateCA\serial"
|
||||||
|
::"0100" | Out-File -encoding ascii -NoNewline ".\myCA\intermediateCA\crlnumber"
|
||||||
|
::New-Item -Path ".\myCA\intermediateCA\index" -Name "index.txt" -ItemType File
|
||||||
|
|
||||||
|
:: Vytvorenie dodatocnych suborov pre rootCA a intermediateCA
|
||||||
|
:: @serial - zaznamenava aktualne seriove cislo, ktore bude pouzite pre novy certifikatov
|
||||||
|
:: kazdy certifikat je mozne identifikovat pomocou serioveho cisla - zaznam sa nachadza v subore index.txt
|
||||||
|
:: @ crlnumber - pocitadlo zrusenych/zneplatnenych certifikatov
|
||||||
|
:: zneplatnenie moze nastat ak doslo k prezradeniu privatneho kluca, ide o podvodny certifikat alebo sa zmenili informacie ziadatela certifikatu
|
||||||
|
:: @ index.txt - subory pouzity ako databaza vsetkych podpisanych certifikatov
|
||||||
|
:: databaza v indexe zaznamenava tieto informacie: status certifikatu, datum platnosti, seriove cislo a doplnkove informacie
|
||||||
|
echo 00 > .\myCA\rootCA\serial
|
||||||
|
echo 0100 > .\myCA\rootCA\crlnumber
|
||||||
|
type NUL > .\myCA\rootCA\index\index.txt
|
||||||
|
|
||||||
|
echo 00 > .\myCA\intermediateCA\serial
|
||||||
|
echo 0100 > .\myCA\intermediateCA\crlnumber
|
||||||
|
type NUL > .\myCA\intermediateCA\index\index.txt
|
||||||
|
|
||||||
|
:: Skopirovanie konfiguracnych suborov do prislusnych zloziek
|
||||||
|
:: Pre presunutie suborov staci pouzit nahradit prikaz copy prikazom move
|
||||||
|
copy .\root.cnf .\myCA\rootCA\
|
||||||
|
copy .\intermediate.cnf .\myCA\intermediateCA\
|
||||||
|
|
||||||
|
:: ROOT CA
|
||||||
|
:: Vygenerovanie sukromneho kluca a certifikatu pre root CA
|
||||||
|
:: Pouzity algoritmus - PQ algoritmus falcon512
|
||||||
|
openssl req -config ./myCA/rootCA/root.cnf -new -x509 -days 365 -newkey falcon512 -keyout ./myCA/rootCA/private/falcon512_CA.key -out ./myCA/rootCA/certs/falcon512_CA.crt -nodes
|
||||||
|
|
||||||
|
:: INT CA
|
||||||
|
:: Vygenerovanie sukromneho kluca a certifikatu pre intermediate CA
|
||||||
|
:: Podpisanie vygenerovaneho certifikatu pre intCA sukromnym klucom root CA
|
||||||
|
:: Overenie podpisu
|
||||||
|
openssl req -config ./myCA/intermediateCA/intermediate.cnf -new -newkey falcon512 -keyout ./myCA/intermediateCA/private/falcon512_intCA.key -out ./myCA/intermediateCA/certs/falcon512_intCA.csr -nodes
|
||||||
|
openssl ca -batch -config ./myCA/rootCA/root.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in ./myCA/intermediateCA/certs/falcon512_intCA.csr -out ./myCA/intermediateCA/certs/falcon512_intCA.crt
|
||||||
|
openssl verify -CAfile ./myCA/rootCA/certs/falcon512_CA.crt ./myCA/intermediateCA/certs/falcon512_intCA.crt
|
||||||
|
|
||||||
|
:: CERT-CHAIN
|
||||||
|
:: Vytvorenie zretazeneho certifikatu z certifikatov root CA a int CA
|
||||||
|
:: Overenie vygenerovaneho zretazeneho certifikatu
|
||||||
|
type .\myCA\rootCA\certs\falcon512_CA.crt , .\myCA\intermediateCA\certs\falcon512_intCA.crt > .\myCA\intermediateCA\certs\falcon512_certchain.pem
|
||||||
|
openssl verify -CAfile ./myCA/intermediateCA/certs/falcon512_certchain.pem ./myCA/intermediateCA/certs/falcon512_intCA.crt
|
||||||
|
|
||||||
|
|
||||||
|
:: SERVER CERTIFICATE
|
||||||
|
:: Vygenerovanie sukromneho kluca a certifikatu pre server
|
||||||
|
:: Overenie podpisu vysledneho certifikatu
|
||||||
|
openssl req -new -newkey falcon512 -keyout ./myCA/intermediateCA/private/falcon512_server.key -out ./myCA/intermediateCA/csr/falcon512_server.csr -nodes -subj "/CN=test server"
|
||||||
|
openssl ca -batch -config ./myCA/intermediateCA/intermediate.cnf -extensions server_cert -days 375 -notext -md sha256 -in ./myCA/intermediateCA/csr/falcon512_server.csr -out ./myCA/intermediateCA/csr/falcon512_server.crt
|
||||||
|
openssl verify -CAfile .\myCA\intermediateCA\certs\falcon512_certchain.pem ./myCA/intermediateCA/csr/falcon512_server.crt
|
||||||
|
|
||||||
|
:: CLIENT CERTIFICATE
|
||||||
|
:: Vygenerovanie sukromneho kluca a certifikatu pre klienta
|
||||||
|
:: Overenie podpisu vysledneho certifikatu
|
||||||
|
openssl req -new -newkey falcon512 -keyout ./myCA/intermediateCA/private/falcon512_client.key -out ./myCA/intermediateCA/csr/falcon512_client.csr -nodes -subj "/CN=www.testclient.com"
|
||||||
|
openssl ca -batch -config ./myCA/intermediateCA/intermediate.cnf -extensions client_cert -days 375 -notext -md sha256 -in ./myCA/intermediateCA/csr/falcon512_client.csr -out ./myCA/intermediateCA/csr/falcon512_client.crt
|
||||||
|
openssl verify -CAfile .\myCA\intermediateCA\certs\falcon512_certchain.pem ./myCA/intermediateCA/csr/falcon512_client.crt
|
||||||
|
|
||||||
|
|
||||||
|
:: REVOKE CERTIFICATE
|
||||||
|
:: Vygenerovanie dalsieho certifikatu pre "fake" server
|
||||||
|
:: Podpisanie vygenerovaneho certifikatu
|
||||||
|
:: Zneplatnenie vytvoreného certifikátu s dôvodom "affiliationChanged" (zmena vlastnosti koncoveho serveru)
|
||||||
|
::openssl req -new -newkey falcon512 -keyout ./myCA/intermediateCA/private/falcon512_fakeserver.key -out ./myCA/intermediateCA/csr/falcon512_fakeserver.csr -nodes -subj "/CN=fake server"
|
||||||
|
::openssl ca -batch -config ./myCA/intermediateCA/intermediate.cnf -extensions server_cert -days 375 -notext -md sha256 -in ./myCA/intermediateCA/csr/falcon512_fakeserver.csr -out ./myCA/intermediateCA/csr/falcon512_fakeserver.crt
|
||||||
|
::openssl ca -config ./myCA/intermediateCA/intermediate.cnf -revoke ./myCA/intermediateCA/csr/falcon512_fakeserver.crt -crl_reason affiliationChanged
|
||||||
|
|
||||||
|
:: REMOVE SCRIPT
|
||||||
|
:: del ./gen_CA.bat
|
34
CertifikacnaAutorita/gen_client_certificate.bat
Normal file
34
CertifikacnaAutorita/gen_client_certificate.bat
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
:: CLIENT CERTIFICATE
|
||||||
|
:: Vygenerovanie sukromneho kluca a certifikatu pre klienta
|
||||||
|
:: Overenie podpisu vysledneho certifikatu
|
||||||
|
|
||||||
|
:: Nasledujuce prikazy su nazorovnou ukazkou toho ako je mozne vygenerovat
|
||||||
|
:: sukromny kluc a certifikat urceny koncovemu pouzivatelovi - klientovi
|
||||||
|
|
||||||
|
:: Tento prikaz je zlozeny z viacerych vstupov a generuje sukromny kluc a certifikat sucasne
|
||||||
|
:: @-newkey : nazov algoritmu pouziteho pre generovanie sukromneho kluca, napr. falcon512 alebo dilithium3
|
||||||
|
:: @-keyout : cesta k priecinku do ktoreho bude vygenerovany kluc ulozeny
|
||||||
|
:: @-out : cesta k priecinku do ktoreho bude vygenerovany certifikat pre klienta
|
||||||
|
:: @-subj : doplnujuce informacie, ktore musia byt urcene v zavislosti od poziadavok certifikacnej autority
|
||||||
|
:: priklad: -subj "/C=US/ST=California/L=San Francisco/O=Example Corp/OU=IT Department/CN=Root CA"
|
||||||
|
:: doplnujuce informacie su: C (country), ST (state), L (location), O (organization), OU (organization unit), CN (common name)
|
||||||
|
|
||||||
|
openssl req -new -newkey falcon512 -keyout ./myCA/intermediateCA/private/falcon512_client.key -out ./myCA/intermediateCA/csr/falcon512_client.csr -nodes -subj "/CN=www.master-thesis-client.com"
|
||||||
|
|
||||||
|
:: Tento prikaz sluzi na podpis certifikatu
|
||||||
|
:: Podpis certifikatu je realizovany sukromnym klucom CA ktory je definovany priamo v konfiguracnom subore
|
||||||
|
:: @-batch : automaticke potvrdenie realizacie podpisu, bez tohto prepinacu musi pouzivatel rucne potvrdit operaciu podpisu
|
||||||
|
:: @-config : konfiguracny subor pouzity na podpis, okrem sukromneho kluca CA obsahuje aj podmienky pre realizaciu podpisu, napr. pritomnost doplnujucich informacii v certifikate
|
||||||
|
:: @-extensions : rozsirenie 'client_cert' je modul, ktory je sucastou konfiguracneho suboru a je rovnaky iba pre certifikaty koncovych pouzivatelov, napr. certifikat bude oznaceny ako client/email certificate
|
||||||
|
:: @-days : oznacuje dlzku platnosti podpisu v dnoch
|
||||||
|
:: @-md : pouzity hash
|
||||||
|
:: @-in : cesta k vstupnemu certifikatu ako .csr alebo .crt
|
||||||
|
:: @-out : cesta k priecinku do ktoreho bude zapisany podpisany certifikat
|
||||||
|
|
||||||
|
openssl ca -batch -config ./myCA/intermediateCA/intermediate.cnf -extensions client_cert -days 375 -notext -md sha256 -in ./myCA/intermediateCA/csr/falcon512_client.csr -out ./myCA/intermediateCA/csr/falcon512_client.crt
|
||||||
|
|
||||||
|
:: Posledny prikaz sluzi na overenie podpisu
|
||||||
|
:: @-CAfile : zretazeny certifikat intCA
|
||||||
|
|
||||||
|
openssl verify -CAfile .\myCA\intermediateCA\certs\falcon512_certchain.pem ./myCA/intermediateCA/csr/falcon512_client.crt
|
||||||
|
|
108
CertifikacnaAutorita/intermediate.cnf
Normal file
108
CertifikacnaAutorita/intermediate.cnf
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# OpenSSL intermediate CA configuration file.
|
||||||
|
|
||||||
|
[ ca ]
|
||||||
|
# `man ca`
|
||||||
|
default_ca = CA_default
|
||||||
|
|
||||||
|
[ CA_default ]
|
||||||
|
# Directory and file locations.
|
||||||
|
dir = ./myCA/intermediateCA
|
||||||
|
certs = $dir/certs
|
||||||
|
crl_dir = $dir/crl
|
||||||
|
new_certs_dir = $dir/newcerts
|
||||||
|
database = $dir/index/index.txt
|
||||||
|
serial = $dir/serial
|
||||||
|
RANDFILE = $dir/private/.rand
|
||||||
|
|
||||||
|
# The root key and root certificate.
|
||||||
|
private_key = $dir/private/falcon512_intCA.key
|
||||||
|
certificate = $dir/certs/falcon512_intCA.crt
|
||||||
|
|
||||||
|
# For certificate revocation lists.
|
||||||
|
crlnumber = $dir/crl/crlnumber
|
||||||
|
crl = $dir/crl/intermediate.crl.pem
|
||||||
|
crl_extensions = crl_ext
|
||||||
|
default_crl_days = 30
|
||||||
|
|
||||||
|
# SHA-1 is deprecated, so use SHA-2 instead.
|
||||||
|
default_md = sha256
|
||||||
|
|
||||||
|
name_opt = ca_default
|
||||||
|
cert_opt = ca_default
|
||||||
|
default_days = 375
|
||||||
|
preserve = no
|
||||||
|
policy = policy_loose
|
||||||
|
|
||||||
|
copy_extensions = copy
|
||||||
|
|
||||||
|
[ policy_strict ]
|
||||||
|
# The root CA should only sign intermediate certificates that match.
|
||||||
|
# See the POLICY FORMAT section of `man ca`.
|
||||||
|
countryName = match
|
||||||
|
stateOrProvinceName = match
|
||||||
|
organizationName = match
|
||||||
|
organizationalUnitName = optional
|
||||||
|
commonName = supplied
|
||||||
|
emailAddress = optional
|
||||||
|
|
||||||
|
[ policy_loose ]
|
||||||
|
countryName = optional
|
||||||
|
stateOrProvinceName = optional
|
||||||
|
localityName = optional
|
||||||
|
organizationName = optional
|
||||||
|
organizationalUnitName = optional
|
||||||
|
commonName = supplied
|
||||||
|
emailAddress = optional
|
||||||
|
|
||||||
|
[ req ]
|
||||||
|
# Options for the `req` tool (`man req`).
|
||||||
|
default_bits = 2048
|
||||||
|
distinguished_name = req_distinguished_name
|
||||||
|
string_mask = utf8only
|
||||||
|
default_md = sha256
|
||||||
|
prompt = no
|
||||||
|
|
||||||
|
# Extension to add when the -x509 option is used.
|
||||||
|
x509_extensions = v3_ca
|
||||||
|
|
||||||
|
[ req_distinguished_name ]
|
||||||
|
commonName = JS_master_thesis
|
||||||
|
countryName = SK
|
||||||
|
stateOrProvinceName = Kosice
|
||||||
|
#localityName = Locality Name
|
||||||
|
0.organizationName = TUKE
|
||||||
|
#organizationalUnitName = Organizational Unit Name
|
||||||
|
#emailAddress = Email Address
|
||||||
|
|
||||||
|
[ v3_ca ]
|
||||||
|
# Extensions for a typical CA (`man x509v3_config`).
|
||||||
|
subjectKeyIdentifier = hash
|
||||||
|
authorityKeyIdentifier = keyid:always,issuer
|
||||||
|
basicConstraints = critical, CA:true
|
||||||
|
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||||
|
|
||||||
|
[ v3_intermediate_ca ]
|
||||||
|
# Extensions for a typical intermediate CA (`man x509v3_config`).
|
||||||
|
subjectKeyIdentifier = hash
|
||||||
|
authorityKeyIdentifier = keyid:always,issuer
|
||||||
|
basicConstraints = critical, CA:true, pathlen:0
|
||||||
|
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||||
|
|
||||||
|
[ crl_ext ]
|
||||||
|
# Extension for CRLs (`man x509v3_config`).
|
||||||
|
authorityKeyIdentifier=keyid:always
|
||||||
|
|
||||||
|
[ server_cert ]
|
||||||
|
basicConstraints = CA:FALSE
|
||||||
|
nsCertType = server
|
||||||
|
authorityKeyIdentifier = keyid,issuer:always
|
||||||
|
keyUsage = critical, digitalSignature, keyEncipherment
|
||||||
|
extendedKeyUsage = serverAuth
|
||||||
|
|
||||||
|
[ client_cert ]
|
||||||
|
basicConstraints = CA:FALSE
|
||||||
|
nsCertType = client, email
|
||||||
|
subjectKeyIdentifier = hash
|
||||||
|
authorityKeyIdentifier = keyid,issuer
|
||||||
|
keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
|
||||||
|
extendedKeyUsage = clientAuth, emailProtection
|
79
CertifikacnaAutorita/root.cnf
Normal file
79
CertifikacnaAutorita/root.cnf
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# OpenSSL root CA configuration file.
|
||||||
|
|
||||||
|
[ ca ]
|
||||||
|
# `man ca`
|
||||||
|
default_ca = CA_default
|
||||||
|
|
||||||
|
[ CA_default ]
|
||||||
|
# Directory and file locations.
|
||||||
|
dir = ./myCA/rootCA
|
||||||
|
certs = $dir/certs
|
||||||
|
crl_dir = $dir/crl
|
||||||
|
new_certs_dir = $dir/newcerts
|
||||||
|
database = $dir/index/index.txt
|
||||||
|
serial = $dir/serial
|
||||||
|
RANDFILE = $dir/private/.rand
|
||||||
|
|
||||||
|
# The root key and root certificate.
|
||||||
|
private_key = $dir/private/falcon512_CA.key
|
||||||
|
certificate = $dir/certs/falcon512_CA.crt
|
||||||
|
|
||||||
|
# For certificate revocation lists.
|
||||||
|
crlnumber = $dir/crlnumber
|
||||||
|
crl = $dir/crl/ca.crl.pem
|
||||||
|
crl_extensions = crl_ext
|
||||||
|
default_crl_days = 30
|
||||||
|
|
||||||
|
default_md = sha256
|
||||||
|
name_opt = ca_default
|
||||||
|
cert_opt = ca_default
|
||||||
|
default_days = 375
|
||||||
|
preserve = no
|
||||||
|
policy = policy_strict
|
||||||
|
|
||||||
|
[ policy_strict ]
|
||||||
|
# The root CA should only sign intermediate certificates that match.
|
||||||
|
# See the POLICY FORMAT section of `man ca`.
|
||||||
|
countryName = match
|
||||||
|
stateOrProvinceName = match
|
||||||
|
organizationName = match
|
||||||
|
organizationalUnitName = optional
|
||||||
|
commonName = supplied
|
||||||
|
emailAddress = optional
|
||||||
|
|
||||||
|
[ req ]
|
||||||
|
default_bits = 2048
|
||||||
|
distinguished_name = req_distinguished_name
|
||||||
|
string_mask = utf8only
|
||||||
|
default_md = sha256
|
||||||
|
prompt = no
|
||||||
|
|
||||||
|
# Extension to add when the -x509 option is used.
|
||||||
|
x509_extensions = v3_ca
|
||||||
|
|
||||||
|
[ req_distinguished_name ]
|
||||||
|
commonName = JS_master_thesis
|
||||||
|
countryName = SK
|
||||||
|
stateOrProvinceName = Kosice
|
||||||
|
#localityName = Locality Name
|
||||||
|
0.organizationName = TUKE
|
||||||
|
#organizationalUnitName = Organizational Unit Name
|
||||||
|
#emailAddress = Email Address
|
||||||
|
|
||||||
|
[ v3_ca ]
|
||||||
|
# Extensions for a typical CA (`man x509v3_config`).
|
||||||
|
subjectKeyIdentifier = hash
|
||||||
|
authorityKeyIdentifier = keyid:always,issuer
|
||||||
|
basicConstraints = critical, CA:true
|
||||||
|
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||||
|
|
||||||
|
[ v3_intermediate_ca ]
|
||||||
|
# Extensions for a typical intermediate CA (`man x509v3_config`).
|
||||||
|
subjectKeyIdentifier = hash
|
||||||
|
authorityKeyIdentifier = keyid:always,issuer
|
||||||
|
basicConstraints = critical, CA:true, pathlen:0
|
||||||
|
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
||||||
|
|
||||||
|
[ crl_ext ]
|
||||||
|
# Extension for CRLs (`man x509v3_config`).
|
||||||
|
authorityKeyIdentifier=keyid:always,issuer
|
Loading…
Reference in New Issue
Block a user