Openssl Generate Rsa Key Pair C

This is fine if you want to generate a key pair once, but what if you want. The resulting PEM strings be saved and then later fed to OpenSSL::PKey::RSA. This program creates the SSL certificate and key files and RSA key-pair. Generate SSL and RSA files, for MySQL distributions compiled using OpenSSL, is. Generate RSA public/private key pair Generate private key: openssl genrsa -out privatekey.pem 1024 Convert private key to PKCS8 format: ope.

На днях удалось посмотреть на межсетевой экран (МЭ) от Cisco - ASA 5525-X. С подробными характеристиками данного устройства можно ознакомиться на сайте производителя.

OpenSSL is a versatile command line tool that can be used for a large variety of tasks related to Public Key Infrastructure (PKI) and HTTPS (HTTP over TLS). This cheat sheet style guide provides a.

Модель, которая была у меня в руках: ASA5525-K8. В связи с особенностями российского законодательства без проблем и дополнительных разрешений мы можем ввозить только K8 версии железок, что означает отсутствие возможности шифровать трафик стойкими криптографическими алгоритмами (AES/3DES). Поэтому наша ASA может работать только с DES (из описания модели):
Cisco ASA 5525-X Firewall Edition; includes firewall services, 750 IPsec VPN peers, 2 SSL VPN peers, 8 copper Gigabit Ethernet data ports, 1 copper Gigabit Ethernet management port, 1 AC power supply, Active/Active High Availability, 2 security contexts, DES license
Перед началом полноценной эксплуатации решили сделать базовую настройку МЭ, которая включала в себя в том числе и настройку удаленного доступа. Посмотрим, как отсутствие стойкого шифрования может повлиять на настройку удаленного доступа.

Для начала подробнее о версии ПО:
ciscoasa# sh ver
Cisco Adaptive Security Appliance Software Version 8.6(1)2
Device Manager Version 6.6(1)
Compiled on Fri 01-Jun-12 02:16 by builders

Openssl Generate Rsa Key Pair C


System image file is 'disk0:/asa861-2-smp-k8.bin'
RsaConfig file at boot was 'startup-config'
Licensed features for this platform:
-------------
VPN-3DES-AES : Disabled perpetual
-------------
Лицензия на стойкое шифрование отсутствует.

Настройка удаленного доступа к устройству


Управлять устройством можно с помощью известных способов: Telnet, SSH, ASDM (web и standalone). Рассмотрим настройку каждого из них по порядку.

Telnet

Перед включением telnet-доступа выполним настройку интерфейса управления (management interface):
ciscoasa(config)# int management 0/0
ciscoasa(config-if)# nameif Mgmt
INFO: Security level for 'Mgmt' set to 0 by default.
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# ip address 10.0.0.2 255.255.255.0
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
ciscoasa(config)# exit
ciscoasa# write memory
Создадим пароль на вход в EXEC-режим:

Теперь приступаем непосредственно к настройке telnet'a. Для этого будем следовать официальному руководству от Cisco (manual). Во всех настройках ниже будем предполагать, что доступ к устройству будет возможен только с одного IP - машина администратора (в нашем примере это 10.0.0.1).

ciscoasa(config)# telnet ?
configure mode commands/options:
Hostname or A.B.C.D The IP address of the host and/or network authorized to
login to the system
X:X:X:X::X/<0-128> IPv6 address/prefix authorized to login to the system
timeout Configure telnet idle timeout
Видно, что можно настроить доступ с определенного IP или имени хоста.
ciscoasa(config)# telnet 10.0.0.1 ?
configure mode commands/options:
A.B.C.D The IP netmask to apply to the IP address

ciscoasa(config)# telnet 10.0.0.1 255.255.255.255 ?
configure mode commands/options:
Current available interface(s):
Mgmt Name of interface Management0/0
ciscoasa(config)# telnet 10.0.0.1 255.255.255.255 Mgmt
ciscoasa(config)# exit
В качестве дополнительной опции можно настроить timeout - максимальное время простоя сессии без разрыва. Значение колеблется от 1 до 1440 минут. Значение по умолчанию - 5 минут.

После этого мы можем работать с telnet, используя для подключения putty или иной софт. Стоит отметить, что паролем для telnet-сессии будет пароль от EXEC-режима:
enable password 2KFQnbNIdI.2KYOU encrypted
passwd 2KFQnbNIdI.2KYOU encrypted

Для смены пароля telnet можно воспользоваться командой:


Правильнее будет создать пользователя с определенными привилегиями, и проводить авторизацию на устройстве с использованием логина и пароля (для telnet в том числе):

ciscoasa(config)# Openssl Generate Rsa Key Pair Cusername mangmt password cisco privilege 15
Generateciscoasa(config)#aaa authentication telnet consol LOCAL

SSH

Настройка SSH доступа осуществляется достаточно просто и практически аналогична настройке SSH на любом другом устройстве Cisco.
Переходим к самому интересному. Для управления ASA5525X мы можем воспользоваться графической оболочкой - ASDM. Подключаемся по Web (https) к интерфейсу, запускаем ASDM, и работаем. Все достаточно просто.

ciscoasa(config)#http server enable
ciscoasa# sh run http
http server enable

Для работы HTTPS настроим SSL. Посмотрим, какие опции доступны:
ciscoasa(config)# ssl ?
configure mode commands/options:
certificate-authentication Enable client certificate authentication
client-version The SSL/TLS protocol version to use when acting
as a client
encryption This is the encryption method(s) used with ssl.
The ordering of the algorithms specifies the
preference.
server-version The SSL/TLS protocol version to use when acting
as a server
trust-point Configure the ssl certificate trustpoint
ciscoasa(config)# ssl server-version ?
configure mode commands/options:
any Enter this keyword to accept SSLv2 ClientHellos and either SSLv3
or TLSv1 will be negotiated
sslv3 Enter this keyword to accept SSLv2 ClientHellos and negotiate
SSLv3
sslv3-only Enter this keyword to accept ClientHellos only from a client
using SSLV3
tlsv1 Enter this keyword to accept SSLv2 ClientHellos and negotiate
TLSv1
tlsv1-only Enter this keyword to accept ClientHellos only from a client
using TLSV1
ciscoasa(config)# ssl encryption ?
configure mode commands/options:
3des-sha1 Indicate use of 3des-sha1 for ssl encryption
aes128-sha1 Indicate use of aes128-sha1 for ssl encryption
aes256-sha1 Indicate use of aes256-sha1 for ssl encryption
des-sha1 Indicate use of des-sha1 for ssl encryption
null-sha1 Indicate use of null-sha1 for ssl encryption (NOTE: Data is NOT
encrypted if this cipher is chosen)
rc4-md5 Indicate use of rc4-md5 for ssl encryption
rc4-sha1 Indicate use of rc4-sha1 for ssl encryption

Итак, доступны различные версии SSL/TLS, а так же различные версии шифрования, которые мы можем использовать при подключении к нашему устройству. Попробуем настроить шифрование:
ciscoasa(config)# ssl encryption null-sha1 des-sha1 aes128-sha1
The 3DES/AES algorithms require a VPN-3DES-AES activation key.

Как видно, отсутствие лицензий не дает нам включить стойкое шифрование. Поэтому можем пользоваться только DES.

ciscoasa(config)# ssl encryption des-sha1 null-sha1
ciscoasa(config)# exit
ciscoasa# sh ssl
Accept connections using SSLv2, SSLv3 or TLSv1 and negotiate to SSLv3 or TLSv1
Start connections using SSLv3 and negotiate to SSLv3 or TLSv1
Enabled cipher order: des-sha1 null-sha1
Disabled ciphers: 3des-sha1 rc4-md5 rc4-sha1 aes128-sha1 aes256-sha1
No SSL trust-points configured
Certificate authentication is not enabled

После этого мы можем вводить в строке браузера (Internet Explorer) https://10.0.0.2 и видеть.... что ничего не работает. Не работает оно по следующим причинам: если у нас WinXP, то скорее всего в браузере просто отключена возможность использования SSLv2 и TLSv1. Достаточно зайти в 'Свойства обозревателя', и во вкладке 'Дополнительно' указать нужные галочки:
Ситуация с Windows Vista и Windows 7 немного сложнее. Дело в том, что производитель отказался от использования нестойких алгоритмов шифрования в новой системе. Поэтому DES не поддерживается по умолчанию. Тем не менее заставить работать ASDM можно.
1. Пуск-в строке поиска набираем gpedit.msc
2. В открывшемся окне заходим в меню Конфигурация компьютера - Административные шаблоны - Сеть - Параметры настройки SSL.
3. Заходим в 'Порядок комплектов шифров SSL', в открывшемся окне нажимаем 'Включить', и в поле 'Параметры:' вставляем следующую строку:
TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA
4. После этого нажимаем 'Применить' и 'ОК' и перезагружаем компьютер (последнее действие выполнять не обязательно, но у меня без перезагрузки не работало).

Openssl Generate Public Private Key Pair And Csr


Не пользуясь оснасткой gpedit аналогичное действие можно сделать путем добавления в реест следующего строкового параметра:
[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftCryptographyConfigurationSSL00010002]
'Functions'='TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA'
После необходимо настроить Java. Во-первых, если на машине установлено несколько версий, то необходимо включить работу только с одной - 6й. Во-вторых, в Java необходимо разрешить работу с SSLv2.
Openssl Generate Rsa Key Pair C1. Пуск-Панель управления- Программы-Java. Открываем панель упраления Java, во вкладке Java нажимаем на кнопку View, и выбираем установкой галочек нужную нам версию Java.
2. Во вкладке Advanced выбираем поддержку SSLv2.Key
3. Не забываем в браузере разрешить SSLv2 и TLSv1!
Теперь попытаемся запустить ASDM через Web. Заходим в браузер и в строке адреса вбиваем https://10.0.0.2
Если мы получаем такую же страницу, как на рисунке, значит все в порядке. Нажимаем 'Продолжить открытие...' и получаем стартовую страницу ASA:
Можем загрузить клиента ASDM и установить на локальной машине, а можно нажать Run ASDM и запустить его без установки какого-либо софта. В случае, если мы сделаем так, то увидим окно-приглашение ко вводу логина и пароля.
Введя логин и пароль получаем то, ради чего вообще были все эти пляски с бубном:



Here are the few steps to generate the private key, certificate signed request, self-signed certificate and how to get rid of the passphrase request when starting you’re application .

Okay, let’s start. Go to the directory you want to store you’re certificate stuff. This example will assume you’re common name (aka : host name) will be “secure.certificate.tld”.

The whole process explained down below is a step-by-step procedure for every stage. There is a single command that can do it all (generate the private key without passphrase and the CSR). You can use the following single step command if this is what you need and you should be good to go requesting the certificate from the Certificate Authority (or your SSL vendor) or jump to the self-generated certificate step further below otherwise.

Generate a private key without passphrase + CSR :

Command
cp-psecure.certificate.tld.keysecure.certificate.tld.key.bak

Then, remove the passphrase :