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 文件。