Cisco импорт StartSSL сертификата в IOS

Обращаю ваше внимание, о том, что центр сертификации StartSSL был закрыт по причине неоднократных нарушений правил выдачи сертификатов и внутренней безопасности, рекомендую использовать сертификаты LetsEncrypt.

Если пришло время перевести ваш WebVPN (AnyConnect) на человеческий сертификат подписанный авторизированным центром сертификации — добро пожаловать под кат. Здесь я опишу как импортировать ваш SSL сертификат и приватный ключ в конфиг циски. Предполагается что сам сертификат и приватный ключ вы уже получили и скачали.

1. Создаем trustpoint для корневого сертификата нашего центра сертификации. В данном случае ЦС у нас startssl.com, а корневой сертификат скачать можно здесь.

ssl-proxy#config terminal
ssl-proxy(config)#crypto ca trustpoint CA_ROOT
ssl-proxy(ca-trustpoint)#enrollment terminal PEM
ssl-proxy(ca-trustpoint)#crl optional 
ssl-proxy(ca-trustpoint)#exit

2. Импортируем корневой сертификат нашего ЦС.

ssl-proxy#config terminal
ssl-proxy(config)#crypto ca authenticate CA_ROOT

Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself

-----BEGIN CERTIFICATE-----
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
...
часть сертификата вырезал, что бы было читабельнее
...
O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
-----END CERTIFICATE-----
quit --- Эту команду нужно ввести после вставки сертификата с новой строки!!!
Certificate has the following attributes:
       Fingerprint MD5: 224D8F8A FCF735C2 BB573490 7B8B2216 
      Fingerprint SHA1: 3E2BF7F2 031B96F3 8CE6C4D8 A85D3E2D 58476A0F 

% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
% Certificate successfully imported

3. Создаем второй truspoint для цепочки сертификатов и приватного ключа.

ssl-proxy(config)#crypto ca trustpoint CA_INTANDSERV
ssl-proxy(ca-trustpoint)#enrollment terminal PEM
ssl-proxy(ca-trustpoint)#crl optional 
ssl-proxy(ca-trustpoint)#exit

4. В следующем шаге мы будем импортировать приватный ключ, который по умолчанию зашифрован в AES (в случае со startssl.com), а для Cisco нам необходим в DES или DES3. Потому придется конвертировать. Сделаем это на ближайшем Linux сервере с установленным openssl следующей командой.

openssl rsa -in ssl-key.pem -out ssl-key-des3.pem -des3

Предварительно создав файл ssl-key.pem и вставив в него ваш приватный ключ. OpenSSL спросит пароль для дешифровки ключа — вы должны ввести тот пароль, который вводили при создании данного ключа на вебсайте.

5. Приступаем непосредственно к импорту ключа и цепочки сертификатов. Очередность будет такая: CA intermediate certificate, приватный ключ (содержимое ssl-key-des3.pem), ваш сертификат.

ssl-proxy(config)#crypto pki import CA_INTANDSERV pem terminal password INSERT-PRIVATE-KEY-PASSWORD
% You already have RSA keys named CA_INTANDSERV.
% If you replace them, all router certs issued using these keys
% will be removed.
% Do you really want to replace them? [yes/no]: yes
% Enter PEM-formatted CA certificate.
% End with a blank line or "quit" on a line by itself.
-----BEGIN CERTIFICATE-----
MIIGNDCCBBygAwIBAgIBGTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEW
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
...
часть сертификата вырезал, что бы было читабельнее
...
mVv3yh6zTKYoXOMjH722m0oPwmgFsNLVrRSMtGt3Vvh0oSoDCjOi594tqTwaemkt
FyGcXud7db/MkwC2MU0DC1QZX3YQpjuP/keRY/U46/oOwaqI8JnhNd6xyn4H4ufz
UAgl+Pu/aphb4RlClRuEL38a/Kq70wujW77vBXiEmjVOKnIkI2OElZ/AyIQS/jZf
AJX+NnYi6tU=
-----END CERTIFICATE-----

% Enter PEM-formatted encrypted private General Purpose key.
% End with "quit" on a line by itself.
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4A06C95FF809CC86

8bSB63XVf1XKDUw3vROmurUsSYmxMfvZZJHq3zbM5LVQnoNepGUrwWTdLdxG/BWa
L9bsTtfXmSCrG+YEdfiWDdkQFmpk/+smH8fP1mMkcrfef1ZBphB4q4GfOTOdBQ2W
kwVsygVPufp3O9V1rUDdN6/iA4fq5neZ7jVo9GRLNpBZjZz11YZe0rOxjDjLcFoW
...
часть сертификата вырезал, что бы было читабельнее
...
e4hCLVnBkDi5iXXaT5TpY0XTH41iXtjQtxQMLlX2o72ysO7dctFzPbYNKhcf6UB1
Ek6tU3DBWC/g0VOfYvkRMZ9gfbfrLehxMTOCkVepgQ2kyzPUaKD4FwcUaDcJM3OU
ZHr89O3bthWxNlo2W7GQyc2ekkrlNMHaEkPf5k+2cx9MKuls+iEgjqQ5BoNTNffI
FHDttS220VvpueNgXYaPmfr+XkQFesMCNXgoPW2ZiIPid9Pb1HlD5g==
-----END RSA PRIVATE KEY-----
quit
% Enter PEM-formatted General Purpose certificate.
% End with a blank line or "quit" on a line by itself.
-----BEGIN CERTIFICATE-----
MIIGTzCCBTegAwIBAgIDEvrfMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYDVQQGEwJJ
TDEWMBQGA1rEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2V9dXJlIERpZ2l0
YWwgQ2V3dGlmaWNhdGUgU2lnbmluZzE4MDYGA15EAxMvU3RhcnRDb20gQ2xhc3Mg
...
часть сертификата вырезал, что бы было читабельнее
...
Ey+l2VFKLnbPb99RjxHie0UKl39oQCZ5hx0t66twjUSlvz6Sqo7q5AoK0LG8qmVq
bUL99SPG4myhwOVQhmp//HuPCVUsIxV1tAAgb5/ATnC/rVdG47MNILn80tuHMaS7
O9Mh7lCm+GXn+i+wwKP5d7R3/DUzQpTurUFwiCp+qe5kHwoqYdGA5N2VoQk9Yiox
Aqv3708CVm8xCPvqV5HboRTd6Yuq9nz5a49kvL31NcQ3wSw=
-----END CERTIFICATE-----
quit
% PEM files import succeeded.

Все. Сертификат импортирован. В некоторых, редких случаях сертификат сначала не будет работает, помогает удаление самой первой trustpoint (ssl-proxy(config)#no crypto pki trustpoint CA_ROOT).
Проверить установленные в системе сертификаты можно командой.

show cry ca cert

Удачи.

2 comments on “Cisco импорт StartSSL сертификата в IOS

  1. делаю по документации, пароль ввожу верный для моего закрытого ключа.
    Но в ответ на команду после ввода команды
    crypto pki import CA_INTANDSERV pem terminal password INSERT-PRIVATE-KEY-PASSWORD
    и указания своих ключей:
    ——END CERTIFICATE——
    quit
    Unable to add certificate.
    % PEM files import failed.

    делал на двух Cisco: 2811 с IOS
    System image file is «flash:/c2800nm-adventerprisek9-mz.151-4.M10.bin»
    и на cisco 7301

    делаю так:
    crypto pki trustpoint COMODO
    enrollment terminal PEM
    crl optional
    exit
    crypto pki authenticate COMODO
    тут ввожу root сертификат COMODO
    addtrustexternalcaroot.crt

    потом ввожу
    crypto pki authenticate COMODO

    crypto pki trustpoint domain.su
    enrollment terminal PEM
    crl optional
    exit

    crypto pki import domain.su PEM terminal «password»
    % Enter PEM-formatted CA certificate.
    % End with a blank line or «quit» on a line by itself.
    сначала ввожу данные из
    comodorsaaddtrustca.crt
    потом свой закрытый ключ сгенерированный на Linux машине с -des3 c тем же паролем что я указал выше, потом указываю свой crt ключь

  2. Не указано, на каком устройстве выполняются действия. Это ASA ??? Интересно, а из коммутаторов Cisco где-то поддерживается подключение по SSH именно по сертификатам???

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *