`
wingware
  • 浏览: 144331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jetty tomcat 配置 ssl

阅读更多
1.生成密钥:
a.)首先生成一个pica.keystore(keystore密钥库)
备注:生产密钥库的路径最好在server服务器下。(如:jetty路径为${jetty.home}/etc/)
keytool -genkey -alias pica -keyalg RSA -dname "cn=localhost,ou=pica,o=wingware,l=china,st=beijing,c=cn" -keypass 123456 -storepass 123456 -keystore pica.keystore -validity 3600


此时会得到pica.keystore文件,[-keypass]是密钥的密码,[-storepass]是密钥库的密码,cn是域名,必须与cas服务器的域名相同(本地测试用localhost).
b.)从密钥库(pica.keystore)中导出证书pica.cer
keytool -export -trustcacerts -alias pica -file pica.cer -keystore  pica.keystore -storepass 123456

c.)将证书(pica.cer)导入JDK的cacerts
keytool -import -trustcacerts -alias pica -file pica.cer -keystore  “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit

java中cacerts证书库默认密码为changeit
可以写一个批处理文件来执行上述命令。
2.配置jetty的ssl
jetty的配置修改/etc/ jetty-ssl.xml文件。
<Configure id="Server" class="org.eclipse.jetty.server.Server">
	<!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
	<Call name="addConnector">
		<Arg>
			<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
				<Set name="Port">8443</Set>
				<Set name="maxIdleTime">30000</Set>
				<Set name="Acceptors">2</Set>
				<Set name="AcceptQueueSize">100</Set>
				<Set name="Keystore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>
				<Set name="Password">123456</Set>
				<Set name="KeyPassword">123456</Set>
				<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>
				<Set name="trustPassword">123456</Set>
			</New>
		</Arg>
	</Call>
</Configure>

备注:
<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/keystore</Set>
<Set name="trustPassword">123456 </Set>
可以不设置,默认会取${JAVA_HOME}/lib/secutity/cacerts这个文件夹

3.启动jetty
java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml
4.配置tomcat的ssl
连接器添加到server.xml文件中。

  
 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="D:\Tomcat 6.0\bin\server.keystore"
               keystorePass="123456" />

备注:keystoreFile为密钥库路径,keystorePass为密钥库的密码.
如果你希望客户端没有提供证书的时候SSL链接也能成功,也可以把clientAuth设置成want。
启动tomcat,访问 https://localhost:8443/,弹出一个安全警告的页面就OK了。







本地java访问https报错。

1.首先把lib\dynamic.12306.cn.crt证书导入到jdk的密钥库中
keytool -import -alias dukecert -keystore "%JAVA_HOME%/jre/lib/security/cacerts"  -file icq.net.crt -storepass changeit

-keystore密钥库路径
-storepass密钥库密码

输入keystore密码:changeit
分享到:
评论

相关推荐

    Jetty和tomcat比较.docx

    ### Jetty和Tomcat的比较 #### 相同点 - **Servlet引擎**: Tomcat和Jetty都是基于Java的Servlet容器,支持标准的servlet规范和JavaEE的规范。这意味着开发者可以在这些容器中部署和运行Java Web应用。 #### 不同...

    websocket+tomcat+jetty+netty

    总结来说,"websocket+tomcat+jetty+netty"这个主题涵盖了WebSocket协议及其在不同服务器框架中的实现。Tomcat、Jetty和Netty都是支持WebSocket的Java服务器平台,各有其优势和适用场景。理解这些技术可以帮助开发者...

    详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    Tomcat 的 SSL 配置很简单,可以通过 JDK 的方式生成.keystore,或者通过申请免费的 SSL 证书。在 application-tomcat.yaml 文件中可以配置 tomcat 的优化配置,例如最大线程数、初始化线程数和超时时间。 3. Jetty...

    解决jetty环境ssl的瞬时 Diffie-Hellman 公共密钥过弱

    解决jetty8、jdk1.6环境下的ssl问题,示服务器的瞬时 Diffie-Hellman 公共密钥过弱,可以通过设置如下参数解决

    服务器tomcat、jetty

    4. **安全性**: 通过`context.xml`和`server.xml`,可以设置用户访问控制、SSL/TLS配置以及角色权限。 5. **性能优化**: 可以通过调整线程池大小、JVM参数、连接器设置等来优化Tomcat的性能。 **Jetty** Jetty是由...

    Jetty中文手册

    这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它包含教程、使用手册、视频、特征描述、参考资料以及常见问题。 Jetty文档 ---------------- 入门...

    jetty各个版本下载

    Jetty提供了基本的安全管理功能,如角色基础的访问控制(RBAC)和SSL/TLS支持。但为了满足企业级应用的安全需求,通常需要结合其他安全框架,如Spring Security。 总之,Jetty作为一个强大的Web服务器和Servlet...

    jetty6 指南书

    7. **类加载器**、**Jetty Connector的SSL配置**、**虚拟主机**、**管理服务器**、**JNDI配置**、**会话与集群**、**性能优化**、**异步Servlet、Ajax和Comet**以及**嵌入Jetty**等内容,都是指南中详细阐述的主题,...

    jetty 6 指南书

    8. **Jetty Connector**:详细讨论Jetty的连接器,包括SSL配置和与Apache HTTP代理的集成。 9. **虚拟主机**:如何在Jetty上配置多个虚拟主机,实现多站点托管。 10. **管理服务器**:涵盖日志管理、请求日志、...

    jetty指导书

    **8.1 SSL配置** Jetty支持通过HTTPS协议提供安全的Web服务。配置SSL涉及创建密钥库、配置证书等步骤。 **8.2 Apache mod_proxy/AJP部署** 除了作为独立的Web服务器,Jetty还可以与其他Web服务器(如Apache)配合...

    Jetty权威指南.pdf

    `jetty.xml`是Jetty最重要的配置文件之一,它定义了Jetty的启动配置。通常包含以下内容: - Server的配置:定义Server的生命周期管理。 - Connectors的配置:定义网络连接的监听地址、端口等。 - Handlers的配置:...

    jetty 服务器

    与传统的Tomcat服务器相比,Jetty具有更小的内存占用和更快的启动速度。由于它的模块化设计,可以根据实际需求选择需要的功能,从而保持轻量级特性。 2. **安装与配置** - **下载**:根据提供的压缩包文件名"jetty...

    Tomcat学习

    这是Tomcat的核心配置文件,包含了Connectors、Engine、Host和Context的设置。例如,你可以在这里配置端口号、默认文档根目录、虚拟主机等。 2.2 context.xml 这个文件用于定义特定的Context配置,可以设置数据源、...

    jetty-6.1.26.zip

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,与Tomcat相似,它为开发和部署Web应用程序提供了一种高效的选择。Jetty在设计上注重灵活性和可扩展性,使得它在处理HTTP协议、WebSocket协议以及部署各种...

    jetty指南书

    11. **Connector配置**:涵盖SSL配置以及与其他服务器(如Apache)的集成,如mod_proxy和AJP。 12. **虚拟主机**:如何在Jetty中设置和管理多个虚拟主机以服务于不同的域名。 13. **服务器管理**:包括日志管理、...

    jetty-6.1.26官方正式版本.zip

    6. **安全性**:尽管这是一个较老的版本,但Jetty仍然提供了一定的安全性特性,如角色为基础的访问控制(RBAC)、HTTPS支持和SSL配置。 7. **性能优化**:Jetty以其高效的线程模型和异步I/O而闻名,这使得它在处理...

    java web开发部署神器--jetty插件

    - SSL/TLS:Jetty可以配置为支持HTTPS,提供安全的数据传输。 - 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速...

    jetty-distribution-9.4.31.v20200723_安装包.rar

    为了替代Tomcat,只需将应用程序的WAR文件放入Jetty的webapps目录下,Jetty会自动检测并部署应用。 总的来说,Jetty是一个强大且灵活的Web服务器,特别适合用于开发和测试环境,以及对性能和资源管理有严格要求的...

    jetty服务器 jetty-distribution-7.3.0.v20110203

    2. **轻量级**:Jetty以其轻量级特性而闻名,它不依赖大型的JVM库,这使得它在资源消耗上比其他服务器如Tomcat更低,更适合嵌入式环境或小型项目。 3. **线程模型**:Jetty采用了高效的线程模型,如NIO(非阻塞I/O...

    jetty-distribution-9.3.12.v20160915.tar.gz

    3. **modules**:包含Jetty的配置模块,你可以通过这些模块定制你的服务器设置,例如HTTP端口、SSL配置等。 4. **etc**:存储默认的配置文件,如`jetty.xml`,它是Jetty服务器的主配置文件,可以在这里定义服务器的...

Global site tag (gtag.js) - Google Analytics