我想用我已经拥有的签名(通配符)证书和私钥替换用于 UniFi 网络应用程序/服务器 v6.5(在 Ubuntu 18 Linux 上)的 Web 界面的自签名 Unifi 证书。
我应该把私钥放在哪里,证书放在哪里,以及如何配置 UniFi 网络应用程序/控制器以使用此证书?
我找到了一些信息,但它们都不适合我,或者看起来太复杂了。
答案1
转到 UniFi 基本文件夹
cd /usr/lib/unifi
将您的私钥文件和 pem 文件(单个文件,包括证书、中间 ca 证书和到根的链(如果需要))复制到/usr/lib/unifi/
如果需要,请将您的私钥从 PKCS#8 转换为 PKCS#1(当您收到类似以下错误消息时java.lang.IllegalStateException:private.key 包含不是密钥对的工件:org.bouncycastle.asn1.pkcs.PrivateKeyInfo)
# OpenSSL 2:
openssl rsa -in private.key -out transformed-private.key
# OpenSSL 3:
openssl pkey -in private.key -traditional -out transformed-private.key
停止 UniFi 网络应用程序
service unifi stop
将证书和密钥导入密钥库
java -jar lib/ace.jar import_key_cert transformed-private.key certificate.pem
您可以选择添加 CA 证书作为附加的最后一个参数(如果它尚未包含在 certificate.pem 中)
启动 UniFi 网络应用程序
service unifi start
清理并删除您的证书和私钥文件。
就是这样。
答案2
这正是我所寻找的。
此外,如果你使用的是内部 CA(就像我一样),你还需要将 CA 证书上传到服务器并在最后指定它 -
sudo java -jar lib/ace.jar import_key_cert transformed-private.key certificate.pem ca-certificate.pem
答案3
此过程适用于 Windows 客户端
您需要两个文件(均为 PEM 格式);
unifi-core.crt
证书unifi-core.key
你的私钥
连接并检查现有文件
从 cmd.exe
ssh 10.15.15.1 -l root
cd /mnt/data/unifi-os/unifi-core/config/
ls -lh
- 上传新的证书和私钥
来自(另一个)cmd.exe
scp unifi-core.crt [email protected]:/mnt/data/unifi-os/unifi-core/config/unifi-core.crt
scp unifi-core.key [email protected]:/mnt/data/unifi-os/unifi-core/config/unifi-core.key
- 验证新文件并应用
从现有的 SSH 连接(步骤 2)
ls -lh
unifi-os restart