管理密钥和证书
Qlik NPrinting 加密需要 PEM 格式的 X.509 证书文件。您可生成自签名的证书,或者通过证书颁发机构 (CA) 进行签名。单个证书同时涵盖 NewsStand 和 Qlik NPrinting web console,因为它们具有相同的域名。
生成自签名证书
自签名证书是一种身份证书,由拥有证书的实体签名。该实体使用其自己的私钥来认证其身份。使用自签名证书可让您自己签署自己的证书。
您可在以下情况下使用自签名证书:
- 您希望使用 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) 签署的证书时,您必须创建包含服务器证书、任何中间内容以及 CA 签署的证书的 PEM 文件证书捆绑。一旦您创建了证书捆绑,则将它结合您的私钥使用以设置代理。必须提供包含证书和匹配服务器私钥的文件。
进行以下操作:
- 您可通过为自己的域、服务器证书和任何中间内容串联 CA 签署的证书来创建证书捆绑。必须串联包括根证书的所有证书。
- 域证书
- 中间证书(一个或多个)
- 根证书
- NPrinting.crt 为域证书。
- NPrinting.public.crt 为将用于设置代理的证书捆绑。
- RSADomainValidationSecureServerCA.crt 和 RSAAddTrustCA.crt 为中间证书。
- AddTrustExternalCARoot.crt 为根证书。
-
使用 NPrinting.public.crt 作为证书文件和私钥来设置代理。
对于串联,确保应用以下顺序:
例如:
more < NPrinting.crt >> NPrinting.public.crt
more < RSADomainValidationSecureServerCA.crt >> NPrinting.public.crt
more < RSAAddTrustCA.crt >> NPrinting.public.crt
more < AddTrustExternalCARoot.crt >> NPrinting.public.crt
其中: