Network Security Services (简体中文) - ArchWiki

Jump to content

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包。

## 用法

使用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`）。

## 参见

- 网络安全服务 - Mozilla
- 使用证书数据库工具--Mozilla
- 管理NSS数据库中的证书信任标志 - Meena Vyas, Oracle

Categories:

- Transport Layer Security (简体中文)
- Mozilla (简体中文)