当您说“是否有一种更简单的方法来信任此证书”时,这就是将证书添加到Java信任库中所做的工作。这非常非常容易做到,您无需在客户端应用程序中进行任何操作即可使该信任库得到认可或利用。
在客户端计算机上,找到cacerts@H_301_4@文件的位置(这是默认的Java信任存储,默认情况下位于
<java-home> / lib / security / certs / cacerts@H_301_4@。
然后,键入以下内容:
keytool -import -alias <Name for the cert> -file <the .cer file> -keystore <path to cacerts>
@H_301_4@
这会将证书导入到您的信任存储中,然后,您的客户端应用程序将能够连接到您的Grizzly HTTPS服务器,而不会出现问题。
如果您不想将证书导入到默认的信任库中(即,您只希望该证书可用于该客户端应用程序,而不希望该证书在该计算机上的JVM上运行),则可以为您的应用创建一个新的信任库。与其将keytool的路径传递给现有的默认cacerts文件,而不是将keytool的路径传递给新的信任存储文件:
keytool -import -alias <Name for the cert> -file <the .cer file> -keystore <path to new trust store>
@H_301_4@
系统将要求您设置并验证信任存储文件的新密码。然后,在启动客户端应用程序时,请使用以下参数启动它:
java -Djavax.net.ssl.trustStore=<path to new trust store> -Djavax.net.ssl.trustStorePassword=<trust store password>
@H_301_4@
容易俗气,真的。