Сейчас первый раз столкнулся с SSL. Кратко описал, как я понял процесс и команды практической реализации этого процесса. Посмотрите, пожалуйста, все ли я правильно сделал.
Пусть сервер - Алиса, а Боб - клиент (и админ). Бобу очень не хочется, чтобы его общение с сервером (ввод паролей, переписка, сессии) ходили в электронном виде.
Боб поступает следующим образом: (Дело происходит в папке /my/ssl) 1.Изготовляет закрытый ключ и самоподписанный сертификат сертификат
#openssl req -x509 -new -out bob.crt -keyout bob.key -days 7777
Generating a 1024 bit RSA private key
++++++
++++++
writing new private key to bob.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase: //Пароль для ключа Боба
-----
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) [xx]:
State or Province Name (full name) [xxxxxx]:
Locality Name (eg, city) [xxxxxx]:
Organization Name (eg, company) [My Company Ltd]:Bob
Organizational Unit Name (eg, section) []:Bob
Common Name (eg, your name or your server's hostname) []:bob.example.com
Email Address []:bob@xxx.xx
#ls
bob.crt bob.key
2. Алиса тоже изготовляет закрытый ключ, а к нему выпускает запрос на сертификат:
#mkdir alisa #cd alisa #openssl req -out alisa.example.com -pubkey -new -keyout alisa.exampe.com.key
Generating a 1024 bit RSA private key
++++++
++++++
writing new private key to 'alisa.example.com.key'
Enter PEM pass phrase: //пароль для ключа Алисы
Verifying - Enter PEM pass phrase:
-----
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]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:alisa.example.com
Organizational Unit Name (eg, section) []:alisa.example.com
Common Name (eg, your name or your server's hostname) []:alisa.example.com
Email Address []:root@alisa.example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
#ls
alisa.example.com.csr alisa.example.com.key
3. Боб выдает сертификат сервера alisa.example.com на основе eё запроса (alisa.example.com.csr) подписав выдаваемый сертификат своим самоподписным сертификатом: (дело происходит в папке /my/ssl/alisa
#openssl x509 -req -days 7777 -in alisa.example.com.csr -CA ../bob.crt -CAkey ../bob.key -set_serial 01 -out alisa.example.com.crt
Signature ok
subject=/C=xx/ST=xxxxxx/L=xxxxxxxx/O=bob/OU=alisa.example.com/CN=bob/emailAddress=bob@xxxx.xx
Getting CA Private Key
Enter pass phrase for ../bob.key: //Пароль ключа Боба
#ls
alisa.example.com.crt alisa.example.com.csr alisa.example.com.key