服务器端是通过RedHat的OpenSSL模块产生的数字证书。
客户端使用JDK6的java环境。难点是如何将数字证书导入到JDK环境中。
步骤如下:
1、拷贝服务器数字证书*.crt到d:/
2、拷贝%JAVA_HOME%/jre/lib/security/cacerts到d:/
3、cd %JAVA_HOME%/bin
运行命令:
4、keytool -import -alias bocs –keystore d:/cacerts -file d:/api.bocs.crt –trustcacerts
密码:changeit
5、将新产生的cacerts拷贝回%JAVA_HOME%/jre/lib/security/cacerts目录中
因为服务器产生的数字证书中,CN为*.api.bocs,因此在调用时,不能使用IP地址,需要使用域名。而域名需要在hosts文件中配置,并且与CN的值相同。
6、修改hosts文件,新增一行
32.12.21.41 www.api.bocs
7、在Java Code中的URL使用www.api.bocs作为域名
注:第四步可以略过,需要在程序调用前指定密钥库,如下:
全部代码如下