证书提供商给了5个证书
AddTrustExternalCARoot.crt
ComodoUTNSGCCA.crt
EssentialSSLCA_2.crt
UTNAddTrustSGCCA.crt
STAR_域名_com.crt
使用用户名和密码登入正常,服务器证书也是受信的,但每次连接需要输入用户名和密码有点麻烦。
所以请问如何生成受信的客户端证书?
谢谢
1
ninjai 2014-12-25 13:21:19 +08:00 1
需要你是CA
|
2
ooxxcc 2014-12-25 13:30:35 +08:00 1
等我有时间试试
我的理解是 # 服务器证书 server-cert = /etc/ocserv/server-cert.pem server-key = /etc/ocserv/server-key.pem //用商业通配证书 # 启用证书验证 ca-cert = /etc/ssl/certs/my-ca-cert.pem //使用自建证书 用户发送的是用上述ca证书签发证书 没测试。。晚点试试 |
3
vibbow 2014-12-25 13:52:23 +08:00 1
|
4
vibbow 2014-12-25 14:01:44 +08:00
还有一点就是,要做证书登录的话整个域名都需要验证证书的
证书认证失败的话连错误页面都看不到的,只会提示SSL协商失败。 所以建议把证书登录的网址单独放出来,做成SSO登陆类型的 比如说网站是 www.example.com 正常登陆的url是 login.example.com 证书登录的url是 cerlogin.example.com |
5
vibbow 2014-12-25 14:03:03 +08:00
如果想做成即用证书登录,登陆失败又能看到错误页面之类的。
那只能参考国内的银行,做成ActiveX控件去读取证书了。 (所以请不要吐槽国内的银行,他们也是受技术限制啊) |
8
ooxxcc 2014-12-25 14:58:34 +08:00
|
10
vibbow 2014-12-25 15:02:55 +08:00
@ooxxcc 不过问题在于,客户端安装了自签名CA颁发的证书,也就等于信任了这个自签名的CA。
于是这个CA也给任意网站颁发的证书,比如说google,microsoft,twitter,也就会被客户端信任。 这是一个安全隐患的。 |
12
Daniel65536 2014-12-25 15:38:36 +08:00
|
13
Daniel65536 2014-12-25 15:40:13 +08:00
https://darknode.in/archives/install-and-config-ocserv-on-debian.html
我用@xxoo 家的泛域名证书实践过,自建CA只用来签自己的用户证书就好,然后把用户证书下载到Anyconnect内,然后配置一番即可免密码登录。 |
14
vibbow 2014-12-25 15:42:05 +08:00
@ooxxcc
@Daniel65536 因为Firefox有个很蛋疼的设定:一个证书必须有完整的证书链,Firefox才会把他显示在证书选择列表里。所以自签名的CA,客户端光有证书还不行,必须把CA也可信了...... |
15
Daniel65536 2014-12-25 15:44:10 +08:00
@vibbow ocserv和Firefox没啥联系啊……那是Cisco AnyConnect的服务端……Cisco AnyConnect这个客户端的逻辑和FF不一样,不需要信任自建CA的……
|
16
vibbow 2014-12-25 15:44:26 +08:00
@ooxxcc
@Daniel65536 原来那玩意是Anyconnect服务器的啊....... 不知道我RP比较好还是什么的,我常年用PPTP (手机)和SSTP (电脑) VPN(自建)都没压力... 所以没纠结过这些玩意...... |
17
ooxxcc 2014-12-25 17:03:59 +08:00
@vibbow
@Daniel65536 @Yien 测试成功,不知道为啥openvpn的那套key不能通用,重新生成了一套 可惜试了一下证书登陆和pam不能同时使能自动切换(自己用证书,朋友用密码,后端是radius) # User authentication method. Could be set multiple times and in that case # all should succeed. # Options: certificate, pam. #auth = "plain[./sample.passwd]" auth = "pam" auth = "certificate" 这样会要求输入密码…… |
19
Daniel65536 2014-12-25 18:03:03 +08:00 via iPad
@ooxxcc 试试把auth两个顺序换下,然后启用cisco-client-compat,另外在anyconnect上指定使用证书而不是自动决定。
我怀疑是这最后一项的问题,anyconnect自动模式下没有优先发送证书导致ocserv那边fallback到了pam |
20
ooxxcc 2014-12-25 20:32:09 +08:00
@Daniel65536 顺序和cisco-client-compat都试过,两个都打开,然后客户端指定证书,还是要求输入密码
|
21
Caixiaopig 2015-01-13 20:33:26 +08:00
最终可行吗?
目前我还是自生成CA证书然后签服务器端和客户端。本身也有泛域名的CA认证证书,但是没派上用场 |
22
ioiioi 2018-03-29 06:39:05 +08:00
@Daniel65536 这个帖子有点久了,不过我碰到一个问题,我用的是 cisco anyconnect secure mobility client 4.5,这个客户端已经没有 import 这个选项,所以我只能将用户证书下载到 windows 本机,然后使用右键“安装 pfx ”来安装证书,意味着这个证书是安装到 windows 里面的,而不仅仅是 Cisco anyconnect 可见。
|