将安装有 SQL Server 数据库的 Windchill 配置为使用基于 SSL 的 JDBC
|
注意:本主题中将 Windchill 服务器主机称为“客户端”,而将运行 SQL Server 的 SQL Server 数据库主机称为“服务器”。在数据库交互的上下文中,Windchill 服务器用作数据库服务器的客户端。
|
使用 Microsoft JDBC Driver for Oracle Database Server 配置 Microsoft SQL Server 2016 数据库服务器以实现与其客户端 (Windchill 服务器) 之间的加密通信的高级步骤如下所示:
1. 使用 IIS 管理器创建自签名证书
2. 使用 SQL Server Configuration Manager 配置 SQL Server 2016
3. 导出证书
4. 将证书导入 Windchill 服务器
5. 将 Windchill 配置为使用基于 SSL 的 JDBC
后续部分将介绍每个步骤的具体过程。
Windchill 11.1 F000 版本及更高版本支持此功能。有关面向 Microsoft SQL Server 2016 的 SSL 支持的详细信息,请参阅
https://docs.microsoft.com/en-us/sql/connect/jdbc/understanding-ssl-support。
创建自签名证书
要使用 IIS 管理器创建自签名证书,请执行以下步骤。此证书可用作 SSL 加密证书。
1. 打开 IIS 管理器。
2. 在 Connections 视图中,单击实例名称。在此示例中,实例名称为 CAPRICORN。
3. 在功能视图中,双击 Server Certificates。
4. 在 Actions 窗格中,单击 Create Self-Signed Certificate。
5. 在 Create Self-Signed Certificate 页面的 Specify a friendly name for the certificate 框中,为证书键入一个名称,然后单击 OK。
新的自签名证书将显示在 Server Certificates 视图中。
使用 SQL Server Configuration Manager 配置 SQL Server 2016
请执行以下步骤来配置 SQL Server 2016:
1. 打开 SQL Server Configuration Manager,此实用程序随 SQL Server 2016 安装一起提供。
2. 导航至 SQL Server Network Configuration,然后单击 Protocols for <YOUR_INSTANCE_NAME>。请确保启用了 TCP/IP。
3. 右键单击 "Protocols for <YOUR_INSTANCE_NAME>",然后单击 Properties。
4. 在 Flags 选项卡上,将 Force Encryption 的值设置为 Yes。
如果将 SQL Server 实例配置为强制进行 SSL 加密,则在 Java 虚拟机上运行时,驱动程序会自动启用 SSL 加密。否则,连接将终止,且驱动程序会引发错误。SQL Server 上始终仅有一个端口用来提供通信服务。
5. 在 Certificate 选项卡上,从下拉列表中选择所需的证书,然后单击 OK。
6. 重新启动 SQL Server 服务。
要验证是否正确加载了证书,请查看位于正在运行的 SQL Server 实例日志目录中的错误日志文件。
对于日志目录位置,执行以下步骤:
1. 在正在运行 SQL Server 2016 的主机上启动 SQL Server Configuration Manager。
2. 单击 SQL Server Services。
3. 在右侧窗格中,右键单击 SQL Server <your_instance_name>,然后选择 Properties。
4. 在 SQL Server Properties 对话框的 Advanced 选项卡上,验证 Startup Parameters 值是否显示 ERRORLOG 文件路径。
导出 SQL Server 系统上的自签名证书
要导出证书,请执行以下步骤:
1. 在 Start 菜单中,单击 Run,
2. 在 Open 框中,键入 MMC,然后单击 OK。
3. 在 MMC 控制台的 File 菜单中,单击 Add/Remove Snap-in。
4. 在 Add/Remove Snap-in 对话框中,单击 Add。
5. 在 Add Standalone Snap-in 对话框中,单击 Certificates,然后单击 Add。
6. 在 Certificates snap-in 对话框中,单击 Computer account,然后单击 Finish。
7. 在 Add Standalone Snap-in 对话框中,单击Close。
8. 在 Add/Remove Snap-in 对话框中,单击 OK。
9. 在左侧窗格的 Certificates 管理单元中,导航至 > 。将显示使用 IIS 创建的证书。
10. 右键单击该证书,转至 > 并导出不带私钥的证书,然后单击 Next。
11. 选择相应的格式类型后,单击 Next。
12. 指定要将该证书导出到的文件名,然后单击 Next。
13. 查看设置,然后单击 Finish。随即显示 Export was successful 对话框。
在数据库客户端 (Windchill 服务器) 中导入自签名证书
要使用 Java 中的 keytool 实用程序将自签名证书导入到 Java 密钥库,请执行以下步骤:
1. 浏览至客户端计算机上的导出文件,并将其保存到本地磁盘。请确保该位置具有读取权限。
2. 在客户端计算机上,打开命令提示符,然后导航至 {wt.jdk}/jre/lib/security。wt.jdk 值在位于 WT_HOME/codebase 的 wt.properties 文件中提供。
3. 运行以下命令以导入源密钥库:keytool -importcert -file d:\Users\jsmith\Documents\02PTC\Certs\SelfSignedCertFromIISForDemo.pfx.cer -keystore cacerts -alias "SELF-SIGNED-IIS-DEMO-CERT"
其中,
• SelfSignedCertFromIISForDemo.pfx.cer:指定从 SQL Server 导出的证书文件。
• cacerts:指定位于 {wt.jdk}/jre/lib/security 的默认密钥库的文件路径。
• alias:指定别名。此字段是可选的。要从密钥库中删除证书,需提供别名。
完成此过程后,客户端计算机便准备好服务器导出的证书及其密钥库。
配置 Windchill 以使用基于 SSL 的 JDBC
执行以下步骤,以将 Windchill 服务器配置为基于 SSL 的 JDBC 与 SQL Server 配合使用。
1. 打开位于 WT_HOME/db 的 db.properties 文件。
2. 按如下方式配置以下特性:
wt.pom.dbConnectionPropertiesNameList=encrypt,javax.net.ssl.trustStore,
wt.pom.dbConnectionPropertiesValueList=true,{wt.jdk}/jre/lib/security \\cacerts
3. 重新启动 Windchill。
此配置可使用基于 SSL 的 JDBC 启用 Windchill 与 SQL Server 数据库之间的通信。
有关配置客户端连接的详细信息,请参阅下列 Microsoft 文档: