通过中央自签名证书认证中心创建专用密钥库和信任库
您可以使用中央自签名证书认证中心来对源与目标之间的通信启用 TLS 加密。
在这种情况下,每个服务器都有由公司的自签名证书认证中心签名的证书,并且每个服务器都必须信任公司认证中心。 此过程使用随 CDC Replication一起提供的命令。 您还可以使用第三方工具,如 openssl。 此过程使用位于 installation_directory/jre64/jre/bin下的 keytool。
每个服务器都需要专用密钥。 您可以使用 keytool -genkeypair 命令生成专用密钥 (和自签名证书)。 例如:
keytool -genkeypair -noprompt -alias self -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "CN=hostname.example.com" -validity 365 -keypass password -keystore privatekey.jks -storepass password -storetype JKS
每个服务器都必须发出请求,以获取其由认证中心签名的专用密钥。 您可以使用 keytool -certreq 命令创建证书签名请求。 例如:
keytool -certreq -noprompt -alias self -sigalg SHA256withRSA -file hostname.csr -keypass password -keystore privatekey.jks -dname "CN=hostname.example.com" -storepass password -storetype JKS -ext KeyUsage:critical=digitalSignature,keyAgreement,keyEncipherment,nonRepudiation -ext ExtendedKeyUsage:critical=serverAuth,clientAuth
向认证中心发送请求,进行签名,然后接收回签名证书和认证中心的证书。
必须将签名证书和认证中心的证书链接在一起,以创建 keytool -importcert 命令的输入。 可以使用标准操作系统命令来并置多个证书。 例如, type hostname.crt ca.crt >
hostname.pem (在 Windows 上) 或 cat hostname.crt ca.crt > hostname.pem (在 Linux 或 UNIX 上)。
每个服务器的专用密钥都必须与其签名证书链相关联。 您可以使用 keytool -importcert 命令将自签名证书替换为证书链。 例如:
keytool -importcert -noprompt -alias self -file hostname.pem -keypass password -keystore privatekey.jks -storepass password -storetype JKS
每个服务器都必须信任自签名证书认证中心。 可以使用 keytool -importcert 命令将证书导入到信任库中。 例如:
keytool -importcert -noprompt -alias caname -file ca.crt -keypass password -keystore trust.jks -storepass password -storetype JKS
如果使用的是由您自己的认证中心和公用证书认证中心签名的证书的组合,那么除了您的认证中心外,还需要信任普通公用证书认证中心。 您可以使用 keytool -importkeystore 命令将常规公用认证中心导入到新的信任库中。 例如:
keytool -importkeystore -noprompt -srckeystore installation_directory/jre64/jre/lib/security/cacerts -destkeystore trust.jks -deststoretype JKS -srcstorepass changeit -deststorepass password