Strategy ONE
证书存储集成 MicroStrategy Library
证书存储主要作为通过 REST API 公开的数据源。该数据源提供在工作站窗口的证书部分显示的数据。
集成 MicroStrategy Library
将证书存储与 MicroStrategy Library,您可以在安装时选择证书存储 Library。这将确保证书存储 REST API 看起来是整个 MicroStrategy REST API 套件。
因此,虽然看起来证书存储 REST API(/api/serviceCertificates)与其他 API 一样,都是通过同一个 Web 端点提供服务的,实际上向 /api/serviceCertificates 端点实际上被重定向到证书存储服务器。此重定向由在 Library web.xml 文件。
该 servlet 由安装程序配置,并获取与 url-pattern 属性匹配的所有 URL,然后将其重定向到 目标Uri 财产。如果您要更改这些设置以添加或删除 SSL 支持,则必须更新 目标Uri 属性,以便指定“http”或“https”。
如果使用自签名证书,则必须将 trustAllCertificates 和 disableHostnameVerification 属性设置为 真的。如果用户从自签名证书切换到 CA 分配的证书,他们应该将两个证书都设置为 错误的 获得 CA 指定证书的好处。
<servlet>
<servlet-name>CertificateManagerService</servlet-name>
<servlet-class>org.mitre.dsmiley.httpproxy.ProxyServlet</servlet-class>
<init-param>
<param-name>targetUri</param-name>
<param-value>http://localhost:5050/api/serviceCertificates</param-value>
</init-param>
<init-param>
<param-name>log</param-name>
<param-value>true</param-value>
</init-param>
<!-- SSL SUPPORT START - The following group of parameters are only relevant when the targetUri above uses the "https" protocol. -->
<init-param>
<param-name>truststorePath</param-name>
<param-value>{PATH_TO_TRUSTSTORE}</param-value>
</init-param>
<init-param>
<param-name>truststoreType</param-name>
<param-value>PKCS12</param-value>
</init-param>
<init-param>
<param-name>truststorePassword</param-name>
<param-value>{TRUSTSTORE_PASSWORD_OR_BLANK_IF_NONE}</param-value>
</init-param>
<init-param>
<param-name>keyPassword</param-name>
<param-value>{KEY_PASSWORD_OR_BLANK_IF_NONE}</param-value>
</init-param>
<!-- DEVELOPMENT - START - The following parameters are for development/debugging use only and should not be set to TRUE in production systems. -->
<init-param>
<param-name>trustAllCertificates</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>disableHostnameVerification</param-name>
<param-value>false</param-value>
</init-param>
<!-- DEVELOPMENT END -->
<!-- SSL SUPPORT END -->
</servlet>
<servlet-mapping>
<servlet-name>CertificateManagerService</servlet-name>
<url-pattern>/api/serviceCertificates/*</url-pattern>
</servlet-mapping>
其中:
- 信任库路径 用于加载由以下程序处理的信任库: ServletContext.getResourceAsStream()。
此方法的路径规则可以在 Oracle 文档。路径必须以斜杠开头 (/)并被解释为相对于当前上下文根或相对于 /META-INF/资源 Web 应用程序 / 中的 JAR 文件目录WEB-INF/lib 目录。路径分隔符是斜线 (/) 在 Unix 和 Windows 上均可使用。
- 信任库类型 接受各种密钥库/信任库类型,有关完整列表,请参阅 Java SE 文档。 MicroStrategy 支持JKS和PKCS12。
证书存储配置属性
可以通过编辑 应用程序.属性 文件。所有参数均区分大小写,必须正确输入才能使更改生效。
这 应用程序.属性 可以在以下位置找到:
- Windows:<INSTALL_PATH>\MicroStrategy\证书管理器
- Linux:<INSTALL_PATH>/证书管理器
该文件包含以下属性:
属性 | 详细信息 | 备注 |
---|---|---|
服务器地址 |
证书存储将使用 IP 地址监听传入的 REST API 请求。默认情况下,将其设置为 127.0.0.1,以限制对同一台机器上的进程的访问。 要监听所有 IP 地址,请指定 0.0.0.0 作为地址。 |
如果你修改了这三个设置中的任何一个,一定要对 目标Uri 上面描述的代理 servlet 的属性。
|
服务器端口 |
证书存储将使用 IP 端口监听传入的 REST API 请求。 |
|
服务器.servlet.上下文路径 |
证书存储端点的路径。 |
|
服务器.ssl.key 存储 |
PKCS12 或 PFX 密钥库文件的路径, 例如 类路径:/opt/mstr/MicroStrategy/安装/ 你的证书.crt |
仅当证书存储的 REST API 通过 HTTPS 运行时,这些设置才相关。
|
服务器.ssl.key-store-密码 |
密钥库文件的密码 |
|
服务器.ssl.key 密码 |
密钥库中包含的密钥的密码 |
|
服务器.ssl.keyStoreType |
密钥库的类型,默认为 PKCS12 |
|
服务器.ssl.key 别名 |
密钥库中密钥的别名,当密钥库包含多个密钥时使用 |
|
最大证书检索时间(秒) |
允许从定义的服务中检索所有证书的最长时间。默认值为 30 秒,这对于 11.1 中定义的服务来说应该足够了。 |
|
consul.主机 |
Consul 代理的 IP 地址 |
这些设置控制联系哪个 Consul 代理来获取定义的服务列表,以及联系代理来刷新该列表的频率。默认设置对于大多数安装来说已经足够了,用户不需要更改它们。 |
港口领事馆 |
Consul 代理的 IP 端口 |
|
consul.initialDelay.毫秒 |
首次连接到 Consul 之前的延迟(以毫秒为单位) |
|
consul.fixedRate.毫秒 |
每次连接到 Cosul 的间隔(以毫秒为单位) |
|
wss.服务器.主机 |
Socket.io IP 地址 |
这两个设置控制 Socket.io GUI 可以连接到的端点,以接收有关现有服务及其证书状态的异步更新。请注意,防火墙必须允许 WebSocket 访问此端点(类似于 Socket.io Collaboration Server 中的连接) |
wss.服务器端口 |
Socket.io IP 端口 |
|
spring.mail.host |
邮件服务器 IP 地址 |
这些设置配置证书存储如何与电子邮件主机进行通信。默认使用 SMTP,但用户必须提供 IP 地址等。默认情况下,安装程序不配置此功能,必须由用户手动启用。 |
spring.mail.port |
邮件服务器IP端口 |
|
弹簧邮件协议 |
邮件服务器协议 (SMTP) |
|
spring.mail.properties.mail.smtp.连接超时 |
连接邮件主机超时 |
|
spring.mail.properties.mail.smtp.超时 |
|
|
spring.mail.properties.mail.smtp.writetimeout |
向邮件主机发送数据超时 |
|
spring.mail.默认编码 |
用于向邮件主机发送数据的编码 |
|
到期通知天数 |
|
证书存储区定期扫描找到的证书,查找已过期或将在下一个 {到期通知天数} 天。 这些设置控制此证书扫描过程并定义哪个电子邮件地址将接收通知。 可以用逗号分隔的列表指定多个电子邮件地址,例如 expiry.notification.email=user1@domain.net,user2@domain.net 如果 expiry.notification.email 为空,则不会发送任何通知。 必须指定 expiry.notification.email.from 才能成功发送电子邮件。 |
expiration.check.initialDelay.毫秒 |
扫描证书以查找过期证书之前的延迟(以毫秒为单位)。 |
|
到期.检查.固定速率.毫秒 |
每次扫描过期/即将过期证书之间的间隔。 |
|
到期通知电子邮件 |
|
|
到期通知电子邮件来自 |
|
|
配置文件名称 |
用于在应用程序内选择配置文件的 Spring 框架设置。 |
配置文件将不同的配置属性收集到一个文件中,以便它们可以一起应用。不建议将配置文件更改为 产品。 |
集群环境中的注意事项
证书存储进程通常在 localhost:5050 上监听 REST API 请求。服务器绑定到环回接口,以便只有同一台机器上的进程才可以发出 API 请求。
在集群环境中,每个节点上都有一个证书存储进程。由于证书存储区根据在 Consul 注册的服务构建其数据,并且 Consul 包含所有节点的条目,因此证书存储区将包含集群中所有服务的条目,而不是当前节点上的服务的条目。但是,由于某些服务绑定到环回地址,因此某些证书将无法从集群中的其他节点检索。
其他 Library 注意事项
如果你的 Library 安装没有证书存储,代理 servlet 仍可以配置,但是 目标Uri 将不会指向有效的端点。具有此配置的用户将收到 502 Bad Gateway 错误(或其他 5xx 级别 HTTP 错误)。要解决这些错误,您可以安装证书存储或从 Library web.xml 文件。