Дерево страниц

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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: [Сиваткин А.Н.] Актуализировал статью

...

Таблица 2 - Список файлов сертификатов и ключей, используемых в туннелях IPsec

Название сертификата/ключаЧасто используемое имяСовпадение данных на удаленных пирахОписание
Сертификат удостоверяющего центра

ca.crt

ca-crt.pem

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

ca.crl

ca-crl.pem

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

server.key

server-key.pem

ИсключеноПриватный RSA ключ IPsec пира формата PKCS#8 в открытом (PEM) формате, используется в процессе IPsec аутентификации
X.509 сертификат IPsec пира

server.crt

server-crt.pem

ИсключеноСертификат X.509, содержащий публичный ключ и метаинформацию о IPsec пире, используется в процессе IPsec аутентификации

Создание файлов сертификатов и ключей

...

Блок кода
languagetext
# Блок общих настроек УЦ
[ ca ]
default_ca = CA_default

# Блок настроек УЦ
[ CA_default ]
# Пути до различных служебных директорий и файлов
dir               = .
certs             = $dir/certs
crl_dir           = $dir/crl
new_certs_dir     = $dir/newcerts
database          = $dir/index.txt
serial            = $dir/serial
RANDFILE          = $dir/private/.rand

# Приватный ключ и сертификат УЦ. После их создания можно будет не указывать пути до них в команде "openssl ca"
private_key       = $dir/private/ca_key.pem
certificate       = $dir/certs/ca_crt.pem

# Файл, хранящий индекс последнего сгенерированного списка отозванных сертификатов
crlnumber         = $dir/crlnumber
# Путь к актуальному списку отозванных сертификатов
crl               = $dir/crl/ca_crl.pem
# Список расширений для списка отозванных сертификатов
crl_extensions    = crl_ext
# Время жизни списка отозванных сертификатов по умолчанию, по истечению времени жизни список необходимо считать неактуальным
default_crl_days  = 30

# Алгоритм взятия контролькой суммы от данных в сертификатах по умолчанию
default_md        = sha256

name_opt          = ca_default
cert_opt          = ca_default
default_days      = 375
preserve          = no
policy            = policy_strict

copy_extensions = copy

# Политика обязательности различных полей при создании запроса на сертификат или сам сертификат
[ policy_strict ]
countryName             = match
stateOrProvinceName     = match
organizationName        = match
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional

# Блок настроек запроса на сертификацию
[ req ]
default_bits        = 2048
distinguished_name  = req_distinguished_name
string_mask         = utf8only

default_md          = sha256

x509_extensions     = v3_ca

# Описания для полей при создании запроса на сертификат или сам сертификат
[ req_distinguished_name ]
countryName                     = Country Name (2 letter code)
stateOrProvinceName             = State or Province Name
localityName                    = Locality Name
0.organizationName              = Organization Name
organizationalUnitName          = Organizational Unit Name
commonName                      = Common Name
emailAddress                    = Email Address

# Значения по умолчанию для полей при создании запроса на сертификат или сам сертификат
countryName_default             = RU
stateOrProvinceName_default     = Russia
localityName_default            = Novosibirsk
0.organizationName_default      = Eltex
organizationalUnitName_default  = Eltex
emailAddress_default            = user@eltex.loc

# Блок с расширениями X.509 для сертификата УЦ
[ v3_ca ]
basicConstraints = critical, CA:true
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer:always
keyUsage = critical, digitalSignature, cRLSign, keyCertSign  # Блок с расширениями X.509 для сертификата IPsec пира

# Блок с расширениями X.509 для сертификата IPsec пира
[ v3_ipsec_peer ]
basicConstraints        = critical, CA:FALSE
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always, issuer:always
keyUsage                = critical, digitalSignature, nonRepudiation
extendedKeyUsage	= serverAuth

# Блок с расширениями X.509 для списка отозванных сертификатов УЦ
[ crl_ext ]
authorityKeyIdentifier=keyid:always

...

  • ключ -config ссылается на используемый файл конфигурации openssl, в нашем случае на тот, что расположен в текущей директории;
  • ключ -subj содержит метаинформацию о владельце запроса на сертификацию. При остуствии отсутствии данного ключа ввод данных полей будет осуществляться в интерактивном режиме;
  • ключ -addext позволяет добавить в запрос на сертификацию желаемые расширения X.509. В нашем случае мы добавим расширение "Subject Alternative Name" (SAN), в кором можно задать альтернативные идентификаторы владельца сертификата. В нашем случае мы заполним его IP адресом, с которого будет строиться IPsec VPN туннель, использующий данный сертификат. 


Блок кода
languagebash
openssl req -config openssl.cnf -key private/server1_key.pem -new -sha256 -subj "/C=RU/ST=Siberia/L=Novosibirsk/O=Eltex/OU=Eltex SC/CN=server1.esr-test.loc/emailAddress=server1@esr-test.loc" -addext "subjectAltName = IP:192.168.1.1" -out csr/server1_req.pem

Просмотреть содержимое запроса на сертификацию можно командой:

...

Блок кода
languagebash
collapsetrue
root:~/openssl-ca$ openssl req -text -noout -in csr/server1_req.pem
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: C = RU, ST = Siberia, L = Novosibirsk, O = Eltex, OU = Eltex SC, CN = server1.esr-test.loc, emailAddress = server1@esr-test.loc
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:a3a6:62a2:d2a0:87d5:dc50:1376:3c61:5323:df72:7078:ed00:c4b2:383a:a84b:
                    ce64:c847:f6e3:c216:2038:4957:cddf:6875:6f49:cf4b:3c9e:a844:204f:cf31:73df:
                    4754:0311:8678:f9d5:4858:46:f6:a2b5:c87b:8e32:110d:f77a:ed12:5afb:8307:e7:
                    d789:176b:b905:386d:e064:3b8d:e451:4737:ccd7:d6c4:81c7:b1b3:d0c9:4ce8:1ec6:
                    7090:e14f:f054:aa3a:a8c0:03cb:5239:823b:3d0c:2047:d545:39b1:eebf:7518:244f:
                    4916:f3ff:befa:41c0:9a29:4131:2f1d:4115:8009:c7cd:aa98:66bd:db31:40a6:c436:
                    77ad:6344:c0cd:2331:e2a7:4f09:d976:7d0a:3753:ced3:774b:fdd6:38b7:1501:1fd3:
                    5507:4921:6718:b388:0149:b634:2dbd:0138:dd37:c3be:e341:a696:4033:fedb:f47b:
                    fb9e:4a9b:daa8:4e02:a24c:7c67:08c7:3741:d057:1269:60a1:d405:24ec:5975:487a:
                    d7d2:8fa7:8d3e:e96d:f670:c843:8885:bdc8:542f:5182:bc2a:bec6:96e1:4f2e:bed0:
                    38aa:84d9:d249:020f:4e03:aa2a:abd8:52b1:3cf9:f47b:f79a:6796:8389:2aa8:af03:
                    07d0:0b4d:1920:13fd:a712:7d74:52e3:bf9f:dfed:479e:db0e:b3d4:0753:7206:71f4:
                    ffc6:eff1:8d7b:c1d5:214f:6176:324d:c267:5cd4:d1:fc:d978:6b92:87b5:db33:97:
                    a1cf:fb8b:e61d:9c65:40d2:36c2:8fbf:2d0a:6a2e:b031:9c7d:88c9:778c:ff92:b0f6:
                    2b16:1b64:5d17:213f:e435:c8b2:e2ba:9926:bef7:61aa:08e3:b9d6:b765:12f4:22aa:
                    bf9b:4a5b:4a8e:7b64:2eb7:0a7d:8f42:5df9:a1d2:1ecf:1360:8f:05:e9d0:4e98:be:
                    ed76:4d9e:edc5:b124:3abf:d2b6:5c12:2b63:57f6:2c14:8e93:dd8a:1ab7:3564:f520:
                    5441:7903
                Exponent: 65537 (0x10001)
        Attributes:
            (none)Requested Extensions:
           Requested Extensions     X509v3 Subject Alternative Name: 
                    IP Address:192.168.1.1
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        468b:55ad:ef94:d8bd:0a18:a1ca:fd32:0e37:982a:7324:6cd9:0d85:bd98:4a52:f6:0a:007a:11f6:7c:
        7911:1ca6:63d1:4062:2fcb:b584:69ed:0ed5:d2ad:9a02:e37d:1050:97c4:cae9:6b73:7c01:8540:6382:
        fccd:e8da:1ed3:b545:fb37:db08:891e:c015:357d:8849:ac:c8:5d94:a74d:2703:086b:6fce:1f27:eb:
        3e76:124e:cfa1:0c4d:5ae6:2641:5f46:426d:a0a5:1435:b0a2:9d97:af65:620b:1535:00a8:731a:05e4:
        df81:bcb8:a1e0:1e00:28e5:3521:ed59:cbb8:d670:efcd:3ce5:03af:dcd3:4838:1e43:a75a:c970:6a26:
        cbc2:f607:58ba:1465:8042:d78f:8490:966c:5dd8:f2eb:6388:e8ce:16f4:b6fe:3103:b785:8a91:2f7e:
        5341:78e4:a269:b8f6:ef8d:e5ce:65f1:8161:b21e:2938:4caf:2777:0657:1054:d55a:5986:dfda:38cf:
        d431:dafe:d386:d1a1:6fb2:4292:b133:3427:bc36:7fff:e4bf:2678:c0bd:33ca:2a99:b162:dfe7:d5e2:
        b1fa:661f:719b:32e2:3d59:8f30:63e5:4261:106a:0dbc:da7c:f58e:e534:3fdf:77:5c:e1c1:f334:dd:
        34ba:ed16:b406:9bce:23e0:e62a:1a5b:29ea:197b:01a5:ee5d:1948:6220:5a33:fadb:a407:e0e7:a4ab:
        4d92:72d6:b0da:31af:b25a:28a1:6a43:f3da:c9b0:fe5d:c719:77b5:e6c6:038b:bc44:020e:d89c:c7c9:
        b1cf:79c4:73f8:1ae1:e782:e681:f5bc:69e9:bc39:f79b:4c29:1fde:9ad7:c846:ce96:bd22:2de8:f7ec:
        c06f:7689:1408:6daf:fa80:d3e4:dd11:25b2:4a84:5712:7a6b:3539:ebed:f878:2804:23a3:815d:9590:
        a3a0:efed:ef83:65f2:60f3:1dda:28fa:e13a:ce39:05be:8dd1:16cf:4a3e:e1b4:7613:0526:ada1:6aaf:
        8d94:7ec5:5d24:7b49
root:~/openssl-ca$

Теперь запрос на сертификацию необходимо подписать приватным ключом УЦ, сформировав сертификат X.509 для IPsec пира.  Пояснения по аргументам:

  • ключ -days задает время жизни сертификата в днях;
  • ключ -nodes отключает шифрование итогового файла сертификата и защиты его при помощи пароля;
  • ключ -config ссылается на используемый файл конфигурации openssl, в нашем случае на тот, что расположен в текущей директории;
  • ключ -extensions указывает на секцию v3_ipsec_peer в файле конфигурации openssl.cnf. В используемом нами openssl.cnf в этой секции описан набор расширений X.509, характерных для IPsec пира, производящего аутентификацию подключащихся к нему других пиров;
  • ключ -batch переводит процесс подписывания сертификата в неинтерактивный режим.


Блок кода
languagebash
openssl ca -config openssl.cnf -extensions v3_ipsec_peer -days 365 -notext -md sha256 -batch -in csr/server1_req.pem -out certs/server1_crt.pem

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y


Блок кода
languagebash
collapsetrue
root:~/openssl-ca$ openssl ca -config openssl.cnf -extensions v3_ipsec_peer -days 365 -notext -md sha256 -batch -in csr/server1_req.pem -out certs/server1_crt.pem
Using configuration from openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 4096 (0x1000)
        Validity
            Not Before: AprAug 17 3 1005:1401:2636 2023 GMT
            Not After : AprAug 16 2 1005:1401:2636 2024 GMT
        Subject:
            countryName               = RU
            stateOrProvinceName       = Siberia
            organizationName          = Eltex
            organizationalUnitName    = Eltex SC
            commonName                = server1.esr-test.loc
            emailAddress              = server1@esr-test.loc
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                A352:2150:B745:71FF:7C18:C1BB:AB7D:540F:81FC:CBF5:DBAC:F081:0DC2:4972:9919:07D0:8E91:1FB2:3178:5715
            X509v3 Authority Key Identifier: 
                keyid:17A7:DABD:ADBC:3936:A054:5906:3175:9737:7078:C634:BF64:AD:43:4755:7437:F316:B1E0:B55E:AB3A:AD:DA4A
                DirName:/C=RU/ST=Siberia/L=Novosibirsk/O=Eltex/OU=Eltex SC/CN=ca.test.loc/emailAddress=ca@test.loc
                serial:6D15:FF89:CA34:FD29:D9DC:0866:FD70:0536:60EF:A7DA:554E:01AE:A5E6:DF3A:1537:5208:162F:C721:B1:FA:B1
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation
Certificate is to be certified until Apr  2 10:14:26 2024 GMT (365 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
    X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Subject Alternative Name: 
                IP Address:192.168.1.1
Certificate is to be certified until Aug 16 05:01:36 2024 GMT (365 days)

Write out database with 1 new entries
Data Base Updated

root:~/openssl-ca$

Просмотреть содержимое полученного сертификата можно командой:

...

Блок кода
languagebash
collapsetrue
root:~/openssl-ca$ openssl x509 -text -noout -in certs/server1_crt.pem
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4096 (0x1000)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = RU, ST = Siberia, L = Novosibirsk, O = Eltex, OU = Eltex SC, CN = ca.test.loc, emailAddress = ca@test.loc
        Validity
            Not Before: AprAug 17 3 1005:1401:2636 2023 GMT
            Not After : AprAug 16 2 1005:1401:2636 2024 GMT
        Subject: C = RU, ST = Siberia, O = Eltex, OU = Eltex SC, CN = server1.esr-test.loc, emailAddress = server1@esr-test.loc
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:a3a6:62a2:d2a0:87d5:dc50:1376:3c61:5323:df72:7078:ed00:c4b2:383a:a84b:
                    ce64:c847:f6e3:c216:2038:4957:cddf:6875:6f49:cf4b:3c9e:a844:204f:cf31:73df:
                    4754:0311:8678:f9d5:4858:46:f6:a2b5:c87b:8e32:110d:f77a:ed12:5afb:8307:e7:
                    d789:176b:b905:386d:e064:3b8d:e451:4737:ccd7:d6c4:81c7:b1b3:d0c9:4ce8:1ec6:
                    7090:e14f:f054:aa3a:a8c0:03cb:5239:823b:3d0c:2047:d545:39b1:eebf:7518:244f:
                    4916:f3ff:befa:41c0:9a29:4131:2f1d:4115:8009:c7cd:aa98:66bd:db31:40a6:c436:
                    77ad:6344:c0cd:2331:e2a7:4f09:d976:7d0a:3753:ced3:774b:fdd6:38b7:1501:1fd3:
                    5507:4921:6718:b388:0149:b634:2dbd:0138:dd37:c3be:e341:a696:4033:fedb:f47b:
                    fb9e:4a9b:daa8:4e02:a24c:7c67:08c7:3741:d057:1269:60a1:d405:24ec:5975:487a:
                    d7d2:8fa7:8d3e:e96d:f670:c843:8885:bdc8:542f:5182:bc2a:bec6:96e1:4f2e:bed0:
                    38aa:84d9:d249:020f:4e03:aa2a:abd8:52b1:3cf9:f47b:f79a:6796:8389:2aa8:af03:
                    07d0:0b4d:1920:13fd:a712:7d74:52e3:bf9f:dfed:479e:db0e:b3d4:0753:7206:71f4:
                    ffc6:eff1:8d7b:c1d5:214f:6176:324d:c267:5cd4:d1:fc:d978:6b92:87b5:db33:97:
                    a1cf:fb8b:e61d:9c65:40d2:36c2:8fbf:2d0a:6a2e:b031:9c7d:88c9:778c:ff92:b0f6:
                    2b16:1b64:5d17:213f:e435:c8b2:e2ba:9926:bef7:61aa:08e3:b9d6:b765:12f4:22aa:
                    bf9b:4a5b:4a8e:7b64:2eb7:0a7d:8f42:5df9:a1d2:1ecf:1360:8f:05:e9d0:4e98:be:
                    ed76:4d9e:edc5:b124:3abf:d2b6:5c12:2b63:57f6:2c14:8e93:dd8a:1ab7:3564:f520:
                    5441:7903
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                A352:2150:B745:71FF:7C18:C1BB:AB7D:540F:81FC:CBF5:DBAC:F081:0DC2:4972:9919:07D0:8E91:1FB2:3178:5715
            X509v3 Authority Key Identifier: 
                keyid:17A7:DABD:ADBC:3936:A054:5906:3175:9737:7078:C634:BF64:AD:43:4755:7437:F316:B1E0:B55E:AB3A:AD:DA4A
                DirName:/C=RU/ST=Siberia/L=Novosibirsk/O=Eltex/OU=Eltex SC/CN=ca.test.loc/emailAddress=ca@test.loc
                serial:6D15:FF89:CA34:FD29:D9DC:0866:FD70:0536:60EF:A7DA:554E:01AE:A5E6:DF3A:1537:5208:162F:C721:B1:FA:B1
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Subject Alternative Name: 
                IP Address:192.168.1.1
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        6c7a:7d8f:3666:0ab8:fe73:080e:9916:5e5d:7470:3fdd:d0b4:646f:4f14:b782:e6d0:5863:0c13:57a6:
        df93:b9a5:12e1:acf1:63fc:dbd7:574a:1bb6:17ba:6653:76f0:dcde:7285:7b28:a1b0:a937:6244:73bb:
        ad75:6c40:7b14:ae62:abda:02d4:a889:b165:1f19:a8f9:61a3:c00f:0544:81e6:d42e:e2c1:fdc0:bac4:
        a9c3:e159:5816:858d:15bf:5573:d233:702b:ff63:bbdc:e7dd:fd76:367d:1267:214c:49d9:c08a:ddce:
        6bd2:9a96:9534:31f1:bbfe:6925:0fa6:4b00:6716:d8b0:1409:0708:9579:e5df:7408:708c:dd30:1e4f:
        e62f:a66b:1d7e:5748:d081:d169:963f:56a8:2052:ddf7:508f:b599:35b7:dec3:f756:b2d8:54ab:361d:
        ea45:afa1:e356:981e:1f23:04c4:73b4:cf43:04df:8e6d:0df4:9e61:18e9:01ca:1f0d:a2bc:e3cf:bdee:
        ec9c:8b9c:7208:15b8:1d11:725d:439d:17f3:365c:9823:343a:eb:e0:a78a:c7a3:be54:51a8:4ea5:93:
        2d61:62ba:2d9f:b229:2281:605f:7fbe:9216:6eaf:d202:acd1:fd8c:708b:7ede:ce57:d32e:6be8:beac:
        070f:98f4:6567:181e:bed2:5887:fb26:ad73:800f:aacc:628b:eb9f:d583:8137:1c52:3e02:9a86:6f68:
        45a9:b616:f431:b109:bd0f:9822:d54f:7bd1:1262:fd40:42cd:37f6:c3aa:7b01:116e:48bc:35ac:7887:
        f6bf:1595:6847:5055:8f7e:bb23:5bb5:440a:2d99:5820:d61a:6f8d:f4:4f:7d35:3973:fa4e:de0a:ae:
        d5:ad3c:a173:deff:2972:48bb:3aa1:48be:7f72:8500:bd34:c8de:2da8:0bec:1680:f19f:b973:0b73:
        26f7:5715:ae7b:a3d0:0ec6:ad30:7398:5a9f:1e36:a338:4419:fde4:55c2:267f:ae2f:c334:ea1a:b906:
        08bf:a070:2266:c0bd:52a7:0460:3eb6:2c97:fa64:1c75:2549:e9b9:cad1:daaf:0aa9:85c4:3d84:7366:
        c8d1:0b87:ab86:b798:3328:37d0:9182:3c43:4cac:55b0:9dd5:9ebc:4b5a:0912:5f77:f4f5:cf27:e30b:
        6e18:a8df:12f2:c81e:c1db:7587:5c06:fe75:5936:5c58:f866:62ef:0531:ba3e:b92c:6af3:ca4a:f4ba:
        3493:41cd:3907:f5cd:7545:c10f:d21f:de58:2d5f:7823:71ef:52df:8415:3bb4:1e22:3530:62aa:37cd:
        cf51:5722:60d4:f922:c29b:6ff1:b44e:6e35:fe56:5152:f39e:6d76:ee:69be:e5d3:b9d7:9b88:265c:
        0b57:5216:379b:31fa:3ab3:485b:f267:6aa0:e479:2d57:4e29:a0da:6ce4:1738:0bfd:25c7:9b3e:a98f:
        5da7:1aa6:3b2c:de44:82d2:d600:b9b5:0abd:08a4:2797:ad3e:6069:0f43:2e58:86a8:13aa:7783:22af:
        563c:88d4:ea7c:12a9:bc25:4de0:a302:2962:2418:5c53:9055:91b2:2244:7e12:ccc6:d194:9c15:6bfb:
        9749:3c18:450f:600c:8c5d:9d13:79ed:b017:35d1:d0a4:dfd4:d559:4d9f:08a1:447e:2c95:87c5:98bc:
        3dda:418e:d713:71bd:51ce:0ca8:c6d0:bd5f:2bbb:cafa:6252:1811:7629:b0a4:8cdb:738e:009c:7d16:
        1954:72f1:9960:cee4:064a:a718:2a8d:9151:c3a0:c49a:6686:8cef:20d0:3fe9:85ec:09c9:47f4:5d10:
        cd9e:bc09:dc97:2503:83c3:0fb3:2820:dd1a:cda2:49ed:58d8:d31a:b830:9742:aaf4:2c3a:6e3e:05c1:
        ba6e:e994:0253:24b4:ea65:0bfc:5e53:a73d:9746:0f46:16fc:c032:6c65:074a:b8d7:52cc:4626:a9af:
        60e7:dde5:c806:f332:5a99:c9ad:2333:a508:7d37:6ac5:5bc7:9888:7c81:141c:1323:252b:c03d:5041:
        31a6:18fc:73d6:bfcb:e51a:8dd3:b64c:fb24
root:~/openssl-ca$

Создание приватного ключа и сертификата X.509 для IPsec пира завершено. Поскольку генерация ключевой пары для других пиров аналогична - приведем пример генерации ключевой пары для второго пира:

Блок кода
languagebash
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private/server2_key.pem
openssl req -config openssl.cnf -key private/server2_key.pem -new -sha256 -subj "/C=RU/ST=Siberia/L=Novosibirsk/O=Eltex/OU=Eltex SC/CN=server2.esr-test.loc/emailAddress=server2@esr-test.loc" -addext "subjectAltName = IP:192.168.1.2" -out csr/server2_req.pemopensslpem
openssl ca -config openssl.cnf -extensions v3_ipsec_peer -days 365 -notext -md sha256 -batch -in csr/server2_req.pem -out certs/server2_crt.pem

...