要创建签名证书
1. 生成一个与 SSL 协议公钥加密一起使用的新证书。该密钥对包括:
在证书中发布的公钥
只有 Windchill RV&S 代理 可访问的私钥
以下示例假定当前目录为 Windchill RV&S 代理 的根目录:
% <jdk_installdir>/bin/keytool -genkeypair -alias myname -storetype PKCS12
-keystore data/tls/certificate.p12 -keyalg RSA
其中:
-genkeypair 指定生成一个新的密钥对。
-alias 指定一个与密钥库中新密钥条目关联的名称。
* 
请务必写下或记住该别名,因为本流程之后的步骤中还会需要您再次指定这个别名。
-storetype 指定密钥库的格式。该格式必须是 PKCS12。您无法从任何其他类型的密钥库读取证书。
-keystore 指定密钥库的路径名称。
* 
命令运行后,系统会提示您指定其他信息,例如密钥库和证书密码等。这些密码是相同的,同样,您必须在 agent.properties 文件的mksagent.privatekey.password 特性中指定这些密码。有关给出提示的详细信息,请参阅 keytool 文档:
-keyalg 防止与更高强度的密钥产生任何冲突。该格式必须是 RSA
2. 生成一个证书签名请求 (CSR),然后将请求发送至 CA,例如:
% <jdk_installdir>/bin/keytool -certreq -alias myname -storetype PKCS12
-keystore data/tls/certificate.p12
-file data/tls/certificate.csr
其中:
-certreq 指定生成一个 CSR。
-alias 指定用于创建 CSR 的现有存储条目的名称。该名称和步骤 1 中指定的名称相同。
-file 指定要写入 CSR 的文件路径。
该 CSR 必须包括下列信息:
密钥库密码
名字和姓氏 (应当是主机完全限定的域名)
组织单位/部门名称
组织名称
城市或地区
州或省份
两个字母的国家/地区代码 (例如 CA 或 US)
密钥对密码 (如不同于密钥库)
3. 在 CA 中检索签名证书时,请确保采用以下格式之一:
DER 编码二进制 X.509 (.der / .cer)
Base-64 编码 X.509 (.pem / .cer)
PKCS #7 证书 (.p7b)
如果可能,请确保认证路径中的所有证书均为这种格式。
如果您正在使用自定义根 CA 或自定义中间 CA (Verisign),请执行以下操作之一:
将自定义根 CA 或自定义中间 CA 证书导入 cacerts 密钥库:
<jdk_installdir>/bin/keytool –importcert –alias <别名> -storetype PKCS12
–keystore data/tls/certificate.p12 –file <自定义 CA 证书>
当检索到签名服务器证书时,获取 PKCS #7 证书 (.p7b)。
4. 如果您使用了任何自定义根 CA 或自定义中间 CA,请将其导入 Windchill RV&SAgent 的 JDK 环境的 jssecacerts 密钥库中,例如:
% <jdk_installdir>/bin/keytool –importcert –alias <别名>
–keystore <WRV&S Agent 安装目录>
<jdk_installdir>/lib/security/jssecacerts –file <自定义 CA 证书>
* 
该命令提示您输入密钥库密码。如果 jssecacerts 秘钥库不存在,您可以指定任何密码作为初始密码。请记下密码,并妥善保存,以备之后参考。
如果证书颁发机构 (CA) 更新了自己的根 CA 证书或中间 CA 证书,请您务必将其添加到 jssecacerts 密钥库中。考虑到 Java 定位密钥库的方法,所有相关的 CA 证书都必须存在于 jssecacerts 密钥库中。
5. 收到证书后,请将证书导入密钥库,例如:
% <jdk_installdir>/bin/keytool -importcert -alias myname -storetype PKCS12
-keystore data/tls/certificate.p12
-file data/tls/certificate.pem
其中:
-importcert 指定导入证书响应。
-alias 指定您要导入的现有条目的名称。该名称和步骤 1 中指定的名称相同。
-file 指定您读取 CA 响应的路径。
6. 如果使用了任何自定义根 CA 或自定义中间 CA,务必将其导入所有 Windchill RV&S 服务器的 JDK 环境的 jssecacerts 秘钥库中。确保在连接到 Windchill RV&S 代理 之前导入自定义根 CA 或自定义中间 CA。
例如:
% <jdk_installdir>/bin/keytool –importcert –alias <别名>
–keystore <jdk_installdir>/lib/security/jssecacerts
-file <自定义 CA 证书>
您还可以将 Windchill RV&S 代理 上的 jssecacerts 密钥库分发到每个 Windchill RV&S 服务器,无需导入证书。将 jssecacerts 密钥库复制到 <JDK 安装目录>/lib/security 并重新启动 Windchill RV&S 服务器。
7. 请检查以下文件以确保 SSL 有效:
<WRV&S Agent 安装目录>/config/properties/security.properties
如果 SSL 有效,则安全策略密钥 mks.security.policy.scheme 应指示正在使用 private 安全策略。
* 
安全策略密钥不会自动设置。对所有用户界面,只有在您设置一个使用 _private 的安全策略后,系统才是安全的。
这对您有帮助吗?