Difference between revisions of "Certificates"

From Ilianko
(Created page with "== openssl == Генериране на ключ: == Създаване на сертифицираща организация == Certificate Authority - организац...")
 
Line 76: Line 76:
 
   -sha256 -new -key private/student.tugab.bg.key.pem \
 
   -sha256 -new -key private/student.tugab.bg.key.pem \
 
   -out certs/student.tugab.bg.csr.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
 +
  
 
===Подписване на искането за подпис===
 
===Подписване на искането за подпис===

Revision as of 12:46, 10 October 2016

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