Започваме със създаването на СА (Certificate Authority):

Отваряме OpenSSL и пишем:

openssl genrsa -aes256 -out ca.key 2048

Ще видите нещо подобно:

Generating RSA private key, 2048 bit long modulus
..............+++
...................................................................+++
e is 65537 (0x10001)
Enter pass phrase for ca.key:
Verifying - Enter pass phrase for ca.key:

Добре е да сложим парола на личният ключ – ако някой го докопа ще може да си вади колкото си иска сертификати с него.

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:BG
State or Province Name (full name) [Berkshire]:Plovdiv
Locality Name (eg, city) [Newbury]:Plovdiv
Organization Name (eg, company) [My Company Ltd]:Kamenitza.ORG
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:Kamenitza.ORG
Email Address []:

Common Name: – името на организацията, която ще притежава сертификата, не е нужно да е интернет адрес.

Следва да се създаде потебителският сертификат:

openssl genrsa -out voodoo.key 2048

Generating RSA private key, 2048 bit long modulus
.....................+++
..................................................................................+++
e is 65537 (0x10001)

openssl req -new -key voodoo.key -out voodoo.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:BG
State or Province Name (full name) [Berkshire]:Plovdiv
Locality Name (eg, city) [Newbury]:Plovdiv
Organization Name (eg, company) [My Company Ltd]:Kandev
Organizational Unit Name (eg, section) []:Kandev
Common Name (eg, your name or your server's hostname) []:Ime Familia
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

openssl x509 -req -in voodoo.csr -out voodoo.crt -sha1 -CA voodoonet.crt -CAkey voodoonet.key -CAcreateserial -days 3650

Signature ok
subject=/C=BG/ST=Plovdiv/L=Plovdiv/O=Kandev/OU=Kandev/CN=Todor Kandev
Getting CA Private Key
Enter pass phrase for ca.key:

openssl pkcs12 -export -in todor.crt -inkey voodoo.key -name "Borislav Borisov - SSL Cert" -out voodoo.p12

Enter Export Password:
Verifying - Enter Export Password:

Паролата сложена тук се ползва при инсталацията на сертификата. Без нея не може да бъде импортнат в браузъра.

voodoo.p12 – е потребителският сертификат, който трябва да се импортне в браузъра на клиента.

За да ограничим достъпа до дадена директория от сайт слагаме това в .htaccess файла:

SSLVerifyClient require
SSLVerifyDepth 1

Или в на конфигурационния файл на Apache.

Но най-важното е да кажем на Apache, кои са “доверените” сертификати и как да ги познава.
За това трябва да се постави този ред в конфигурационният файл на Apache:

SSLCACertificateFile /ssl/ca/ca.crt

(естествено заменете пътя с вашия)

След рестартиране на Апача всичко би трябвало да работи.

-------------------------------------------------------------

Ако ползвате версия на Apache2 за Windows въведете следната команда в OpenSSL:

openssl rsa -in .key -out .key

Въведете паролата на ключа!


 

.:: SSL сертификат за IRCd ::.


Това е пример как се създават
rsa.key, и публичен ключ rsa.pub

Отваряме OpenSSL и пишем:

openssl genrsa -out rsa.key 2048
openssl rsa -in rsa.key -pubout -out rsa.pub


chown . rsa.key rsa.pub
chmod 0600 rsa.key
chmod 0644 rsa.pub

Намерете в ircd.conf
rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";
и задайте правилния път до файла.

И накрая:
openssl req -new -days 3650 -x509 -key rsa.key -out cert.pem