Network Security Services
Network Security Services(NSS)是一组旨在支持跨平台开发具有安全功能的客户端和服务器应用程序的库。
使用NSS构建的应用程序可以支持SSL v2和v3、TLS、PKCS #5、PKCS #7、PKCS #11、PKCS #12、S/MIME、X.509 v3证书以及其他安全标准。
许多软件包都需要NSS,包括,例如,Chromium和Firefox。
安装[编辑 | 编辑源代码]
用法[编辑 | 编辑源代码]
使用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 documentation或Meena'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证书[编辑 | 编辑源代码]
chromium包、firefox包、thunderbird包、evolution包和seamonkey包使用NSS检索可信的CA证书。
nss包已经集成p11-kit包,它将使用system-wide自动安装所有证书。但如果你更喜欢分发 "纯净" NSS,可以将证书安装到你自己的浏览器配置文件中。
certutil -d database -A -i myCA.cert -n "Honest Achmed's CA" -t C, 。
chromium包和evolution包使用一个位于-d "sql:$HOME/.pki/nssdb"
的 "共享式" 数据库。
对于firefox包、thunderbird包和seamonkey包,要制定浏览器专用的配置文件目录(例如-d ~/.mozilla/firefox/ov6jazas.default
)。