Если пришло время перевести ваш 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
Удачи.
делаю по документации, пароль ввожу верный для моего закрытого ключа.
Но в ответ на команду после ввода команды
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 ключь
Не указано, на каком устройстве выполняются действия. Это ASA ??? Интересно, а из коммутаторов Cisco где-то поддерживается подключение по SSH именно по сертификатам???