V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pq
V2EX  ›  Linux

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

  •  
  •   pq · 2017-10-07 15:03:01 +08:00 · 4419 次点击
    这是一个创建于 2605 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    19 条回复    2017-10-11 19:44:18 +08:00
    ryd994
        1
    ryd994  
       2017-10-07 15:06:42 +08:00
    fedora 系在 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
    pisser
        2
    pisser  
       2017-10-07 15:07:45 +08:00
    Linux 发行版 统一 这几个字能连起来再说其他问题。
    snnn
        3
    snnn  
       2017-10-07 15:09:58 +08:00
    openssl 和 nss 之间还不知道得打架打多少年呢。歇歇吧
    skydiver
        4
    skydiver  
       2017-10-07 15:13:26 +08:00 via Android
    没必要统一。同一个发行版的源里安装的包应该就是配置好的
    pq
        5
    pq  
    OP
       2017-10-07 15:13:50 +08:00
    @ryd994 嗯,这是系统默认安装的 ca-certificates 包中的,貌似是 Mozilla 的,但不齐全,很多 vpn 所需的服务器证书都没有。
    pq
        6
    pq  
    OP
       2017-10-07 15:16:52 +08:00
    @skydiver 配置好的?用起来就知道坑很多了,我用的这个 Fedora,nm-strongswan 默认需要 /usr/share/ca-certificates,但默认安装后的系统居然并没有这个目录。
    skydiver
        7
    skydiver  
       2017-10-07 15:18:36 +08:00 via Android
    @pq 你是从源里安装的吗?可以提 bug 在 https://bugzilla.redhat.com 或者联系 packager 修复
    pq
        8
    pq  
    OP
       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
        9
    cye3s  
       2017-10-07 15:39:36 +08:00 via Android
    统一?我看不爽你的配置,我就开新分支🤣
    hanqi7012
        10
    hanqi7012  
       2017-10-07 15:54:31 +08:00
    linux 不就是穷折腾?没得救啦

    反正大家脾气都大
    wsy2220
        11
    wsy2220  
       2017-10-07 16:12:27 +08:00 via Android
    装发行版打包好的软件就好了
    hjc4869
        12
    hjc4869  
       2017-10-07 16:23:43 +08:00   ❤️ 1
    统一的 cert store ?我还希望能把 /etc/ 统一成注册表呢。。
    hcnhcn012
        13
    hcnhcn012  
       2017-10-07 19:58:46 +08:00 via iPhone
    Linux 发行版统一感觉有点难吧,同用 fedora,问下之前的 init.d 中的启动脚本怎么变了样了,我要添加启动项现在怎么办了啊?fedora26
    pq
        14
    pq  
    OP
       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
        15
    pq  
    OP
       2017-10-07 20:43:56 +08:00
    @hjc4869 我觉得注册表也不是什么优点,/etc 文件直接明了,操控起来更方便。但是,一些必要的标准还是需要社区逐渐达成共识的,尽管争议很多,但 systemd、NetworkManager、Firewalld 之类的东西还是强行推广起来了,适应之后,感觉也挺好的,感觉以后的 linux,很多东西都会逐渐形成一套标准的。
    pq
        16
    pq  
    OP
       2017-10-07 20:47:07 +08:00
    @wsy2220 我这岂止是发行版自带软件仓库里的,而且全部是官方 iso 默认安装的!不信你就新装一个,然后创建一个 IKEv2 VPN,看能不能用?
    hjc4869
        17
    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
        18
    wengjin456123  
       2017-10-07 22:23:22 +08:00 via Android
    你让一群大爷坐下来谈谈…
    iceheart
        19
    iceheart  
       2017-10-11 19:44:18 +08:00 via Android
    不能这么搞,不然大家费这么大劲写个浏览器,控制权交给别人,图啥呀?谷歌屏蔽沃森就是个例子嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2814 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:57 · PVG 15:57 · LAX 23:57 · JFK 02:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.