将 Win 10 roadwarrior 连接到 AWS strongSwan VPN - 无法找到可用于可扩展身份验证协议的证书

将 Win 10 roadwarrior 连接到 AWS strongSwan VPN - 无法找到可用于可扩展身份验证协议的证书

我设法使用带有 aes256 加密的 ike2 通过 strongSwan VPN 连接了不同区域的两个 AWS 子网。因此,创建了主 CA 密钥、自签名 CA 证书以及两个网关的私钥和公钥。之后,我为 roadwarrior 创建了证书并以 p12 格式将它们导出到 win10 客户端。

这两个 LAN 之间的连接正常,但我无法连接 roadwarrior 客户端。

我将证书导入win10,在认证管理器中正常可见。

然后我使用 Windows10 VPN 客户端创建了 VPN 配置,当我运行它时,我收到了 Windows 消息:

找不到可以用于此可扩展身份验证协议的证书。

检查certmagr所有东西是否到位。

使用的身份验证方法是 EAP-tls,它在 LAN 到 LAN 模型中运行没有问题。

Win10 VPN安全属性设置为:

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 -- 发行者参数的一部分,格式为 --san dns:13.57.xx.yy,并且客户端(Windows)用户证书需要具有 CN=$USER" --san $USER。我添加了这两个参数,但行为仍然没有变化。

我是否需要添加 extKeyUsage,OID 必须是 1.3.6.1.5.5.7.3.2,因为添加它不会改变任何东西。

知道从哪里开始吗?看起来 windows10 甚至没有启动会话,因此在我看来,Win10 上的 VPN 客户端的配置有问题,并且一些参数也应该在 strongSwan 端进行调整。

以下是 CA、服务器和客户端的证书配置命令

根主密钥

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

相关内容