1.下载 BouncyCastle http://www.bouncycastle.org/latest_releases.html
2.把下载的JAR包拷到LIB库: bcprov-jdk16-146.jar C:\jre6\lib\ext C:\jdk1.6.0_23\jre\lib\ext , 由于JAVA_HOME 与IDE用的JRE 有可能为两个路径,要两个都拷入
3.修改 jre\lib\security 下 java.security 文件 添加 security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider 序号为方法调用顺序,可自定我定的是3。(同样修改JDK与JRE下两个文件)
4.环境变量下的 PATH 已加入 JDK或JRE 下BIN,可在CMD中执行 keytool,
执行:keytool -genkey -alias tomcat -storetype BKS -keyalg RSA -keystore c:\ws\tomcat.keystore.bks -validity 36500
相关解译见另一文章。如果没有 -storetype BKS 参数 默认为 JKS 类型,指定为BKS后 调用 org.bouncycastle.jce.provider.BouncyCastleProvider 进行证书生成
5.修改TOMCAT server.xml 去除 8443 端口注释,开放SSL功能。但要添加证书类型指定 如:
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="c:\tomcat6\tomcat.keystore.bks" keystoreType="BKS" keystorePass="123456" maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
原来XML没有类型指定默认为 JKS方式,如果不写启动TOMCAT时会报 java.io.IOException: Invalid keystore format 异常