管理密钥和证书
Qlik NPrinting 加密需要 PEM 格式的 X.509 证书文件。您可生成自签名的证书,或者通过证书颁发机构 (CA) 进行签名。单个证书同时涵盖 NewsStand 和 Qlik NPrinting web 控制台,因为它们具有相同的域名。
限制
-
使用兼容 CNG 的算法生成的证书和 On-Demand 插件不兼容。
生成 PEM 格式的公开和私密 RSA 密钥对
进行以下操作:
-
打开 Windows 命令行提示。
-
移动至 OpenSSL 二进制文件夹。默认命令为: cd C:\OpenSSL-Win64\bin
如有必要,您可以自定义文件夹。将在该文件夹中创建文件,然后您将把它们移动到最终文件夹中。
-
运行命令: openssl genrsa -out NPrinting.key 4096.
genrsa 是生产 RSA 私钥的选项。4096 是生成的私钥的大小(以位为单位)。
-
如果要只导出 PEM 格式公开证书,请运行命令: openssl rsa -in NPrinting.key -outform PEM -pubout -out NPrintingPublic.pem.
pubout 是从 RSA 私钥提取公钥的 OpenSSL 选项。
警告注释证书密钥不得受密码保护。警告注释不应向任何人披露私钥,也不应将其发送给证书颁发机构。将其备份并存放在安全位置。您可根据需要散布公钥文件。 -
在共享您的公钥文件之前,我们建议您目视检查它,确保发送的文件无误。
-
在文本编辑器中打开文件 NPrinting.key。NPrinting.key 是您的私钥,以 -----BEGIN RSA PRIVATE KEY----- 开头。保密。
-
在文本编辑器中打开文件 NPrintingPublic.pem。NPrintingPublic.pem 是您的公钥,以 -----BEGIN PUBLIC KEY----- 开头。您可共享该文件。
-
私钥安全
Qlik NPrinting 全天候操作。这表明私钥必须存储在未加密的文件系统上。用密码来保护私钥不可行,因为每次服务重启时管理员都必须输入密码。您可通过仅将访问权限赋予管理员来保护私钥文件。私钥文件都仅用于 TLS,永远不会脱离服务器。
生成自签名证书
自签名证书是一种身份证书,由拥有证书的实体签名。该实体使用其自己的私钥来认证其身份。使用自签名证书可让您自己签署自己的证书。
您可在以下情况下使用自签名证书:
- 您希望使用 HTTPS(HTTP上的TLS)来保护自己的 Web 服务器。
- 您不需要由证书颁发机构 (CA) 签署您的证书。
例如,如果您的 Web 服务器仅在您的局域网内使用,则您可使用自签名证书。
进行以下操作:
- 打开 Windows 命令提示符。
- 移动至 OpenSSL 二进制文件夹。默认命令为 cd C:\OpenSSL-Win64\bin。将在该文件夹中创建文件,然后您将把它们移动到最终文件夹中。
- 要创建自签名证书,请运行以下命令:
openssl req -newkey rsa:4096 -nodes -keyout NPrinting.key -x509 -days 365 -out NPrinting.crt其中:
- req 是 PKCS#10 证书请求并且生成实用程序。
- -x509 选项指示 req 创建自签名证书。
- -days 365 选项指定证书的有效时间为 365 天。
要跳过交互性问题,可使用 -subj,后接您的在引号中的域信息。
例如:
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com"。
您可散布公钥文件。
从证书颁发机构购买证书
如果在您的 Web 服务器可经由 Web 浏览器公开访问的情况下,您需要避免安全警告,则您的证书必须由证书颁发机构 (CA) 签名。有许多证书颁发机构。您所选择 CA 将有其自身要遵照的特定说明。有关生成和实施 CA 签名的证书的一些步骤对于所有证书颁发机构是通用的。以下各部分概述了这些通用步骤。
生成证书签名请求
要获得 CA 签名的证书,则必须生成证书签署请求 (CSR)。CSR 包含您的公钥以及其他额外信息。该信息将包括在已签名的证书中。CSR 永远不包含私钥。
进行以下操作:
-
为了生成 CSR,私钥运行以下命令:
openssl req -new -newkey rsa:4096 -nodes -keyout NPrinting.key -out NPrinting.csr
-
将提示您回答交互性问题。
要跳过交互性问题,可使用 -subj,后接您的在引号中的域信息。例如:
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com"。
对于创建 CSR 所需的任何自定义程序,请参阅证书颁发机构的说明。
通用名称字段
通用名称 (CN) 字段中的名称必须为将使用证书的完全限定的域名 (FQDN)。
例如:
- 如果您的 NewsStand 的 URL 为 https://yourcompany.com:4994,则 FQND 为 yourcompany.com(端口不属于 FQND 的一部分)。
- URL https://www.yourcompany.com:4994 被视为不同于 https://yourcompany.com:4994。如果您希望 URL 地址成为有效的主机名,则必须生成两个证书,一个包含 FQDN www.yourcompany.com,一个包含 FQDN yourcompany.com。
将已签署的证书和服务器证书合并
在使用证书颁发机构 (CA) 签署的证书时,您必须创建包含以下项的 PEM 文件证书捆绑:
-
服务器证书
-
任何中间产物
-
CA 签名的证书
对于串联,确保应用以下顺序:
- 域证书
- 中间证书(一个或多个)
- 根证书
一旦您创建了证书捆绑,则将它结合您的私钥使用以设置代理。必须提供包含证书和匹配服务器私钥的文件。
进行以下操作:
在本例中,域的证书是 NPrinting.crt。
-
打开 Windows 命令行并输入以下内容:
- NPrinting.crt 为域证书。
- NPrinting.public.pem 为将用于设置代理的证书捆绑。
- RSADomainValidationSecureServerCA.crt 和 RSAAddTrustCA.crt 为中间证书。
- AddTrustExternalCARoot.crt 是根证书。
-
使用 NPrinting.public.pem 作为证书文件和私钥来设置代理。
more NPrinting.crt >> NPrinting.public.pem
more RSADomainValidationSecureServerCA.crt >> NPrinting.public.pem
more RSAAddTrustCA.crt >> NPrinting.public.pem
more AddTrustExternalCARoot.crt >> NPrinting.public.pem
其中: