Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Указать IP-адрес или сетевой интерфейс, который будет будет прослушиваться PKI-сервером для обработки входящих запросов
ШагОписаниеКомандаКлючи
1

Настроить NTP-клиент согласно разделу Алгоритм настойки NTP. Маршрутизатор должен получать точное время от NTP-сервера или NTP-пира, либо доверять локально настроенному времени с включенным режимом NTP Master.

 


2

Перейти в режим настройки PKI-клиента, который будет использоваться в настройках PKI-сервера как источник самоподписанных сертификатов.

esr(config)# crypto pki servertrustpoint <TRUSTPOINT>

<TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа.

3

Перейти в режим настройки отличительного имени сертификата – набора атрибутов, уникально описывающих удостоверяющий центр.

esr(config-pki-servertrustpoint)# subject-name


4

Указать код страны (необязательно).

esr(config-pkitrustpoint-server-subject-name)# country <COUNTRY>

<COUNTRY> – код страны, задаётся строкой длиной 2 символа. Рекомендуется использовать двухбуквенные обозначения стран "alpha-2" из стандарта ISO 3166-1.

5Указать название штата, области или провинции (необязательно).esr(config-pki-servertrustpoint-subject-name)# state <STATE><STATE> – название штата, области или провинции, задаётся строкой от 1 до 128 символов.
6Указать название населенного пункта или его территориальной единицы (необязательно).esr(config-pkitrustpoint-server-subject-name)# locality <LOCATION><LOCATION> – название населенного пункта или его территориальной единицы, задаётся строкой от 1 до 128 символов.
7Указать название организации (необязательно).esr(config-pkitrustpoint-server-subject-name)# organization <ORGANIZATION><ORGANIZATION> – название организации, задаётся строкой от 1 до 64 символов.
8Указать подразделение организации (необязательно).esr(config-pkitrustpoint-server-subject-name)# organization-unit <ORGANIZATION-UNIT>
<ORGANIZATION-UNIT> – название подразделения организации, задаётся строкой от 1 до 64 символов.
9Указать общее имя сертификата.esr(config-pkitrustpoint-server-subject-name)# common-name <COMMON-NAME>

<COMMON-NAME> – общее имя, задаётся строкой от 1 до 64 символов.

Чаще всего Как правило в качестве общего имени сертификата удостоверяющего центра используется имя домена, который обслуживает удостоверяющий центр или юридическое название удостоверяющего центра.

10Перейти в режим настройки альтернативных имен сертификата (необязательно).esr(config-trustpoint)# subject-alt-name


11Указать IP-адрес в качестве альтернативного имени сертификата (необязательно)В случае, если настройка не будет указана PKI-сервер будет принимать запросы на всех настроенных IP-интерфейсах маршрутизатора.esr(config-pkitrustpoint-serversan)# source-address ipv4 <ADDR>

<ADDR> – IP-адрес,

назначенный на локальном сетевом интерфейсе маршрутизатора, на котором PKI-сервер будет слушать входящие подключения, задаётся

задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-pkitrustpoint-serversan)# sourceipv6 <IPV6-interface <IF>

<IF> – интерфейс или туннель, на котором PKI-сервер будет слушать входящие подключения.

ADDR>

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

12Указать полное доменное имя хоста в качестве альтернативного имени сертификата (необязательно). 11Указать challenge-password, который будет использован для аутентификации PKI-клиентов, желающих выписать сертификат (необязательно).esr(config-pkitrustpoint-serversan)# challenge-password { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

dns <NAME>

<NAME> – полное доменное имя хоста (FQDN), задается строкой от 1 до 235 символов. Пример записи доменного имени – router.example.loc.

13Указать адрес электронной почты в качестве альтернативного имени сертификата (необязательно).esr(config-trustpoint-san)# email <EMAIL>

<EMAIL> – адрес электронной почты, задается строкой от 6 до 254 символов. Пример записи электронной почты – router@example.loc.

14

Перейти в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего самоподписанные сертификаты укажем тип "selfsigned".

esr(config-trustpoint)# enrollment selfsigned


15

Указать время жизни самоподписанных сертификатов (необязательно). 

esr(config-trustpoint-enrollment-selfsigned

12Указать время жизни выписываемых клиентам сертификатов в днях.esr(config-pki-server

)# lifetime <DAYS>

<DAYS> – количество дней, принимает значения в диапазоне [1..3650].

Значение по умолчанию: 3653650.

16

Указать назначение генерируемых сертификатов. Для PKI-клиента, используемого в настройках PKI-сервера в качестве источника самоподписанных сертификатов необходимо указать значение "root-ca"

13Включить PKI-сервер

.

esr(config-

pki-server

trustpoint)#

enable

Пример настройки

Задача:

Настроить на маршрутизаторе PKI-сервер в роли корневого удостоверяющего центра. Клиентские сертификаты должны иметь срок жизни – две недели с момента выпуска.

Image Removed

В качестве начальной конфигурации на маршрутизаторе уже настроен сетевой интерфейс в сторону Интернет-провайдера, прописан шлюз по умолчанию и настроена зона безопасности. Шлюз Интернет-провайдера также может служить источником синхронизации времени по протоколу NTP.

Блок кода
hostname ESR.CA

security zone WAN
exit

interface gigabitethernet 1/0/1.103
  security-zone WAN
  ip address 10.0.103.2/30
exit

ip route 0.0.0.0/0 10.0.103.1
Решение:

Настроим NTP-клиент на получение точного времени от шлюза Интернет-провайдера:

Блок кода
ESR.CA(config)# ntp enable
ESR.CA(config)# ntp server 10.0.103.1
ESR.CA(config-ntp-server)# exit
ESR.CA(config)#

Перейдем к настройке PKI-сервера:

...

usage root-ca


17

Указать экземпляр VRF, в котором будет работать PKI-клиент (необязательно). Если планируется работа PKI-сервера в определенном VRF, PKI-клиент с самоподписанными сертификатами также требуется вынести в этот VRF.

esr(config-trustpoint)# ip vrf forwarding <VRF>

<VRF> – имя VRF, задается строкой до 31 символа.

18

Включить PKI-клиент.

esr(config-trustpoint)# enable


19

Перейти в режим настройки PKI-сервера.

esr(config)# crypto pki server


20

Указать имя раннее настроенного PKI-клиента, который будет использоваться в настройках PKI-сервера как источник самоподписанных сертификатов.

esr(config-pki-server)# trustpoint <TRUSTPOINT>

<TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа.

21Указать экземпляр VRF, в котором будет работать PKI-сервер (необязательно).esr(config-pki-server)#

...

Перейдем в раздел настройки отличительного имени сертификата удостоверяющего центра. Настроим те атрибуты, которые позволят однозначно идентифицировать удостоверяющий центр:

...

ip vrf forwarding <VRF>

<VRF> – имя VRF, задается строкой до 31 символа.

22

Указать IP-адрес или сетевой интерфейс, который будет будет прослушиваться PKI-сервером для обработки входящих запросов (необязательно).

В случае, если настройка не будет указана PKI-сервер будет принимать запросы на всех настроенных IP-интерфейсах маршрутизатора.


esr(config-pki-server

...

)#

...

source-address <ADDR>

<ADDR> – IP-адрес, назначенный на локальном сетевом интерфейсе маршрутизатора, на котором PKI-сервер будет слушать входящие подключения, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-pki-server

...

)#

...

source-interface <IF>

<IF> – интерфейс или туннель, на котором PKI-сервер будет слушать входящие подключения.

23Указать challenge-password, который будет использован для аутентификации PKI-клиентов (необязательно).esr(config-pki-server

...

)#

...

challenge-password { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

24Указать время жизни выписываемых клиентам сертификатов в днях (необязательно).esr

Привяжем PKI-сервер к адресу сетевого интерфейса, смотрящего в сторону Интернет-провайдера:

...

(config-pki-server)#

...

lifetime <DAYS>

<DAYS> – количество дней, принимает значения в диапазоне [1..3650].

Значение по умолчанию: 365.

25Включить PKI-сервер.esr

Зададим challenge-password, для корректного обращения к удостоверяющему центру PKI-клиенты должны использовать правильный challenge-password.

...

(config-pki-server)#

...

enable

Пример настройки

Задача:

Настроить на маршрутизаторе PKI-сервер в роли корневого удостоверяющего центра. Время жизни сертификата удостоверяющего центра должно быть ограничено одним годом, а время жизни клиентских сертификатов должно быть ограничено двумя неделями.

Image Added

В качестве начальной конфигурации на маршрутизаторе уже настроен сетевой интерфейс в сторону Интернет-провайдера, прописан шлюз по умолчанию и настроена зона безопасности. Шлюз Интернет-провайдера также может служить источником синхронизации времени по протоколу NTP.

Блок кода
hostname ESR.CA

security zone WAN
exit

interface gigabitethernet 1/0/1.103
  security-zone WAN
  ip address 10.0.103.2/30
exit

ip route 0.0.0.0/0 10.0.103.1
Решение:

Настроим NTP-клиент на получение точного времени от шлюза Интернет-провайдера

Зададим время жизни выписываемых клиентам сертификатов:

Блок кода
ESR.CA(config-pki-server)# lifetime 14
ESR.CA(config-pki-server)#

Включим PKI-сервер:

Блок кода
ESR.CA(config-pki-server)# enable 
ESR.CA(config-pki-server)# exit
ESR.CA(config)# 

Добавим пару зон безопасности и правило, разрешающее прохождение входящего на PKI-сервер трафика:

Блок кода
ESR.CA(config)# security zone-pair WAN self ntp enable
ESR.CA(config-security-zone-pair)# rulentp server 10.0.103.1
ESR.CA(config-security-zone-pair-rulentp-server)# description "Allow access to PKI-server from WAN"exit
ESR.CA(config-security-zone-pair-rule)# match protocol tcp
ESR.CA(config-security-zone-pair-rule)# match destination-port port-range 80
ESR.CA(config-security-zone-pair-rule)# match destination-address address-range 10.0.103.2
ESR.CA(config-security-zone-pair-rule)# action permit 
ESR.CA(config-security-zone-pair-rule)# enable 
ESR.CA(config-security-zone-pair-rule)# exit
ESR.CA(config-security-zone-pair)# exit
ESR.CA(config)# 

Scroll Pagebreak

Применим конфигурацию на маршрутизаторе:

)#

Применим конфигурацию на маршрутизаторе и дождемся успешной синхронизации времени по протоколу NTP:

Примечание

Если произвести настройку подключения к NTP-серверу одновременно с настройкой PKI-сервера, сгенерированные на этапе запуска PKI-сервера служебные файлы и сертификаты могут содержать некорректные дату и время, что приведет к ошибкам в дальнейшей работе инфраструктуры PKI.


Блок кода
ESR.CA(config)# end
Warning: you have uncommitted configuration changes.
ESR.CA# commit 
Блок кода
ESR.CA(config)# end
Warning: you have uncommitted configuration changes.
ESR.CA# commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
ESR.CA# confirm
Configuration has been confirmed. Commit timer canceled.
ESR.CA# 

В результате получим запущенный корневой удостоверяющий центр, готовый к обслуживанию клиентских запросов. В команде show crypto pki server можно увидеть fingerprint сертификата удостоверяющего центра, который необходимо использовать в клиентах PKI совместно с установленным challenge-password для корректной авторизации:

Блок кода
ESR.CA# show crypto pki server
Status:
ESR.CA# sh ntp peers 
Clock is synchronized, stratum 6, reference is 10.0.103.1
    remote                          Enabled
Lifetime days:             14
Certificate fingerprint:   79:D2:B6:7E:DF:77:2D:C5:27:68:99:10:BA:EC:D2:47
Source:vrf          refid            gigabitethernet 1/0/1.103
Last issued serial number: --
Challenge password:        Active
ESR.CA#

Настройка PKI-клиента

Примечание

Изменение отличительного имени клиентского сертификата или URL подключения к PKI-серверу приводит к немедленному перезапросу нового сертификата у удостоверяющего центра.

Алгоритм настройки

...

Перейти в режим настройки PKI-клиента.

...

esr(config)# crypto pki trustpoint <TRUSTPOINT>

...

<TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа.

...

Перейти в режим настройки отличительного имени сертификата – набора атрибутов, уникально описывающих владельца сертификата.

...

esr(config-trustpoint)# subject-name

...

Указать код страны (необязательно).

...

esr(config-trustpoint-subject-name)# country <COUNTRY>

...

<COUNTRY> – код страны, задаётся строкой длиной 2 символа. Рекомендуется использовать двухбуквенные обозначения стран "alpha-2" из стандарта ISO 3166-1.

...

<COMMON-NAME> – общее имя, задаётся строкой от 1 до 64 символов.

Чаще всего в качестве общего имени клиентского сертификата используется полное доменное имя хоста, который использует данный клиентский сертификат или ФИО пользователя, использующего клиентский сертификат.

...

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

...

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

...

<NAME> – полное доменное имя хоста (FQDN), задается строкой от 1 до 235 символов. Пример записи доменного имени – router.example.loc.

...

<EMAIL> – адрес электронной почты, задается строкой от 6 до 254 символов. Пример записи электронной почты – router@example.loc.

...

<URL> – URL для подключения к PKI-серверу, задается в виде

"http:// <ADDR>[:<PORT>]/", где:

  • <ADDR> – IP-адрес или доменное имя PKI-сервера;
  • <PORT> – порт, на котором запущен PKI-сервер, в случае если используется 80 порт по умолчанию, то настройку можно пропустить.

В случае если PKI-сервер расположен на том же маршрутизаторе, на котором настраивается PKI-клиент необходимо указать в URL любой из IP-интерфейсов, которые слушает PKI-сервер.

...

<FINGERPRINT> – значение цифровой отпечаток сертификата, полученного при помощи алгоритма MD5. Имеет размер 16 байт и задается в виде HEX-строки длиной 32 символа без разделителей (YYYY...) или 47 символов с двоеточием в роли разделителя (YY:YY:YY...).

...

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

 st   t   when   poll   reach   delay      offset     jitter     
-   ----------------------------------------------   ----------   ---------------   --   -   ----   ----   -----   --------   --------   --------   
*   10.0.103.1                                                    127.127.1.0       5    u   16     64     37      0.601      8.533      0.019      
ESR.CA# 

Scroll Pagebreak

Перейдем к настройке PKI-клиента, который будет использоваться в качестве источника самоподписанных сертификатов для PKI-сервера:

Блок кода
ESR.CA(config)# crypto pki trustpoint ROOT_CA
ESR.CA(config-trustpoint)#

Перейдем в раздел настройки отличительного имени сертификата удостоверяющего центра. Настроим те атрибуты, которые позволят однозначно идентифицировать удостоверяющий центр:

Блок кода
ESR.CA(config-trustpoint)# subject-name 
ESR.CA(config-trustpoint-subject-name)# country RU
ESR.CA(config-trustpoint-subject-name)# state Moscow
ESR.CA(config-trustpoint-subject-name)# locality Moscow
ESR.CA(config-trustpoint-subject-name)# organization Company
ESR.CA(config-trustpoint-subject-name)# common-name ca.company.loc
ESR.CA(config-trustpoint-subject-name)# exit
ESR.CA(config-trustpoint)#

Перейдем в раздел настройки альтернативных имен сертификата. Укажем в качестве альтернативных имен IP-адрес и полное доменное имя:

Блок кода
ESR.CA(config-trustpoint)# subject-alt-name
ESR.CA(config-trustpoint-san)# ipv4 10.0.103.2
ESR.CA(config-trustpoint-san)# dns ca.company.loc
ESR.CA(config-trustpoint-san)# exit
ESR.CA(config-trustpoint)#

Перейдем в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего самоподписанные сертификаты, укажем тип "selfsigned". В нем настроим время жизни самоподписанных сертификатов:

Блок кода
ESR.CA(config-trustpoint)# enrollment selfsigned 
ESR.CA(config-trustpoint-enrollment-selfsigned)# lifetime 365
ESR.CA(config-trustpoint-enrollment-selfsigned)# exit
ESR.CA(config-trustpoint)#

Укажем назначение генерируемых сертификатов. Для PKI-клиента, используемого в настройках PKI-сервера, в качестве источника самоподписанных сертификатов необходимо указать значение "root-ca":

Блок кода
ESR.CA(config-trustpoint)# usage root-ca 
ESR.CA(config-trustpoint)#

Включим PKI-клиент:

Блок кода
ESR.CA(config-trustpoint)# enable 
ESR.CA(config-trustpoint)# exit
ESR.CA(config)#

Scroll Pagebreak

Перейдем к настройке PKI-сервера:

Блок кода
ESR.CA(config)# crypto pki server 
ESR.CA(config-pki-server)#

Укажем имя ранее настроенного PKI-клиента, который будет использоваться в настройках PKI-сервера как источник самоподписанных сертификатов:

Блок кода
ESR.CA(config-pki-server)# trustpoint ROOT_CA 
ESR.CA(config-pki-server)#

Привяжем PKI-сервер к адресу сетевого интерфейса, смотрящего в сторону Интернет-провайдера:

Блок кода
ESR.CA(config-pki-server)# source-interface gi 1/0/1.103
ESR.CA(config-pki-server)#

Зададим challenge-password, для корректного обращения к удостоверяющему центру PKI-клиенты должны использовать правильный challenge-password.

Блок кода
ESR.CA(config-pki-server)# challenge-password StR0nnGP+ss
ESR.CA(config-pki-server)#

Включим PKI-сервер:

Блок кода
ESR.CA(config-pki-server)# enable 
ESR.CA(config-pki-server)# exit
ESR.CA(config)# 

Добавим пару зон безопасности и правило, разрешающее прохождение входящего на PKI-сервер трафика:

Блок кода
ESR.CA(config)# security zone-pair WAN self 
ESR.CA(config-security-zone-pair)# rule 10
ESR.CA(config-security-zone-pair-rule)# description "Allow access to PKI-server from WAN"
ESR.CA(config-security-zone-pair-rule)# match protocol tcp
ESR.CA(config-security-zone-pair-rule)# match destination-port port-range 80
ESR.CA(config-security-zone-pair-rule)# match destination-address address-range 10.0.103.2
ESR.CA(config-security-zone-pair-rule)# action permit 
ESR.CA(config-security-zone-pair-rule)# enable 
ESR.CA(config-security-zone-pair-rule)# exit
ESR.CA(config-security-zone-pair)# exit
ESR.CA(config)# 

Scroll Pagebreak

Применим конфигурацию на маршрутизаторе:

Блок кода
ESR.CA(config)# end
Warning: you have uncommitted configuration changes.
ESR.CA# commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
ESR.CA# confirm
Configuration has been confirmed. Commit timer canceled.
ESR.CA# 

В результате получим запущенный корневой удостоверяющий центр, готовый к обслуживанию клиентских запросов.

В команде show crypto pki trustpoints можно увидеть PKI-клиент ROOT_CA, готовый к работе, а добавив его имя в конце команды, можно более подробно рассмотреть его текущий статус:

Блок кода
ESR.CA# show crypto pki trustpoints 
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
ROOT_CA           selfsigned   root-ca   CN=ca.company.loc/O=Company/L=   Ready                2026-12-17 08:59:16    
                                         Moscow/ST=Moscow/C=RU                                                        

ESR.CA# show crypto pki trustpoints ROOT_CA 
Name:               ROOT_CA
Usage:              root-ca
Subject name:       CN=ca.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         selfsigned
Status:             Ready
Renew date:         2026-12-17 08:59:16
CRL:                Inactive
ESR.CA#

В команде show crypto pki server можно увидеть fingerprint сертификата удостоверяющего центра, который необходимо использовать в клиентах PKI совместно с установленным challenge-password для корректной авторизации:

Блок кода
ESR.CA# show crypto pki server 
Status:                    Enabled
Associated trustpoint:     ROOT_CA
Lifetime days:             14
Certificate fingerprint:   A2:0C:10:C7:0E:06:3A:2F:EE:5F:C2:72:39:36:31:0A
Source:                    10.0.103.2
Last issued serial number: --
Challenge password:        Active
Shadow:                    Inactive
ESR.CA#

Настройка PKI-клиента

Примечание

Изменение отличительного имени клиентского сертификата или URL подключения к PKI-серверу приводит к немедленному перезапросу нового сертификата у удостоверяющего центра.

Алгоритм настройки

ШагОписаниеКомандаКлючи
1

Перейти в режим настройки PKI-клиента.

esr(config)# crypto pki trustpoint <TRUSTPOINT>

<TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа.

2

Перейти в режим настройки отличительного имени сертификата – набора атрибутов, уникально описывающих владельца сертификата.

esr(config-trustpoint)# subject-name


3

Указать код страны (необязательно).

esr(config-trustpoint-subject-name)# country <COUNTRY>

<COUNTRY> – код страны, задаётся строкой длиной 2 символа. Рекомендуется использовать двухбуквенные обозначения стран "alpha-2" из стандарта ISO 3166-1.

4Указать название штата, области или провинции (необязательно).esr(config-trustpoint-subject-name)# state <STATE><STATE> – название штата, области или провинции, задаётся строкой от 1 до 128 символов.
5Указать название населенного пункта или его территориальной единицы (необязательно).esr(config-trustpoint-subject-name)# locality <LOCATION><LOCATION> – название населенного пункта или его территориальной единицы, задаётся строкой от 1 до 128 символов.
6Указать название организации (необязательно).esr(config-server-subject-name)# organization <ORGANIZATION><ORGANIZATION> – название организации, задаётся строкой от 1 до 64 символов.
7Указать подразделение организации (необязательно).esr(config-trustpoint-subject-name)# organization-unit <ORGANIZATION-UNIT>
<ORGANIZATION-UNIT> – название подразделения организации, задаётся строкой от 1 до 64 символов.
8Указать общее имя сертификата.esr(config-trustpoint-subject-name)# common-name <COMMON-NAME>

<COMMON-NAME> – общее имя, задаётся строкой от 1 до 64 символов.

Как правило в качестве общего имени клиентского сертификата используется полное доменное имя хоста, который использует данный клиентский сертификат или ФИО пользователя, использующего клиентский сертификат.

11Перейти в режим настройки альтернативных имен сертификата (необязательно).esr(config-trustpoint)# subject-alt-name


12Указать IP-адрес в качестве альтернативного имени сертификата (необязательно).esr(config-trustpoint-san)# ipv4 <ADDR>

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-trustpoint-san)# ipv6 <IPV6-ADDR>

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

13Указать полное доменное имя хоста в качестве альтернативного имени сертификата (необязательно). esr(config-trustpoint-san)# dns <NAME>

<NAME> – полное доменное имя хоста (FQDN), задается строкой от 1 до 235 символов. Пример записи доменного имени – router.example.loc.

14Указать адрес электронной почты в качестве альтернативного имени сертификата (необязательно).esr(config-trustpoint-san)# email <EMAIL>

<EMAIL> – адрес электронной почты, задается строкой от 6 до 254 символов. Пример записи электронной почты – router@example.loc.

14

Перейти в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего сертификаты от вышестоящего удостоверяющего центра по протоколу SCEP необходимо указать значение "scep".

esr(config-trustpoint)# enrollment scep


15Указать URL для подключения к PKI-серверу.esr(config-trustpoint-enrollment-scep)# url <URL>

<URL> – URL для подключения к PKI-серверу, задается в виде

"http:// <ADDR>[:<PORT>]/", где:

  • <ADDR> – IP-адрес или доменное имя PKI-сервера;
  • <PORT> – порт, на котором запущен PKI-сервер, в случае если используется 80 порт по умолчанию, то настройку можно пропустить.

В случае если PKI-сервер расположен на том же маршрутизаторе, на котором настраивается PKI-клиент необходимо указать в URL любой из IP-интерфейсов, которые слушает PKI-сервер.

16Указать цифровой отпечаток сертификата PKI-сервера, к которому выполняется подключение.esr(config-trustpoint-enrollment-scep)# fingerprint <FINGERPRINT>

<FINGERPRINT> – значение цифровой отпечаток сертификата, полученного при помощи алгоритма MD5. Имеет размер 16 байт и задается в виде HEX-строки длиной 32 символа без разделителей (YYYY...) или 47 символов с двоеточием в роли разделителя (YY:YY:YY...).

17Указать challenge-password, который будет использован для аутентификации на PKI-сервере (необязательно).esr(config-trustpoint-enrollment-scep)# challenge-password { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

16

Указать назначение генерируемых сертификатов. Для PKI-клиента, используемого в качестве источника ключевой информации в IPsec-туннелях, необходимо указать значение "ipsec".

esr(config-trustpoint)# usage ipsec


9Указать экземпляр VRF, в котором будет работать PKI-клиент (необязательно).esr(config-trustpoint)# ip vrf forwarding <VRF>

<VRF> – имя VRF, задается строкой до 31 символа.

10

Указать IP-адрес или сетевой интерфейс, с которого PKI-клиент будет выполнять запросы к удостоверяющему центру (необязательно).

esr(config-trustpoint)# source-address <ADDR>

<ADDR> – IP-адрес, назначенный на локальном сетевом интерфейсе маршрутизатора, с которого PKI-клиент будет выполнять запросы, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-trustpoint)# source-interface <IF>

<IF> – интерфейс или туннель, с которого PKI-клиент будет выполнять запросы.

18Включить PKI-клиент.esr(config-trustpoint)# enable

Пример настройки PKI-клиента для подключения к корневому удостоверяющему центру

Задача:

Настроить на маршрутизаторе PKI-клиент так, чтобы он успешно подключался к удостоверяющему центру. В качестве удостоверяющего центра рассмотрим полностью настроенный PKI-сервер из предыдущего примера. Помимо настройки отличительного имени сертификата, настроим в качестве альтернативного имени IP-адрес маршрутизатора и его полное доменное имя.

Image Added

В качестве начальной конфигурации на маршрутизаторе уже настроен сетевой интерфейс в сторону Интернет-провайдера, прописан шлюз по умолчанию и настроена зона безопасности. Шлюз Интернет-провайдера также может служить источником синхронизации времени по протоколу NTP.

Блок кода
hostname ESR.CA

security zone WAN
exit

interface gigabitethernet 1/0/1.103
  security-zone WAN
  ip address 10.0.103.2/30
exit

security zone-pair WAN self
  rule 10
    description "Allow access to PKI-server from WAN"
    action permit
    match protocol tcp
    match destination-address address-range 10.0.103.2
    match destination-port port-range 80
    enable
  exit
exit

ip route 0.0.0.0/0 10.0.103.1

ntp enable
ntp server 10.0.103.1
exit

crypto pki server
  challenge-password StR0nnGPass
  subject-name
    common-name ca.company.loc
    organization Company
    locality Moscow
    state Moscow
    country RU
  exit
  lifetime 14
  source-interface gigabitethernet 1/0/1.103
  enable
exit
Блок кода
hostname ESR.R1

security zone WAN
exit

interface gigabitethernet 1/0/1.113
  security-zone WAN
  ip address 10.0.113.2/30
exit

ip route 0.0.0.0/0 10.0.113.1

Scroll Pagebreak

Решение:

Настроим NTP-клиент на получение точного времени от шлюза Интернет-провайдера:

Информация

Настройка NTP-клиента для работы PKI-клиента не является обязательной, в отличие от конфигурирования PKI-сервера. Но в связи с чувствительностью инфраструктуры открытых ключей к актуальности времени на узлах, использующих выписанные сертификаты, настройка NTP рекомендуется и на клиентской стороне.


Блок кода
ESR.R1(config)# ntp enable
ESR.R1(config)# ntp server 10.0.113.1
ESR.R1(config-ntp-server)# exit
ESR.R1(config)#

Применим конфигурацию на маршрутизаторе и дождемся успешной синхронизации времени по протоколу NTP:

Примечание

Если произвести настройку подключения к NTP серверу одновременно с настройкой PKI-клиента, сгенерированные на этапе запуска PKI-клиента служебные файлы и сертификаты могут содержать некорректные дату и время, что приведет к ошибкам в дальнейшей работе инфраструктуры PKI.


Блок кода
ESR.R1(config)# end
Warning: you have uncommitted configuration changes.
ESR.R1# commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
ESR.R1# confirm
Configuration has been confirmed. Commit timer canceled.
ESR.R1# 
ESR.R1# sh ntp peers 
Clock is synchronized, stratum 6, reference is 10.0.113.1
    remote                                           vrf          refid             st   t   when   poll   reach   delay      offset     jitter     
-   ----------------------------------------------   ----------   ---------------   --   -   ----   ----   -----   --------   --------   --------   
*   10.0.113.1                                                    127.127.1.0       5    u   10     64     37      0.441      0.017      2.344      
ESR.R1#

Перейдем к настройке PKI-клиента:

Блок кода
ESR.R1(config)# crypto pki trustpoint TP_R1
ESR.R1(config-trustpoint)#

Scroll Pagebreak

Перейдем в раздел настройки отличительного имени клиентского сертификата. Настроим те атрибуты, которые позволят однозначно идентифицировать клиента:

Блок кода
ESR.R1(config-trustpoint)# subject-name 
ESR.R1(config-trustpoint-subject-name)# country RU
ESR.R1(config-trustpoint-subject-name)# state Moscow
ESR.R1(config-trustpoint-subject-name)# locality Moscow
ESR.R1(config-trustpoint-subject-name)# organization Company
ESR.R1(config-trustpoint-subject-name)# common-name r1.company.loc
ESR.R1(config-trustpoint-subject-name)# exit
ESR.R1(config-trustpoint)#

Перейдем в раздел настройки альтернативных имен сертификата. Укажем в качестве альтернативных имен IP-адрес и полное доменное имя:

Блок кода
ESR.R1(config-trustpoint)# subject-alt-name 
ESR.R1(config-trustpoint-san)# ipv4 10.0.113.2
ESR.R1(config-trustpoint-san)# dns r1.company.loc
ESR.R1(config-trustpoint-san)# exit
ESR.R1(config-trustpoint)#

Перейдем в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего сертификаты от вышестоящего удостоверяющего центра по протоколу SCEP необходимо указать значение "scep":

Блок кода
ESR.R1(config-trustpoint)# enrollment scep
ESR.R1(config-trustpoint-enrollment-scep)#

Укажем URL подключения к удостоверяющему центру:

Блок кода
ESR.R1(config-trustpoint-enrollment-scep)# url http://10.0.103.2/
ESR.R1(config-trustpoint-enrollment-scep)#

Укажем цифровой отпечаток сертификата удостоверяющего центра, при несовпадении настроенного в конфигурации PKI-клиента отпечатка с отпечатком сертификата, которым представится сам удостоверяющий центр процесс выпуска сертификата будет прерван. На сервисных маршрутизаторах ESR получить цифровой отпечаток сертификата удостоверяющего центра можно из вывода команды show crypto pki server:

Блок кода
ESR.R1(config-trustpoint-enrollment-scep)# fingerprint A2:0C:10:C7:0E:06:3A:2F:EE:5F:C2:72:39:36:31:0A
ESR.R1(config-trustpoint-enrollment-scep)#

Зададим challenge-password для корректного обращения к удостоверяющему центру:

Блок кода
ESR.R1(config-trustpoint-enrollment-scep)# challenge-password StR0nnGP+ss
ESR.R1(config-trustpoint-enrollment-scep)# exit
ESR.R1(config-trustpoint)#

Укажем назначение генерируемых сертификатов. Для PKI-клиента, используемого в качестве источника ключевой информации в IPsec-туннелях, необходимо указать значение "ipsec".

Блок кода
ESR.R1(config-trustpoint)# usage ipsec
ESR.R1(config-trustpoint)#

Привяжем PKI-клиент к адресу сетевого интерфейса, смотрящего в сторону Интернет-провайдера:

Блок кода
ESR.R1(config-trustpoint)# source-interface gi 1/0/1.113
ESR.R1(config-trustpoint)#

Включим PKI-клиент:

Блок кода
ESR.R1(config-trustpoint)# enable 
ESR.R1(config-trustpoint)# exit
ESR.R1(config)#

Поскольку трафик PKI-клиента исходящий, дополнительных правил фильтрации в Zone-Based Firewall добавлять не требуется.

Применим конфигурацию на маршрутизаторе:

Блок кода
ESR.R1(config)# end
Warning: you have uncommitted configuration changes.
ESR.R1# commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
ESR.R1# confirm
Configuration has been confirmed. Commit timer canceled.
ESR.R1#

В результате получим настроенный PKI-клиент, который сразу после запуска обратится к удостоверяющему центру за выпуском сертификата. Отследить состояние настроенных PKI-клиентов можно командой show crypto pki trustpoints:

Блок кода
ESR.R1# show crypto pki trustpoints 
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
TP_R1             scep         ipsec     CN=r1.company.loc/O=Company/L=   Ready                2026-03-12 11:40:00    
                                         Moscow/ST=Moscow/C=RU                                                        

ESR.R1#

Scroll Pagebreak

Более подробную информацию о PKI-клиенте можно посмотреть, если выполнить команду show crypto pki trustpoints с указанием имени PKI-клиента:

Блок кода
ESR.R1# show crypto pki trustpoints TP_R1 
Name:               TP_R1
Usage:              ipsec
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         scep
Challenge password: Active
Status:             Ready
Renew date:         2026-03-12 11:40:00
CRL:                Active
CRL status:         Exist
CRL renew date:     2026-03-01 08:59:16
ESR.R1#

Процесс автоматического перевыпуска сертификата PKI-клиента

При успешном получении сертификата от удостоверяющего центра PKI-клиент вычитывает период действия сертификата и за 20% времени до его истечения планирует процедуру перевыпуска нового сертификата (certificate auto-enroll). Дата запланированного перевыпуска сертификата соответствующего PKI-клиента присутствует в графе "Renew date" вывода команды show crypto pki trustpoints с указанием имени конкретного PKI-клиента:

Блок кода
ESR.R1# show crypto pki trustpoints TP_R1 
Name:               TP_R1
Enrollment:         SCEP
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Challenge password: Active
Status:             Ready
Renew date:         2025-11-02 11:35:39
ESR.R1# 

При наступлении этого времени PKI-клиент запустит процедуру перевыпуска сертификата и в случае успеха заменит текущий сертификат на новый. На это укажет как факт смены запланированной даты перевыпуска сертификата, так и новый серийный номер сертификата:

Блок кода
ESR.R1# show crypto pki trustpoints TP_R1 cert | include "Serial"
Serial:                                           85:71:EC:28:6C:C8:4E:23:B2:03:03:2F:4D:DF:B8:63
ESR.R1# show crypto pki trustpoints TP_R1
Name:               TP_R1
Usage:              ipsec
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         scep
Challenge password: Active
Status:             Ready
Renew date:         2026-03-12 11:40:00
CRL:                Active
CRL status:         Exist
CRL renew date:     2026-03-01 08:59:16
ESR.R1#
Блок кода
ESR.R1# show date
"2025-11-02 11:35:46"
ESR.R1# show crypto pki trustpoints TP_R1
Name:               TP_R1
Usage:              ipsec
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         scep
Challenge password: Active
Status:             Ready
Renew date:         2026-03-23 16:28:00
CRL:                Active
CRL status:         Exist
CRL renew date:     2026-03-13 11:40:00
ESR.R1# show crypto pki trustpoints TP_R1 cert | include "Serial"
Serial:                                           D4:F1:0C:10:9B:59:4C:88:BF:95:03:D8:F4:E2:40:8B
ESR.R1#

В базе сертификатов удостоверяющего центра, в свою очередь, выписанный ранее клиентский сертификат будет отозван:

Блок кода
ESR.CA# show crypto pki server database 
Serial                                            State       Issue date   Expiration   Revocation   Subject name                     
                                                                           date         date                                          
-----------------------------------------------   ---------   ----------   ----------   ----------   ------------------------------   
85:71:EC:28:6C:C8:4E:23:B2:03:03:2F:4D:DF:B8:63   Revoked     2026-03-01   2026-03-15   2026-03-12   CN=r1.company.loc/O=Company/L=   
                                                              06:52:00     06:52:00     11:40:00     Moscow/ST=Moscow/C=RU            

D4:F1:0C:10:9B:59:4C:88:BF:95:03:D8:F4:E2:40:8B   Valid       2026-03-12   2026-03-26   --           CN=r1.company.loc/O=Company/L=   
                                                              11:40:00     11:40:00                  Moscow/ST=Moscow/C=RU            

ESR.CA#

Scroll Pagebreak

Процесс автоматического перевыпуска сертификата PKI-сервера

После завершения инициализации PKI-сервера обслуживающий его PKI-клиент вычитывает период действия сертификата и за 20% времени до его истечения планирует процедуру подготовки так называемого теневого сертификата (certificate auto-rollover). Данный сертификат предназначен для замены текущего сертификата удостоверяющего центра после его истечения. Наличие сгенерированного теневого сертификата отображается в графе "Shadow" вывода команды show crypto pki server. Дата запланированной генерации теневого сертификата присутствует в графе "Renew date" вывода команды show crypto pki trustpoints с указанием имени PKI-клиента, обслуживающего PKI-сервер:

Блок кода
ESR.CA# show crypto pki server
Status:                    Enabled
Associated trustpoint:     ROOT_CA
Lifetime days:             14
Certificate fingerprint:   A2:0C:10:C7:0E:06:3A:2F:EE:5F:C2:72:39:36:31:0A
Source:                    10.0.103.2
Last issued serial number: D4:F1:0C:10:9B:59:4C:88:BF:95:03:D8:F4:E2:40:8B
Challenge password:        Active
Shadow:                    Inactive
ESR.CA# show crypto pki trustpoints
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
ROOT_CA           selfsigned   root-ca   CN=ca.company.loc/O=Company/L=   Ready                2026-12-17 08:59:16    
                                         Moscow/ST=Moscow/C=RU                                                        

ESR.CA# show crypto pki trustpoints ROOT_CA 
Name:               ROOT_CA
Usage:              root-ca
Subject name:       CN=ca.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         selfsigned
Status:             Ready
Renew date:         2026-12-17 08:59:16
CRL:                Inactive
ESR.CA#

Scroll Pagebreak

После успешной генерации теневого сертификата обновится графа "Shadow" вывода команды show crypto pki server, а также состояние соответствующего PKI-клиента в выводах команды show crypto pki trustpoints:

Блок кода
ESR.CA# show date
"2026-12-17 09:01:36"
ESR.CA# 
ESR.CA# show crypto pki server
Status:                    Enabled
Associated trustpoint:     ROOT_CA
Lifetime days:             14
Certificate fingerprint:   A2:0C:10:C7:0E:06:3A:2F:EE:5F:C2:72:39:36:31:0A
Source:                    10.0.103.2
Last issued serial number: 0A:AF:EA:35:92:E6:48:08:B3:A3:7A:8B:29:85:3B:56
Challenge password:        Active
Shadow:                    Active
ESR.CA# show crypto pki trustpoints 
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
ROOT_CA           selfsigned   root-ca   CN=ca.company.loc/O=Company/L=   Ready with shadow    2027-02-28 08:59:16    
                                         Moscow/ST=Moscow/C=RU                                                        

ESR.CA# show crypto pki trustpoints ROOT_CA 
Name:               ROOT_CA
Usage:              root-ca
Subject name:       CN=ca.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         selfsigned
Status:             Ready with shadow
Renew date:         2027-02-28 08:59:16
CRL:                Inactive
ESR.CA#

Scroll Pagebreak

Любой PKI-клиент, обращающийся за выпуском сертификата в удостоверяющий центр и получивший клиентский сертификат со сроком завершения валидности, эквивалентным сроку завершения жизни сертификата удостоверяющего центра, зафиксирует событие истечения жизни сертификата удостоверяющего центра и отдельным запросом запросит теневой сертификат уже для себя:

Блок кода
ESR.R1# sh crypto pki trustpoints
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
TP_R1             scep         ipsec     CN=r1.company.loc/O=Company/L=   Ready with shadow    2027-02-28 08:59:16    
                                         Moscow/ST=Moscow/C=RU                                                        

ESR.R1# sh crypto pki trustpoints TP_R1
Name:               TP_R1
Usage:              ipsec
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Enrollment:         scep
Challenge password: Active
Status:             Ready with shadow
Renew date:         2027-02-28 08:59:16
CRL:                Active
CRL status:         Exist
CRL renew date:     2027-02-26 15:00:00
ESR.R1# sh crypto pki trustpoints TP_R1 ca | include " after"
    Valid after:                                  2026-02-28 08:59:16
    Invalid after:                                2027-02-28 08:59:16
ESR.R1# sh crypto pki trustpoints TP_R1 cert | include " after"
    Valid after:                                  2027-02-25 15:00:00
    Invalid after:                                2027-02-28 08:59:16
ESR.R1#

Scroll Pagebreak

В момент, когда текущий сертификат удостоверяющего центра истечет, и PKI-клиент самого удостоверяющего центра, и PKI-клиенты, выписывающие клиентские сертификаты, произведут замену текущего сертификата на теневой и продолжат штатную работу:

Блок кода
ESR.CA# show crypto pki trustpoints 

...

Пример настройки PKI-клиента для подключения к корневому удостоверяющему центру

Задача:

Настроить на маршрутизаторе PKI-клиент так, чтобы он успешно подключался к удостоверяющему центру. В качестве удостоверяющего центра рассмотрим полностью настроенный PKI-сервер из предыдущего пункта документации. Помимо настройки отличительного имени сертификата настроим в качестве альтернативного имени IP-адрес маршрутизатора и его полное доменное имя.

Image Removed

В качестве начальной конфигурации на маршрутизаторе уже настроен сетевой интерфейс в сторону Интернет-провайдера, прописан шлюз по умолчанию и настроена зона безопасности. Шлюз Интернет-провайдера также может служить источником синхронизации времени по протоколу NTP.

Блок кода
hostname ESR.CA

security zone WAN
exit

interface gigabitethernet 1/0/1.103
  security-zone WAN
  ip address 10.0.103.2/30
exit

security zone-pair WAN self
  rule 10
    description "Allow access to PKI-server from WAN"
    action permit
    match protocol tcp
    match destination-address address-range 10.0.103.2
    match destination-port port-range 80
    enable
  exit
exit

ip route 0.0.0.0/0 10.0.103.1

ntp enable
ntp server 10.0.103.1
exit

crypto pki server
  challenge-password StR0nnGPass
  subject-name
    common-name ca.company.loc
    organization Company
    locality Moscow
    state Moscow
    country RU
  exit
  lifetime 14
  source-interface gigabitethernet 1/0/1.103
  enable
exit
Блок кода
hostname ESR.R1

security zone WAN
exit

interface gigabitethernet 1/0/1.113
  security-zone WAN
  ip address 10.0.113.2/30
exit

ip route 0.0.0.0/0 10.0.113.1

Scroll Pagebreak

Решение:

Настроим NTP-клиент на получение точного времени от шлюза Интернет-провайдера:

Информация

Настройка NTP-клиента для работы PKI-клиента не является обязательной, в отличие от конфигурирования PKI-сервера. Но в связи с чувствительностью инфраструктуры открытых ключей к актуальности времени на узлах, использующих выписанные сертификаты настройка NTP рекомендуется и на клиентской стороне.

Блок кода
ESR.R1(config)# ntp enable
ESR.R1(config)# ntp server 10.0.113.1
ESR.R1(config-ntp-server)# exit
ESR.R1(config)#

Перейдем к настройке PKI-клиента:

Блок кода
ESR.R1(config)# crypto pki trustpoint TP_R1
ESR.R1(config-trustpoint)#

Перейдем в раздел настройки отличительного имени клиентского сертификата. Настроим те атрибуты, которые позволят однозначно идентифицировать клиента:

Блок кода
ESR.R1(config-trustpoint)# subject-name 
ESR.R1(config-trustpoint-subject-name)# country RU
ESR.R1(config-trustpoint-subject-name)# state Moscow
ESR.R1(config-trustpoint-subject-name)# locality Moscow
ESR.R1(config-trustpoint-subject-name)# organization Company
ESR.R1(config-trustpoint-subject-name)# common-name r1.company.loc
ESR.R1(config-trustpoint-subject-name)# exit
ESR.R1(config-trustpoint)#

Перейдем в раздел настройки альтернативных имен сертификата. Укажем в качестве альтернативных имен IP-адрес и полное доменное имя:

Блок кода
ESR.R1(config-trustpoint)# subject-alt-name 
ESR.R1(config-trustpoint-san)# ipv4 10.0.113.2
ESR.R1(config-trustpoint-san)# dns r1.company.loc
ESR.R1(config-trustpoint-san)# exit
ESR.R1(config-trustpoint)#

Укажем URL подключения к удостоверяющему центру:

Блок кода
ESR.R1(config-trustpoint)# url http://10.0.103.2/
ESR.R1(config-trustpoint)#

Укажем цифровой отпечаток сертификата удостоверяющего центра, при несовпадении настроенного в конфигурации PKI-клиента отпечатка с отпечатком сертификата, которым представится сам удостоверяющий центр процесс выпуска сертификата будет прерван. На сервисных маршрутизаторах ESR получить цифровой отпечаток сертификата удостоверяющего центра можно из вывода команды show crypto pki server:

Блок кода
ESR.R1(config-trustpoint)# fingerprint 79:D2:B6:7E:DF:77:2D:C5:27:68:99:10:BA:EC:D2:47
ESR.R1(config-trustpoint)#

Зададим challenge-password, для корректного обращения к удостоверяющему центру:

Блок кода
ESR.R1(config-trustpoint)# challenge-password StR0nnGP+ss
ESR.R1(config-trustpoint)#

Включим PKI-клиент:

Блок кода
ESR.R1(config-trustpoint)# enable 
ESR.R1(config-trustpoint)# exit
ESR.R1(config)#

Поскольку трафик PKI-клиента исходящий, дополнительных правил фильтрации в Zone-Based Firewall добавлять не требуется.

Применим конфигурацию на маршрутизаторе:

Блок кода
ESR.R1(config)# end
Warning: you have uncommitted configuration changes.
ESR.R1# commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
ESR.R1# confirm
Configuration has been confirmed. Commit timer canceled.
ESR.R1#

В результате получим настроенный PKI-клиент, который сразу после запуска обратится к удостоверяющему центру за выпуском сертификата. Отследить состояние настроенных PKI-клиентов можно командой show crypto pki trustpoints:

Блок кода
ESR.R1# show crypto pki trustpoints
Name              Enrollment   Usage     Subject name                     Status               Next action            
---------------   ----------   -------   ------------------------------    ------------------   --------------------   
TPROOT_R1CA           selfsigned  SCEP root-ca        CN=r1ca.company.loc/O=Company/L=   Ready with shadow    2027-02-28 08:59:16    
     2025-11-02 11:35:39    
                               =Moscow/ST=Moscow/C=RU                                                        

ESR.CA#
ESR.CA# show date
"2027-02-28 09:00:01"
ESR.CA# sh crypto pki server 
Status:                    Enabled
Associated trustpoint:     ROOT_CA
Lifetime days:             14
Certificate fingerprint:      

ESR.R1#

Более подробную информацию о PKI-клиенте можно посмотреть, если выполнить команду show crypto pki trustpoints с указанием имени PKI-клиента:

Блок кода
ESR.R1# show crypto pki trustpoints TP_R1 
Name:EA:13:09:02:46:6F:F3:91:46:F3:1F:AB:2F:90:CA:18
Source:                    10.0.103.2
Last issued serial  TP_R1
Enrollment:         SCEP
Subject namenumber: F3:C4:74:88:E8:AC:44:4D:B9:DC:CD:E8:9E:95:0A:7E
Challenge password:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Challenge password: Active
StatusShadow:             Ready
Renew date:         2025-11-02 11:35:39
ESR.R1#

Процесс автоматического перевыпуска сертификата PKI-клиента

При успешном получении сертификата от удостоверяющего центра PKI-клиент вычитывает период действия сертификата и за 20% времени до его истечения планирует процедуру перевыпуска нового сертификата. Дата запланированного перевыпуска сертификата соответствующего PKI-клиента присутствует в графе "Renew date" вывода команды show crypto pki trustpoints с указанием имени конкретного PKI-клиента:

Блок кода
ESR.R1#Inactive
ESR.CA# show crypto pki trustpoints TP_R1 
Name:               TP_R1
Enrollment:   Usage      SCEP
Subject name:                   CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Challenge password: Active
Status:  Status               Next action           Ready
Renew date:         2025-11-02 11:35:39
ESR.R1# 

При наступлении этого времени PKI-клиент запустит процедуру перевыпуска сертификата и в случае успеха заменит текущий сертификат на новый. На это укажет как факт смены запланированной даты перевыпуска сертификата, так и новый серийный номер сертификата:

Блок кода
ESR.R1# show crypto pki trustpoints TP_R1 cert | include "Serial"
Serial:               
---------------   ----------   -------   ------------------------------   ------------------   --------------------   
ROOT_CA           selfsigned   root-ca   CN=ca.company.loc/O=Company/L=   Ready                2027-12-17 08:59:16    
        04:7E:C0:EF:F7:D0:46:53:AF:9D:C8:EE:17:A6:14:CC
ESR.R1# show crypto pki trustpoints TP_R1
Name:               TP_R1
Enrollment:         SCEP
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Challenge password: Active
Status:             Ready
Renew date:         2025-11-02 11:35:39
ESR.R1#
Блок кода
ESR.R1# show date
"2025-11-02 11:35:46"
ESR.R1# show crypto pki trustpoints TP_R1
Name:                        TP_R1
Enrollment:         SCEP
Subject name:       CN=r1.company.loc/O=Company/L=Moscow/ST=Moscow/C=RU
Challenge password: Active
Status:

ESR.CA#
Блок кода
ESR.R1# show crypto pki trustpoints 
Name              Enrollment   Usage  Ready
Renew date:  Subject name      2025-11-13 18:21:11
ESR.R1# show crypto pki trustpoints TP_R1 cert | include "Serial"
Serial:     Status               Next action            
---------------   ----------       10:34:38:55:CE:D1:4A:98:A5:0E:3F:9E:32:77:E7:22
ESR.R1# 

Scroll Pagebreak

В базе сертификатов удостоверяющего центра, в свою очередь, выписанный ранее клиентский сертификат будет отозван:

Блок кода
ESR.CA# show crypto pki server database 
Serial       -------   ------------------------------   ------------------   --------------------   
TP_R1             scep         ipsec     CN=r1.company.loc/O=Company/L=   Ready with shadow     State2027-02-28 08:59:16    
   Issue date   Expiration   Revocation   Subject name                     
      Moscow/ST=Moscow/C=RU                                                        

ESR.R1# 
ESR.R1# show date
"2027-02-28 09:00:01"
ESR.R1# show crypto pki trustpoints 
Name    date         date Enrollment   Usage     Subject name                       Status         
------------------------------      Next action            
-----------------   ---------   ----------   ----------   ----------   --------------------   ----------   
04:7E:C0:EF:F7:D0:46:53:AF:9D:C8:EE:17:A6:14:CC   Revoked     2025-10-22   2025-11-05   2025-11-02   CN=r1.company.loc/O=Company/L   
             -------   --------------------   
TP_R1             scep         ipsec     CN=r1.company.loc/O=Company/L=   Ready                   062027-03-11 13:47:3916    
 06:47:39     11:36:01     =Moscow/ST=Moscow/C=RU           

10:34:38:55:CE:D1:4A:98:A5:0E:3F:9E:32:77:E7:22   Valid       2025-11-02   2025-11-16    --           CN=r1.company.loc/O=Company/L   
                                                              11:36:01     08:02:34 Moscow/ST=Moscow/C=RU                                             =Moscow/ST=Moscow/C=RU           

ESR.CA#

Процесс автоматического перевыпуска сертификата PKI-сервера

Предупреждение
В текущей версии ПО маршрутизаторов ESR автоматический перевыпуск сертификата PKI-сервера не реализован. Самоподписанный сертификат удостоверяющего центра генерируется на этапе настройки PKI-сервера сроком на 10 лет с момента генерации. Поддержка перевыпуска сертификата удостоверяющего центра будет поддержана в одном из следующих релизов. 
R1#

Ручная генерация и распространение ключей и сертификатов X.509

...

Сгенерировать на ESR приватный RSA-ключ и сформировать запрос на сертификацию. Помимо настройки отличительного имени сертификата настроим в качестве альтернативного имени его полное доменное имя.

...