1.首先制作bat文件:
@echo off
set SERVER_DN="CN=snxun,OU=snxun,O=snxun,L=xiamen,S=fujian,C=CN"
set CLIENT_DN="CN=Client,OU=Client,O=Client,L=xiamen,S=fujian,C=CN"
set KS_PASS=-storepass xmrzyz
set KEYINFO=-keyalg RSA
if not exist server.keystore (
@rem 生成服务器端密钥库
keytool -genkey -alias Server -dname %SERVER_DN% %KS_PASS% -keystore server.keystore %KEYINFO% -keypass xmrzyz -validity 9000
@rem 服务器端密钥库导出为cer证书文件
keytool -export -alias Server -file server.cer %KS_PASS% -keystore server.keystore
@rem 将导出的服务器cer证书文件添加入客户端信认库
keytool -import -file server.cer %KS_PASS% -keystore client.truststore -alias serverkey -noprompt
)
echo 请选择生成的证书类垿
echo 1、为cer 2、为p12
set /p t=
if %t% == 1 (
@rem 生成客户端密钥库
keytool -genkey -alias Client -dname %CLIENT_DN% %KS_PASS% -keystore client.keystore %KEYINFO% -keypass xmrzyz -validity 9000
@rem 导出客户端cer
keytool -export -alias Client -file client.cer %KS_PASS% -keystore client.keystore
@rem 将导出的客户端证书添加到服务器信认库
keytool -import -file client.cer %KS_PASS% -keystore server.truststore -alias clientkey -noprompt
)
if %t% == 2 (
@rem ==============================================
@rem 在双向认证的时候,浏览器需要提供p12证书才能访问
@rem 生成客户端PKCS12证书
keytool -genkey -alias custom -dname %CLIENT_DN% %KS_PASS% -keyalg RSA -storetype PKCS12 -keypass xmrzyz -keystore custom.p12 -validity 9000
@rem 将PKCS12证书导出为为cer证书
keytool -export -alias custom -file custom.cer -keystore custom.p12 %KS_PASS% -storetype PKCS12 -rfc
@rem 将cer证书添加到服务器信认库
keytool -import -file custom.cer -keystore server.truststore %KS_PASS%
)
2.进入weblogic控制台配置ssl
3.客户端调用接口,在调用接口前加入以下代码:
System.setProperty("javax.net.ssl.trustStore", "F:/SSL/client.truststore");
System.setProperty("javax.net.ssl.trustStorePassword","q1w2e3");
System.setProperty("javax.net.ssl.keyStoreType","PKCS12");
System.setProperty("javax.net.ssl.keyStore","F:/SSL/custom.p12") ;
System.setProperty("javax.net.ssl.keyStorePassword","q1w2e3") ;
String endPoint="接口地址";