允许用户在其主目录中安装证书吗?

允许用户在其主目录中安装证书吗?

通常 SSL 证书安装在系统范围内(例如/etc/ssl/certs)。是否可以配置 OpenSSL 以允许用户将证书放在其主目录中(例如~/.ssl/certs)?

一个用例可能是用户需要使用自签名证书(由他生成,因此是受信任的)访问服务;在系统范围内安装自签名 CA 是错误的,因为其他用户不应该信任该 CA。

答案1

如果你指的是使用 OpenSSL 的应用程序SSL 库,每个应用程序都可以指定用于受信任证书的(串联)文件和/或(哈希链接)目录,也可以调用 OpenSSL 的默认值,或者可以提供选择。在第一种情况下,您需要(能够)配置应用程序要指定的内容。例如,在 curl 中使用--cacert和/或--capath每个http://curl.haxx.se/docs/manpage.html在第二种情况下,编译后的 OpenSSL 默认值(依赖于系统并且可能依赖于构建)可以分别被环境变量SSL_CERT_FILE和覆盖SSL_CERT_DIR

如果你指的是使用 OpenSSL 的应用程序其他事物的图书馆(使用证书)如 CMS/SMIME,OpenSSL 有一个不太简单的 API;基本上应用程序必须直接建立一个X509_STORE用于验证的,尽管我思考它仍然可以调用相同的默认值。

如果你指的是命令行程序 openssl情况稍微复杂一些。有些实用程序(子命令)不使用信任库(甚至根本不使用证书);那些有选项可以指定信任库的实用程序通常-CAfile和;请参阅、等-CApath手册页(如适用)。但是,如果您使用默认设置,则应该使用默认设置的逻辑s_clientverifyocsp指定选项长期以来一直存在不一致的编码;几个月前在支持列表上进行过讨论,我相信修复已(最终)达成一致,但截至 2014 年 10 月 15 日 1.0.1j 尚未发布。

相关内容