本节介绍了信任锚的证书管理集成。
安装信任锚签名证书
NSX Advanced Load Balancer 支持自动完成请求并安装由信任锚签名的证书的过程。该功能处理初始证书注册,并根据证书过期日期续订证书。
为了实现该目的,将使用Certificate Management Profile对象。可以导航到 以创建该对象。Certificate Management对象提供了一种方法以配置证书脚本路径,并提供该脚本与客户内部网络中的证书管理服务集成所需的一组参数(CSR、公用名称等)。脚本本身在设计上是不透明的,以适应不同客户的各种证书管理服务。
作为 SSL 证书配置的一部分,您可以在 NSX Advanced Load Balancer 中选择 CSR,填写证书的必填字段,并选择该证书绑定到的证书管理配置文件。然后,控制器使用 CSR 和脚本以获取证书,并在证书过期时续订证书。作为续订过程的一部分,将生成新的公钥-私钥对,并从证书管理服务中获取与该密钥对对应的证书。
如果没有该自动化功能,必须由 NSX Advanced Load Balancer 用户执行将 CSR 发送到外部信任锚并安装签名证书和密钥的过程。
该功能支持 Python 脚本。还支持 SafeNet HSM 的自动化 CSR 工作流。
配置证书管理集成
以下是配置证书管理集成的步骤:
准备一个定义
certificate_request()
方法的 Python 脚本。该方法必须接受以下输入以作为字典:CSR。
公用名称字段的主机名。
证书管理配置文件中定义的参数。
创建调用脚本的证书管理配置文件。
准备脚本
脚本必须使用 def certificate_request 命令,如以下示例中所示:
def certificate_request(csr, common_name, args_dict): """ Check if a token exists that can be used: If not, authenticate against the service with the provided credentials. Invoke the certificate request and get back a valid certificate. Inputs: @csr : Certificate signing request string. This is a multi-line string output like what you get from openssl. @common_name: Common name of the subject. @args_dict: Dictionary of the key value pairs from the certificate management profile. "
要传递给脚本的特定参数值是在证书管理配置文件中指定的。
隐藏敏感参数
对于敏感的参数(例如密码),可以隐藏这些值。将参数标记为敏感可以防止在 Web 界面中显示该参数的值,或者防止 API 传递该参数的值。
在 CSR 创建期间分配动态参数值
可以在配置文件或单个 CSR 中分配证书管理参数值。
如果在配置文件中分配参数值,该值将应用于使用配置文件生成的所有 CSR。
要动态分配参数值,请在证书管理配置文件中指示该参数是动态的。这会将该参数的值保持未分配状态。在使用配置文件创建单个 CSR 时,将分配动态参数的值。该参数值仅应用于创建的 CSR。
创建证书管理配置文件
以下是创建证书管理配置文件的步骤:
导航到创建。
,然后单击指定配置文件的名称。
从下拉菜单中选择证书管理配置文件的控制脚本。
如果配置文件必须将一些参数值传递给脚本,请选中启用自定义参数复选框,然后指定参数名称和值。
对于敏感的参数(例如密码),请选中敏感复选框。
将参数标记为敏感可以防止在 Web 界面中显示该参数的值,也可以防止 API 传递该参数的值。对于要在 CSR 创建期间动态分配的参数,请选中动态复选框。这会在配置文件中将该参数保持未分配状态。
单击保存。
使用证书管理配置文件生成签名证书
在添加脚本并创建证书管理配置文件后,可以使用配置文件轻松获取并安装信任锚签名证书,如下所示:
导航到创建。
,然后单击从创建下拉菜单中选择应用程序证书选项。
指定名称,然后在类型下拉菜单中选择 CSR 选项。
从证书管理配置文件下拉菜单中选择上一节中配置的证书管理配置文件。
单击保存。
控制器生成公钥-私钥对和 CSR。它执行脚本以从 PKI 服务中请求信任锚签名证书,并将签名证书保存在持久性存储中。