Для отправки локального сертификата партнеру по протоколу IKEv1:
В LSP-конфигурации (конфигурационный файл)
Ниже приведена схема структуры LSP, отражающая связность нижеописанных структур и атрибутов (Рисунок 1).

Рисунок 1
В структуре IKETransform, описывающей набор параметров для создания ISAKMP SA, в атрибуте RestrictAuthenticationTo необходимо указать используемый тип аутентификации партнера - использовать сертификаты с ГОСТ алгоритмами подписи.
IKETransform crypto:isakmp:policy:1(
RestrictAuthenticationTo = GOST_SIGN
)
Для отправки локального сертификата партнеру по протоколу IKE в LSP в структуре AuthMethodGOSTSign задать атрибут SendCertMode со значением:
• ALWAYS - всегда отсылать партнеру локальный сертификат;
• CHAIN - всегда отсылать партнеру локальный сертификат, СА сертификат и промежуточные СА сертификаты.
Для получения сертификата партнера по протоколу IKE нужно:
• В локальной конфигурации в структуре AuthMethodGOSTSign задать атрибут SendRequestMode со значением ALWAYS - всегда запрашивать сертификат партнера.
• В конфигурации партнера в структуре AuthMethodGOSTSign задать атрибут SendCertMode со значением:
• ALWAYS - высылать сертификат;
• CHAIN - высылать локальный сертификат, СА сертификат с цепочкой промежуточных СА.
AuthMethodGOSTSign GOST:Sign:NEW_PROF
(
RemoteID = Remote:NEW_PROF
LocalID = Local:Cert:NEW_PROF
SendRequestMode = ALWAYS
SendCertMode = ALWAYS
)
Атрибут LocalID задает идентификационную информацию, посылаемую партнеру в первой фазе IKE.
Атрибут RemoteID задает требования к идентификационной информации партнера.
В качестве значения для данных атрибутов указывается ссылка на структуру IdentityEntry, в которой задаются параметры с описанием идентификационной информации.
IdentityEntry Remote:NEW_PROF(
DistinguishedName = USER_SPECIFIC_DATA
)
В структуре AuthMethodGOSTSign можно задать атрибут AcceptCredentialFrom, который устанавливает требуемые параметры СА сертификата, удостоверяющего подлинность сертификата партнера. Также есть атрибут RemoteCredential, в котором описываются похожие параметры, только для сертификата партнера по взаимодействию.
Например:
AuthMethodGOSTSign GOST:Sign:NEW_PROF
(
LocalID = IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )
RemoteID = IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )
AcceptCredentialFrom *= CertDescription
(
Issuer *= "C=RU,O=S-Terra,OU=QA,CN=autosterraCA"
SerialNumber = "36cae14ef178429040fa97846b7cf27e"
Subject *= "C=RU,O=S-Terra,OU=QA,CN=autosterraCA"
)
SendRequestMode = ALWAYS
SendCertMode = ALWAYS
)
Затем созданные структуры AuthMethodGOSTSign и IKETransform совместно применяются в структуре IKERule, которая задает правило создания контекста соединения для протокола ISAKMP версии 1:
IKERule:VPN:1
(
Transform = crypto:isakmp:policy:1
AggrModeAuthMethod = GOST:Sign:NEW_PROF
MainModeAuthMethod = GOST:Sign:NEW_PROF
)
В cisco-like конфигурации (в интерфейсе командной строки)
При создании политики IKE, параметры которой согласовываются с партнером, в режиме команды crypto isakmp policy задать метод аутентификации сторон с использованием сертификатов, подписанных ГОСТ алгоритмами, командой: authentication gost-sig. Например:
crypto isakmp policy 1
authentication gost-sig
Команда crypto isakmp profile позволяет назначить набор аутентификационных параметров партнеров, используемых при обмене по IKE.
Команда match identity задает ожидаемый идентификатор партнера. Возможно указание как типа - dn (использовать отличительное имя из сертификата (Distinguished Name, DN), так и назначение точного идентификатора. По аналогии с match identity средствами команды self-identity возможно задать собственный идентификатор.
Присланный идентификатор партнера может использоваться для поиска локального сертификата, для включения данной возможности используется команда set identity mapping.
Команда set policy 1 указывает на использование ISAKMP политики - crypto isakmp policy 1.
crypto isakmp profile NEW_PROF
match identity dn
set identity mapping
set policy 1
Так же в режиме crypto isakmp profile возможно указать:
match certificate <CERT_MAP_TAG> - допустимый сертификат партнера;
self-certificate <CERT_MAP_TAG> - собственный сертификат;
ca trust-point <CERT_MAP_TAG> - СА сертификаты.
В качестве значения данные команды принимают <CERT_MAP_TAG> - это профиль с описанием сертификата. Таких профилей может быть несколько:
crypto pki certificate map SOME_CA 1
issuer-name co CN=autosterraCA
serial-number eq = 36cae14ef178429040fa97846b7cf27e
subject-name eq C=RU,O=S-Terra,OU=QA,CN=autosterraCA
!
Далее в режиме редактирования крипто-карты (crypto map) указывается используемый ISAKMP-профиль - set isakmp-profile NEW_PROF.
crypto map VPN 1 ipsec-isakmp
set isakmp-profile NEW_PROF
В файле настроек конвертора cs_conv.ini параметру send_cert присвоено значение ALWAYS, и поэтому по умолчанию партнеру всегда будет отсылаться локальный сертификат по протоколу IKE.
В файле настроек конвертора cs_conv.ini параметру send_request присвоено значение ALWAYS, и поэтому по умолчанию у партнера всегда будет запрашиваться локальный сертификат по протоколу IKE.