环境:
・jdk1.7.0_09
・Jetty8.1
・eclipse
1,用JDK自带的keytool生成证书
cd D:\JavaStudy\keystore
keytool -genkey -alias dotuian -keyalg RSA -keystore dotuian.keystore
生成了一个表明为dotuian的证书,实际的文件名为dotuian.keystore
备注:
keystore密码为: rootadmin
<dotuian> 的主密码 : test1234
2,导出证书
cd D:\JavaStudy\keystore
keytool -export -file dotuian.crt -alias dotuian -keystore dotuian.keystore
提示"输入keystore密码",此时的密码为上面的keystore密码(rootadmin)
3、把证书导入到客户端JDK中
cd D:\JavaStudy\keystore
keytool -import -keystore "C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts" -file dotuian.crt -alias dotuian
这里也提示"输入keystore密码",但是这里的密码就不是上述的(rootadmin)密码了,而是默认的 changeit
不然的话,会提示 "java.io.IOException: Keystore was tampered with, or password was incorrect"异常。
这里应该导入的文件为"C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts",而不是 "C:\Program Files\Java\jre7\lib\security\cacerts"。
4.配置Jetty
首先将服务器中start.ini中etc/jetty-ssl.xml前面的注释去掉,然后复制jetty目录下的etc/jetty-ssl.xml到自己的项目服务器/etc目录下
修改KeyStore路径及其密码即可。
・jdk1.7.0_09
・Jetty8.1
・eclipse
1,用JDK自带的keytool生成证书
cd D:\JavaStudy\keystore
keytool -genkey -alias dotuian -keyalg RSA -keystore dotuian.keystore
生成了一个表明为dotuian的证书,实际的文件名为dotuian.keystore
备注:
keystore密码为: rootadmin
<dotuian> 的主密码 : test1234
2,导出证书
cd D:\JavaStudy\keystore
keytool -export -file dotuian.crt -alias dotuian -keystore dotuian.keystore
提示"输入keystore密码",此时的密码为上面的keystore密码(rootadmin)
3、把证书导入到客户端JDK中
cd D:\JavaStudy\keystore
keytool -import -keystore "C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts" -file dotuian.crt -alias dotuian
这里也提示"输入keystore密码",但是这里的密码就不是上述的(rootadmin)密码了,而是默认的 changeit
不然的话,会提示 "java.io.IOException: Keystore was tampered with, or password was incorrect"异常。
这里应该导入的文件为"C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts",而不是 "C:\Program Files\Java\jre7\lib\security\cacerts"。
4.配置Jetty
首先将服务器中start.ini中etc/jetty-ssl.xml前面的注释去掉,然后复制jetty目录下的etc/jetty-ssl.xml到自己的项目服务器/etc目录下
修改KeyStore路径及其密码即可。
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<!-- =============================================================== -->
<!-- Configure SSL for the Jetty Server -->
<!-- this configuration file should be used in combination with -->
<!-- other configuration files. e.g. -->
<!-- java -jar start.jar etc/jetty-ssl.xml -->
<!-- -->
<!-- alternately, add to the start.ini for easier usage -->
<!-- =============================================================== -->
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
<New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
<Set name="KeyStore">D:/JavaStudy/keystore/dotuian.keystore</Set>
<Set name="KeyStorePassword">rootadmin</Set>
<Set name="KeyManagerPassword">test1234</Set>
<Set name="TrustStore">D:/JavaStudy/keystore/dotuian.keystore</Set>
<Set name="TrustStorePassword">rootadmin</Set>
</New>
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Arg><Ref id="sslContextFactory" /></Arg>
<Set name="Port">8443</Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="AcceptQueueSize">100</Set>
</New>
</Arg>
</Call>
</Configure>