Certificates
From Ilianko
Contents
openssl
Генериране на ключ:
Създаване на сертифицираща организация
Certificate Authority - организация, която издава цифрови сертификати
Създаване на директорийна структура
mkdir CA cd CA mkdir certs crl newcerts private chmod 700 private touch index.txt echo 1000 > serial
index.txt, serial - списък на сертификатите
Настройки
cp /etc/ssl/openssl.cnf ./ nano openssl.cnf
В openssl.conf за [ CA_default ] трябва да се настрои пътят към директорията CA Примерно dir=/home/mrezhi/CA
[ CA_default ] dir=/home/mrezhi/CA
[ usr_cert ] # These extensions are added when 'ca' signs a request. basicConstraints=CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer
[ v3_ca ] # Extensions for a typical CA subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer basicConstraints = CA:true keyUsage = cRLSign, keyCertSign ... [ policy_match ] countryName = match stateOrProvinceName = supplied organizationName = supplied organizationalUnitName = optional commonName = supplied emailAddress = optional
Генериране на частен ключ
openssl genrsa -aes256 -out private/ca.key.pem 4096
aes256 - криптира частния ключ
Генериране на сертификат за CA
openssl req -config openssl.cnf \ -new -x509 -days 3650 \ -key private/ca.key.pem \ -sha256 -extensions v3_ca \ -out certs/ca.cert.pem
Файлът е само за четене
chmod 444 certs/ca.cert.pem
Генериране и подписване на сертификати
частен ключ
openssl genrsa -out private/student.tugab.bg.key.pem 4096 chmod 400 student.tugab.bg.key.pem
Искане за подпис
openssl req -config openssl.cnf \ -sha256 -new -key private/student.tugab.bg.key.pem \ -out certs/student.tugab.bg.csr.pem
ili
openssl req -newkey rsa:2048 -keyout private/domain1.tugab.key -out certs/domain1.tugab.csr -config ./openssl.cnf
Подписване на искането за подпис
openssl ca -config openssl.cnf \ -keyfile private/ca.key.pem \ -cert certs/ca.cert.pem \ -extensions usr_cert -notext -md sha256 \ -in certs/student.tugab.bg.csr.pem \ -out certs/student.tugab.bg.cert.pem
Конфигуриране на web server
- Импортиране виртуална машина с Линукс\Дебиан
- копиране на двойката ключове на хостинг машината (може да се използва fileZilla
- инсталиране на apache2
apt-get install apache2
- активиране на ssl модула
a2enmod ssl
- актвиране на https
- nano /etc/apache2/ports.conf
- cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled
- nano /etc/apache2/sites-enabled/default-ssl , да се настроят пътищата към сертификатите
Браузър
Да се добави генерираният root сертификат към вградените сертификати.
https://jamielinux.com/articles/2013/08/act-as-your-own-certificate-authority/
https://jamielinux.com/articles/2013/08/generate-certificate-revocation-list-revoke-certificates/
https://jamielinux.com/articles/2013/08/create-an-intermediate-certificate-authority/
openssl genrsa -out privkey.pem 2048