生成 SSL 证书

您需要为 Blue Prism Decision Model Service 提供 SSL 证书。根据您的基础设施和 IT 组织安全要求,该证书可以是内部创建的 SSL 证书,也可以是购买的证书。

Blue Prism Decision Model Service 需要客户端密钥和服务器密钥,以确保 Hub 中的 Decision 插件和 Decision Model Service 之间的通信安全无虞。

可使用自签名证书,但建议仅用于 POC\POV\Dev 环境。对于生产环境,请使用组织批准的证书颁发机构提供的证书。建议您联系 IT 安全团队,了解他们的要求。您需要确保您的证书颁发机构为您提供以下文件:

  • server.crt
  • server.key
  • ca.crt
  • client.crt

自签名证书

对于 POC\POV\Dev 环境,您可以使用以下流程创建证书。此流程需要安装 OpenSSL。这些说明适用于 Windows Server。如果您正在使用 Linux,请进行必要的调整。

  1. 如果您没有 OpenSSL,请安装 OpenSSL

    如果在 Windows 上运行 OpenSSL,则需要将安装 OpenSSL 的位置添加到路径环境变量。有关更多信息,请参阅安装故障排除

  2. 创建一个文件夹,您可以在其中运行脚本(在下一步中),以便在单个位置生成输出。
  3. 在您创建的文件夹中,根据主机操作系统,在脚本顶部的变量中输入指示的相应值:

    输入证书密码—替换为将用于创建证书的密码。

    输入客户端证书的 CN—替换为客户端证书的通用名称,例如 client.decision.blueprism.com。

    输入 CA—替换为证书颁发机构通用名称,例如,decisionCA。

    输入服务器证书的 CN—替换为服务器证书的通用名称。这必须与 Decision Model Service 完全限定域名 (FQDN) 匹配,例如,decision.blueprism.com。或者,如果Model Service 与 Hub 位于同一服务器,请使用例如 decision.local。

    在 Windows 中创建证书的脚本

    以管理员身份运行 PowerShell,并使用以下脚本:

    复制
    $cred = Get-Credential -UserName 'Enter certificate password' -Message 'Enter certificate password'
    $mypwd = $cred.GetNetworkCredential().password
    $clientCN = Read-Host "Enter CN for client certificate"
    $CA = Read-Host "Enter CA"
    $serverCN = Read-Host "Enter CN for server certificate"

    echo Generate CA key:
    openssl genrsa -passout pass:$mypwd -des3 -out ca.key 4096

    echo Generate CA certificate:
    $CASubject = "/CN=" + $CA
    openssl req -passin pass:$mypwd -new -x509 -days 365 -key ca.key -out ca.crt -subj $CASubject

    echo Generate server key:
    openssl genrsa -passout pass:$mypwd -des3 -out server.key 4096

    echo Generate server signing request:
    $serverSubject = "/CN=" + $serverCN
    openssl req -passin pass:$mypwd -new -key server.key -out server.csr -subj $serverSubject

    echo Self-sign server certificate:
    openssl x509 -req -passin pass:$mypwd -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

    echo Remove passphrase from server key:
    openssl rsa -passin pass:$mypwd -in server.key -out server.key

    echo Generate client key
    openssl genrsa -passout pass:$mypwd -des3 -out client.key 4096

    echo Generate client signing request:
    $clientSubject = "/CN=" + $clientCN
    openssl req -passin pass:$mypwd -new -key client.key -out client.csr -subj $clientSubject

    echo Self-sign client certificate:
    openssl x509 -passin pass:$mypwd -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

    echo Remove passphrase from client key:
    openssl rsa -passin pass:$mypwd -in client.key -out client.key

    echo Generate pfx from client key:
    openssl pkcs12 -export -password pass:$mypwd -out client.pfx -inkey client.key -in client.crt

    证书将在您创建的文件夹中生成。

    要观看 Decision 认证生成流程,请参阅 Blue Prism Decision Model Service 安装视频

    在 Linux 中创建证书的脚本

    运行以下 Bash 脚本:

    复制
    #!/bin/sh

    read -s -p 'Enter certificate password: ';
    CER_PWD=${REPLY};
    echo "";

    read -p 'Enter CN for client certificate: ';
    CLIENT_CN=${REPLY};
    #echo "";

    read -p 'Enter CA: ';
    CA=${REPLY};
    #echo "";

    read -p 'Enter CN for server certificate: ';
    SERVER_CN=${REPLY};
    #echo "";

    unset REPLY;

    echo Generate CA key:
    openssl genrsa -passout pass:$CER_PWD -des3 -out ca.key 4096

    echo Generate CA certificate:
    CA_SUBJECT="/CN=${CA}"
    openssl req -passin pass:$CER_PWD -new -x509 -days 365 -key ca.key -out ca.crt -subj $CA_SUBJECT

    echo Generate server key:
    openssl genrsa -passout pass:$CER_PWD -des3 -out server.key 4096

    echo Generate server signing request:
    SERVER_SUBJECT="/CN=${SERVER_CN}"
    openssl req -passin pass:$CER_PWD -new -key server.key -out server.csr -subj $SERVER_SUBJECT

    echo Self-sign server certificate:
    openssl x509 -req -passin pass:$CER_PWD -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

    echo Remove passphrase from server key:
    openssl rsa -passin pass:$CER_PWD -in server.key -out server.key

    echo Generate client key
    openssl genrsa -passout pass:$CER_PWD -des3 -out client.key 4096

    echo Generate client signing request:
    CLIENT_SUBJECT="/CN=${CLIENT_CN}"
    openssl req -passin pass:$CER_PWD -new -key client.key -out client.csr -subj $CLIENT_SUBJECT

    echo Self-sign client certificate:
    openssl x509 -passin pass:$CER_PWD -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

    echo Remove passphrase from client key:
    openssl rsa -passin pass:$CER_PWD -in client.key -out client.key

    echo Generate pfx from client key:
    openssl pkcs12 -export -password pass:$CER_PWD -out client.pfx -inkey client.key -in client.crt

    证书将在您创建的文件夹中生成。

    要观看 Decision 认证生成流程,请参阅 Blue Prism Decision Model Service 安装视频

  4. 如果您使用的是 Windows Server,请通过运行以下脚本,将证书添加为本地计算机上的可信证书:

    复制
    $scriptPath = (Get-Item .).FullName$crt = "$($scriptPath)\client.pfx"$mypwd = Get-Credential -UserName 'Enter password' -Message 'Enter password'Import-PfxCertificate -FilePath $crt -CertStoreLocation Cert:\LocalMachine\My -Password $mypwd.Password

    复制
    $scriptPath = (Get-Item .).FullName$crt = "$($scriptPath)\ca.crt"Import-Certificate -FilePath $crt -CertStoreLocation Cert:\LocalMachine\Root

如果您使用不同的计算机托管 Blue Prism Decision Model Service 和 Blue Prism Hub,您需要确保下列事项:

  • Decision Model Service 主机具有以下文件:
    • server.crt
    • server.key
    • ca.crt
  • 运行 Blue Prism Hub 的服务器具有以下文件:
    • client.crt
    • ca.crt