创建 SSL 证书
- 版本 :2023.1(当前版本)
创建 SSL 证书
本文介绍如何为 Power BI 视觉对象生成和安装安全套接字层 (SSL) 证书。
对于 Windows、macOS X 和 Linux 过程,必须安装 Power BI 视觉对象工具 pbiviz
包。 有关详细信息,请参阅设置用于开发 Power BI 视觉对象的环境。
在 Windows 上创建证书
若要在 Windows 8 或更高版本上使用 PowerShell cmdlet New-SelfSignedCertificate
生成证书,请运行以下命令:
PowerShell复制
pbiviz --install-cert
对于 Windows 7,pbiviz
工具要求可从命令行获取 OpenSSL 实用工具。 若要安装 OpenSSL,请转到 OpenSSL 或 OpenSSL 二进制文件。
在 macOS X 上创建证书
通常,可以在 macOS X 操作系统中使用 OpenSSL 实用工具。
还可以通过运行以下命令之一来安装 OpenSSL 实用工具:
在 Brew 包管理器中:
cmd复制
brew install openssl
brew link openssl --force使用 MacPorts:
cmd复制
sudo port install openssl
安装 OpenSSL 实用工具后,请运行以下命令以生成新证书:
cmd复制
pbiviz --install-cert
在 Linux 上创建证书
通常,可以在 Linux 操作系统中使用 OpenSSL 实用工具。
在开始之前,请运行以下命令,确保已安装 openssl
和 certutil
:
sh复制
which opensslwhich certutil
如果未安装 openssl
和 certutil
,请安装 openssl
和 libnss3
实用工具。
创建 SSL 配置文件
创建名为 /tmp/openssl.cnf 的文件,其中包含以下文本:
复制
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[ alt_names ]
DNS.1=localhost
生成根证书颁发机构
若要生成根证书颁发机构 (CA) 以对本地证书进行签名,请运行以下命令:
sh复制
touch $HOME/.rnd
openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout /tmp/local-root-ca.key -out /tmp/local-root-ca.pem -subj "/C=US/CN=Local Root CA/O=Local Root CA"openssl x509 -outform pem -in /tmp/local-root-ca.pem -out /tmp/local-root-ca.crt
生成 localhost 的证书
若要使用生成的 CA 和 openssl.cnf 生成 localhost
的证书,请运行以下命令:
sh复制
PBIVIZ=`which pbiviz`
PBIVIZ=`dirname $PBIVIZ`
PBIVIZ="$PBIVIZ/../lib/node_modules/powerbi-visuals-tools/certs"# Make sure that $PBIVIZ contains the correct certificate directory path. ls $PBIVIZ should list 'blank' file.openssl req -new -nodes -newkey rsa:2048 -keyout $PBIVIZ/PowerBIVisualTest_private.key -out $PBIVIZ/PowerBIVisualTest.csr -subj "/C=US/O=PowerBI Visuals/CN=localhost"openssl x509 -req -sha256 -days 1024 -in $PBIVIZ/PowerBIVisualTest.csr -CA /tmp/local-root-ca.pem -CAkey /tmp/local-root-ca.key -CAcreateserial -extfile /tmp/openssl.cnf -out $PBIVIZ/PowerBIVisualTest_public.crt
添加根证书
若要将根证书添加到 Chrome 浏览器的数据库,请运行:
sh复制
certutil -A -n "Local Root CA" -t "CT,C,C" -i /tmp/local-root-ca.pem -d sql:$HOME/.pki/nssdb
若要将根证书添加到 Mozilla Firefox 浏览器的数据库,请运行:
sh复制
for certDB in $(find $HOME/.mozilla* -name "cert*.db")docertDir=$(dirname ${certDB});
certutil -A -n "Local Root CA" -t "CT,C,C" -i /tmp/local-root-ca.pem -d sql:${certDir}done
若要添加系统范围的根证书,请运行:
sh复制
sudo cp /tmp/local-root-ca.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates
删除根证书
若要删除根证书,请运行:
sh复制
sudo rm /usr/local/share/ca-certificates/local-root-ca.pem
sudo update-ca-certificates --fresh
手动生成证书
还可以使用 OpenSSL 手动生成 SSL 证书。 可以指定任何工具以生成证书。
如果已安装 OpenSSL 实用工具,请运行以下命令生成新证书:
cmd复制
openssl req -x509 -newkey rsa:4096 -keyout PowerBIVisualTest_private.key -out PowerBIVisualTest_public.crt -days 365
通常可以通过运行以下命令之一来查找 PowerBI-visuals-tools
Web 服务器证书:
工具的全局实例:
cmd复制
%appdata%\npm\node_modules\PowerBI-visuals-tools\certs
工具的本地实例:
cmd复制
\node_modules\PowerBI-visuals-tools\certs
PEM 格式
如果使用隐私增强邮件 (PEM) 证书格式,请将证书文件另存为 PowerBIVisualTest_public.crt,并将私钥另存为 PowerBIVisualTest_private.key。
PFX 格式
如果使用个人信息交换 (PFX) 证书格式,请将证书文件另存为 PowerBIVisualTest_public.pfx。
如果 PFX 证书文件需要密码,请执行以下操作:
在配置文件中,指定:
cmd复制
\PowerBI-visuals-tools\config.json
在
server
部分,通过替换cmd复制
"server":{
"root":"webRoot",
"assetsRoute":"/assets",
"privateKey":"certs/PowerBIVisualTest_private.key",
"certificate":"certs/PowerBIVisualTest_public.crt",
"pfx":"certs/PowerBIVisualTest_public.pfx",
"port":"8080",
"passphrase":""
}