Network Security Services (简体中文)

From ArchWiki

Network Security Services(NSS)是一组旨在支持跨平台开发具有安全功能的客户端和服务器应用程序的库。

使用NSS构建的应用程序可以支持SSL v2和v3、TLSPKCS #5PKCS #7PKCS #11PKCS #12S/MIMEX.509 v3证书以及其他安全标准。

许多软件包都需要NSS,包括,例如,ChromiumFirefox

安装

安装 nss包。

用法

使用NSS提供的certutil工具来管理你的证书。

列出证书数据库

要获得所有证书的列表。

$ certutil -d sql:$HOME/.pki/nssdb -L

要获得证书的详细信息。

$ certutil -d sql:$HOME/.pki/nssdb -L -n certificate_nickname

生成一个RSA私钥

$ certutil -G -d database_directory -g keysize -n nickname

生成一个证书签名请求

$ certutil -S -s subject -n nickname -x -t C,C,C -o file

生成一个自签名的证书

$ certutil -S -s subject -n nickname -x -t C,C,C -o file

导入证书

要添加一个证书,请指定-A选项。

$ certutil -d sql:$HOME/.pki/nssdb -A -t "'TRUSTARGS'" -n certificate_nickname -i /path/to/cert/filename

TRUSTARGS是由零个或多个字母组成的三个字符串,用逗号分隔,例如,"TCu,Cu,Tuw"。它们定义了证书在SSL、电子邮件和对象签名中应如何被信任,在certutil documentationMeena's blog post中对信任标志进行了解释。

要为SSL客户认证添加个人证书和私钥,请使用以下命令。

$ pk12util -d sql:$HOME/.pki/nssdb -i /path/to/PKCS12/cert/filename.p12

这将导入一个存储在PKCS #12文件中的个人证书和私钥。个人证书的TRUSTARGS将被设置为"u,u,u"

编辑证书

使用-M选项调用certutil来编辑证书。例如,要编辑TRUSTARGS

$ certutil -d sql:$HOME/.pki/nssdb -M -t "'TRUSTARGS'" -n certificate_nickname

删除证书

使用-D选项来删除证书。

$ certutil -d sql:$HOME/.pki/nssdb -D -n certificate_nickname

添加一个受信任的CA证书

chromiumfirefoxthunderbirdevolutionseamonkey使用NSS检索可信的CA证书。

nss已经集成p11-kit,它将使用system-wide自动安装所有证书。但如果你更喜欢分发 "纯净" NSS,可以将证书安装到你自己的浏览器配置文件中。

certutil -d database -A -i myCA.cert -n "Honest Achmed's CA" -t C, 。

chromiumevolution使用一个位于-d "sql:$HOME/.pki/nssdb"的 "共享式" 数据库。

对于firefoxthunderbirdseamonkey,要制定浏览器专用的配置文件目录(例如-d ~/.mozilla/firefox/ov6jazas.default)。

参见