Linux 发行版啥时候搞一个统一的 CA 证书呢?

2017-10-07 15:03:01 +08:00
 pq

我前些天发帖说 NetworkManager 的 IKEv2 老是搞不定,结果折腾下来,发现问题居然如此简单,就是日志中那句我曾经以为是可以忽略的话: opening directory '/usr/share/ca-certificates' failed: No such file or directory 我以为当它发现找不到这个目录时,它会自己去找系统自带的证书的,或者联网检索,但我还是太天真了,这玩意居然真的就只认这个目录下的 CA,当然,你也可以在 NM 配置文件中指定其它路径。

我就想,为嘛 linux 不像 Windows 或 Android 那样,搞一个集中式的证书系统呢?那样的话,各种浏览器、NM、ipsec 等等各种与 CA 打交道的软件,都可以统一通过它来读取了,反正 systemd 中已经搞了这么多服务,不多这一个了。。。

4444 次点击
所在节点    Linux
19 条回复
ryd994
2017-10-07 15:06:42 +08:00
fedora 系在 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
pisser
2017-10-07 15:07:45 +08:00
Linux 发行版 统一 这几个字能连起来再说其他问题。
snnn
2017-10-07 15:09:58 +08:00
openssl 和 nss 之间还不知道得打架打多少年呢。歇歇吧
skydiver
2017-10-07 15:13:26 +08:00
没必要统一。同一个发行版的源里安装的包应该就是配置好的
pq
2017-10-07 15:13:50 +08:00
@ryd994 嗯,这是系统默认安装的 ca-certificates 包中的,貌似是 Mozilla 的,但不齐全,很多 vpn 所需的服务器证书都没有。
pq
2017-10-07 15:16:52 +08:00
@skydiver 配置好的?用起来就知道坑很多了,我用的这个 Fedora,nm-strongswan 默认需要 /usr/share/ca-certificates,但默认安装后的系统居然并没有这个目录。
skydiver
2017-10-07 15:18:36 +08:00
@pq 你是从源里安装的吗?可以提 bug 在 https://bugzilla.redhat.com 或者联系 packager 修复
pq
2017-10-07 15:34:32 +08:00
@skydiver 嗯,直接 dnf 安装的。可惜我英文写作水平太次,无法清楚表达自己的意思,要不你帮忙提交一下?这个应该是 strongswan 和 nm-strongswan 这几个包的打包者负责的,编译时默认路径是可以指定的。

不过,我估计他也不好做抉择,因为系统可以放 ca 证书的路径有好多,/etc/ipsec.d、/etc/strongswan/ipsec.d/cacerts、/etc/pki 等等,看上去都各行其是。
cye3s
2017-10-07 15:39:36 +08:00
统一?我看不爽你的配置,我就开新分支🤣
hanqi7012
2017-10-07 15:54:31 +08:00
linux 不就是穷折腾?没得救啦

反正大家脾气都大
wsy2220
2017-10-07 16:12:27 +08:00
装发行版打包好的软件就好了
hjc4869
2017-10-07 16:23:43 +08:00
统一的 cert store ?我还希望能把 /etc/ 统一成注册表呢。。
hcnhcn012
2017-10-07 19:58:46 +08:00
Linux 发行版统一感觉有点难吧,同用 fedora,问下之前的 init.d 中的启动脚本怎么变了样了,我要添加启动项现在怎么办了啊?fedora26
pq
2017-10-07 20:35:21 +08:00
@hcnhcn012 晕,你是好多年前用过 linux,最近才重新用 fedora 的吧? systemd 替代 SysV init 已经好多年了。

简单的自启动,可以 vi /etc/rc.local,然后 systemctl enable rc-local.service 再 start 它。
pq
2017-10-07 20:43:56 +08:00
@hjc4869 我觉得注册表也不是什么优点,/etc 文件直接明了,操控起来更方便。但是,一些必要的标准还是需要社区逐渐达成共识的,尽管争议很多,但 systemd、NetworkManager、Firewalld 之类的东西还是强行推广起来了,适应之后,感觉也挺好的,感觉以后的 linux,很多东西都会逐渐形成一套标准的。
pq
2017-10-07 20:47:07 +08:00
@wsy2220 我这岂止是发行版自带软件仓库里的,而且全部是官方 iso 默认安装的!不信你就新装一个,然后创建一个 IKEv2 VPN,看能不能用?
hjc4869
2017-10-07 21:36:52 +08:00
@pq /etc 下各家有各家的格式,根本没有一种通用的编辑方式,所谓操作方便只是你拿文本编辑器操作方便,想写一点脚本做自动化简直是痛苦的要死,在 Windows 上直接用 PowerShell 操作 HKLM:\ HKCU:\ 简单明了,就算有存配置文件的,也几乎都是 XML (比如 IIS ),并且还提供统一的操作方式,比如 COM 接口或者 PowerShell cmdlet。

你可以把 /etc 当作跟注册表一样,都是一个 key-value store,但是它们的 value 一个简单有序,一个粗糙暴力,如果注册表套用 /etc 那个模式,那就是各种 service 的注册表 value 类型全是 string,在这个 string 里存自己需要的格式,比如扔个 json 进去。

Linux 下并非没有注册表的 equivalent,也不是没有 COM 的 equivalent,但是还是没有统一,一盘散沙,谁都是爱用什么就用什么,甚至一套系统复杂了,就自己再造个注册表,造个 COM。(比如 GNOME 家,这一套都齐了)
Windows 虽说最近也有这个趋势,但估计等 Windows 死的那天都不会严重到 Linux 这种程度。
wengjin456123
2017-10-07 22:23:22 +08:00
你让一群大爷坐下来谈谈…
iceheart
2017-10-11 19:44:18 +08:00
不能这么搞,不然大家费这么大劲写个浏览器,控制权交给别人,图啥呀?谷歌屏蔽沃森就是个例子嘛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/395780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX