Подключение Win 10 roadwarrior к AWS strongSwan VPN — не удалось найти сертификат, который можно использовать с Extensible Authentication Protocol

Подключение Win 10 roadwarrior к AWS strongSwan VPN — не удалось найти сертификат, который можно использовать с Extensible Authentication Protocol

Мне удалось соединить две подсети AWS в разных зонах через strongSwan VPN с помощью ike2 с шифрованием aes256. Итак, создан ключ Master CA, самоподписанный сертификат CA, а также закрытый и открытый ключи для обоих шлюзов. После этого я создал сертификаты для roadwarrior и экспортировал их в клиент win10 в формате p12.

Соединение между этими двумя локальными сетями работает, но я не могу подключить клиент Roadwarrior.

Я импортировал сертификаты в Win10, и они нормально видны в менеджере сертификации.

Затем я создал конфигурацию VPN с помощью VPN-клиента Windows 10, и при запуске я получил сообщение от Windows:

Не удалось найти сертификат, который можно использовать с этим расширяемым протоколом аутентификации.

Проверка, certmagrвсе ли на месте.

Используемый метод аутентификации — EAP-tls, и он без проблем работает в модели LAN-to-LAN.

Настройка свойств безопасности VPN для Win10 выглядит следующим образом:

Type of the VPN: IKE2 , Data Encryption: Require encryption (disconnect if server declines) Authentication: Use Extensible Authentication Protocol -> Microsoft smart card or other certificates (encryption enabled) -> Properties ---> Use certificate on this computer ---> Verify the server's identity by validating the certificate ---> Trusted Root Certificate authority ----> Both certificates CA and the client p12 certificate are visible and checked

Вотipsec.confфайл

config setup
    charondebug="cfg 2, dmn 2, ike 2,net 2"
    uniqueids=yes
    strictcrlpolicy=no

conn %default
    fragmentation=force
    forceencaps=yes
    rekeymargin=3m
    mobike=no
    keyingtries=%forever
    ike=aes256-sha256-modp2048,aes256-sha2_256-modp1024!
    esp=aes256-sh256,aes256-sha2_256!
    ikelifetime=1h
    lifetime=8h
    dpddelay=30
    dpdtimeout=120
    dpdaction=restart
    authby=pubkey
    leftcert=vpn-west-public-certificate.pem
    leftsendcert=always
    keyexchange=ikev2
    type=tunnel
    leftca="C=DE, O=Orgname, CN=Orgname Root CA"
    leftid=13.57.xx.yy
    left=10.0.0.208
    leftsubnet=10.0.0.0/16

conn roadw
    right=%any
    rightid=%any
    rightauth=eap-tls
    rightsourceip=10.0.0.64/28
    rightsendcert=never
    rightdns=8.8.8.8
    eap_identity=%identity
    auto=add

ЗдесьIPsec.секретыфайл

13.57.xx.yy : RSA "/etc/ipsec.d/private/vpn-west-private-key.pem"
username : EAP "passphrase"

CA root установлен в клиенте, как и username.p12. Я подозреваю, что есть некоторые настройки на Linux и Windows обеих сторон.

Кроме того, я обнаружил, что Windows требует, чтобы имя хоста или IP-адрес были указаны в качестве части аргументов ipsec pki -- issuer в форме --san dns:13.57.xx.yy во время создания сертификата публичного сервера, а сертификат пользователя клиента (Windows) должен иметь вид CN=$USER" --san $USER. Я добавил оба параметра, но поведение по-прежнему не изменилось.

Нужно ли мне добавлять extKeyUsage, OID должен быть 1.3.6.1.5.5.7.3.2, так как его добавление ничего не изменило.

Есть идеи, с чего начать? Похоже, что Windows 10 даже не запускает сеанс, поэтому мне кажется, что что-то не так с конфигурацией VPN-клиента на Win10, а также следует подправить некоторые параметры на стороне strongSwan.

Вот команды конфигурации сертификатов для CA, сервера и клиента.

Главный ключ root

ipsec pki --gen --type rsa --size 4096 --outform > root-key-for-ca=signing.pem

Корневой сертификат CA

ipsec pki --self --ca --lifetime 3650 --in root-key-for-ca=signing.pem --type rsa --dn "C=DE, O=Orgname Root CA" --outform pem > signed-root-ca-certificate.pem

Закрытый ключ клиента

ipsec pki --gen --type rsa --size 2048 --outform pem > win10-client1-key.pem

Клиентский публичный сертификат

ipsec pki --pub --in win10-client1-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=win10-client1" --san "win10-client1" --flag serverAuth --flag clientAuth --flag ikeIntermediate --outform pem > vpn-win10-client1-public-certificate.pem

Портативный формат P12 для передачи личных ключей клиента

openssl pkcs12 -export -inkey win10-client1-key.pem -in vpn-win10-client1-public-certificate.pem -name "win10-client1 VPN certificate" -certfile signed-root-ca-certificate.pem -cname "Orgname Root CA" -out win10-client1.p12

Закрытый ключ сервера

ipsec pki --gen --type rsa --size 2048 --outform pem > vpn-west=private-key.pem

Сертификат публичного сервера

ipsec pki --pub --in vpn-west-private-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=13.57.xx.yy" --san 13.57.xx.yy --san dns:13.57.xx.yy --flag serverAuth --flag ikeIntermediate --outform pem > vpn-west-public-certificate.pem

Связанный контент