技术解析

使用 strongSwan 搭建以证书认证的 IKEv2 服务器时出现的一点问题
0
2021-05-13 21:28:50
idczone

日志 配置文件

用 Windows 10 连接的日志如上

从日志可以看到有一句 no trusted certificate found for 'VPN Clien抗投诉服务器t' to verify TLS peer

可是证书应该是没问题的,因为相同的证书在 Android 上的 strongSwan 就能成功连上,并且用的也是 EAP-TLS


证书给 windows 用的话,记得生成的时候要设置 subjectAltName 的, 看看这篇: https://wiki.strongswan.org/projects/strongswan/wiki/Win7CertReq

服务器的证书应该是没问题的,因为是服务器拒绝了 Windows 连这个服务器,而且从 log 上也能看出来

我是说给 client 端的证书,那句 log 就是 server 不认 client 的证书。
当时 windows 的证书是怎么生成的? 用 ipsec pki 生成的话,有加 --san my_server_domain.example.org 吗

使用下面的命令生成了客户端证书
```
ipsec pki --pub \
--in test.key | \
ipsec pki --issue \
--cacert ../rootca/vpnca/vpnca.crt \
--cakey ../rootca/vpnca/vpnca.key \
--dn "C=CN, O=IKEv2 VPN TEST, CN=Test VPN Client" \
--san my_server_domain.example.org \
--outform pem > test.crt
```
证书信息
```
$ openssl x509 -in test.crt -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 5911216928624408369 (0x5208dc7a44eef731)
Signature Algorithm: sha512WithRSAEncryption
Issuer: CN = Root CA, C = CN, O = IKEv2 VPN TEST
Validity
Not Before: Mar 7 17:04:57 2017 GMT
Not After : Mar 6 17:04:57 2020 GMT
Subject: C = CN, O = IKEv2 VPN TEST, CN = Test VPN Client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (8192 bit)
Modulus:
00:......:17
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:32:6A:60:CC:11:2E:7C:5F:B7:58:C2:8F:5F:6B:64:CB:69:AB:CD:8E
X509v3 Subject Alternative Name:
DNS:my_server_domain.example.org
Signature Algorithm: sha512WithRSAEncryption
64:......:53
```
服务端依然不接受这张证书

看上去没啥问题啊,话说你的域名只是个示例吧,实际连服务器使用的域名要和 server 证书的 cn 对得上才行。 strongswan 坑好大的,能用其他的还是别折腾了

将 CN 字段更换为你的域名!
https://enginx.cn/2016/06/19/配置基于 strongswan-的 ikev2.html

是的,我是用正确的信息将证书生成后把敏感信息替换掉了而已
这是客户端证书的问题,另,你提供的链接 404 了

https://enginx.cn/2016/06/19/%E9%85%8D%E7%BD%AE%E5%9F%BA%E4%BA%8Estrongswan-%E7%9A%84ikev2.html
链接包含中文,没有转换过来。以上是正确有效的链接。

客户端证书只需要 CA 和服务器证书一致就行了。可是服务器证书的 CN 字段需要填写你的域名。

你提供的文章对我来说可能没有什么用,因为这篇文章使用的是密码登录而不是证书登录。
我相信我的配置文件里面写得很清楚,里面没有配置任何的密码登录

估计你要再搜索点资料了。我的 iKEv2 使用数字证书和用户名验证,但是我的这篇文章没有写 radius 的部分,祝你顺利。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服