使用 ACF 1.9 生成 SSL 证书
您需要为远程人员创建证书。您可能会为您的 VPN 服务使用类似 OpenVPN 或 Racoon 的工具。
但是,如果有一种方法可以...
- 创建和管理证书
- 查看您已颁发给所有人的所有证书
- 吊销证书
- 在颁发证书之前审查证书
- 等等。
Alpine 通过 ACF 提供了一个友好的 Web 界面,可用于此类工作...
安装过程
这将大致指导您完成创建此类服务器的过程。
建议不要在您的 VPN 网关上托管此服务,而是使用另一台机器来生成您的证书。
准备硬件并安装 Alpine
首先设置一个盒子,用作您的 OpenVPN 服务器。
请阅读 'Installing_Alpine' 以获取关于如何执行此操作的说明。
安装和配置 ACF
安装 Alpine Linux 的 Web 前端,称为 ACF。系统将提示您为 ACF root 用户创建密码。
/sbin/setup-acf
安装 acf-openssl (ACF for openssl)
apk add acf-openssl
现在您应该可以使用另一台计算机上的 Web 浏览器开始浏览您的 OpenVPN 服务器。
注意: 假设您已配置此 OpenVPN 服务器并将其连接到网络。
配置
首先在您的浏览器中输入 https://{ipaddr}/ 并登录以浏览您的 OpenVPN 服务器。用户名为 'root',密码为您在上面输入的密码。
证书颁发机构
点击菜单上的 'Certificate Authority'(证书颁发机构)。
它应该会为您提供一个包含 'System info'(系统信息)和大量红色错误消息的页面。
点击页面底部的 [Configure](配置)按钮以生成一些初始配置。
转到 {Edit Defaults}(编辑默认值)选项卡,然后输入您想要设为默认值的值(此信息在您创建新的证书请求时出现)。
点击 [Save](保存)保存您的设置。
使用 ACF 生成证书
创建 ca.crt
首先我们需要创建 CA 证书(这是创建其他证书时使用的证书)。
现在转到 {Status}(状态)选项卡。
点击 [Generate](生成)按钮以生成您的 CA 证书。
将显示 CA 证书信息。
注意: 此操作只能执行一次。将来,{Status}(状态)页面将显示 CA 信息。
[Generate](生成)按钮将不再存在。
请求表单
{Request}(请求)表单用于创建新的证书请求。
在字段中填写您的值,然后点击 [Submit](提交)完成您的请求。
提供的字段(基于默认的 cnf 文件)
- 国家名称(两位字母缩写)
- 地区名称(例如,城市)
- 组织名称
- 通用名称(例如,证书 CN) <<< 此名称对于此证书应该是唯一的
- 电子邮件地址
- 多个组织单元名称(例如,部门)
- 证书类型
- x509 扩展
注意: x509 扩展框的格式应与您直接在 openssl.cnf 中填写一个部分时的格式相同。
部分将是[v3_req]
x509 扩展 示例
[ v3_req ] subjectAltName ="IP:192.168.1.1, DNS:*.alpinelinux.org, DNS:redmine.alpinelinux.com"
查看
{View}(查看)选项卡使您可以
- 查看/批准/删除 待处理的证书请求
- 查看/下载/续订/吊销/删除 已批准的证书
- 查看/删除 已吊销的证书
- 下载已吊销证书列表
待处理证书
对于待处理的请求,请确保在批准之前审查证书。
一旦您验证所有信息都是正确的,没有错别字或拼写错误,请批准请求。
下载 .pfx
对于每个已批准的证书,您可以下载一个包含该证书的 .pfx 文件。
使用此 .pfx 文件,您可以提取您需要的证书。
专家
通过 {Expert}(专家)选项卡,您将能够编辑 '/etc/ssl/openssl-ca-acf.cnf' 配置文件。
如果您想将您的证书保存在 USB 存储器(或其他位置),您应该在此处进行此类更改。
可以添加诸如 subjectAltName 之类的条目,以供您生成的证书使用。
3.subjectAltName = Assigned IP Address 3.subjectAltName_default = 192.168.1.1/32
开始使用 PFX 证书
提取 PFX 证书
以下示例通过在控制台(而不是在 ACF 中)输入命令来执行。
从 .pfx 文件中提取 'CA CERT'(CA 证书)
openssl pkcs12 -in PFXFILE -cacerts -nokeys -out cacert.pem
提取 'Private Key'(私钥)
openssl pkcs12 -in PFXFILE -nocerts -nodes -out mykey.pem
提取 'Certificate'(证书)
openssl pkcs12 -in PFXFILE -nokeys -clcerts -out mycert.pem
查看 PFX 证书信息
以可读/文本格式显示证书或密钥
openssl x509 -in mycert.pem -noout -text
使用 OpenSSL 命令行创建 CA
以下命令将需要密码。请务必记住此密码。
openssl genrsa -des3 -out server.key 2048 openssl req -new -key server.key -out server.csr openssl rsa -in server.key. -out server.pem openssl x509 -req -days 365 -in server.csr -signkey server.pem -out cacert.pem mv server.pem /etc/ssl/private mv cacert.pem /etc/ssl/