1、HTTPS介绍
HTTPS是在HTTP的基础上通过SSL(传输加密和身份认证)保证了传输过程的安全性
SSL(Secure Sockets Layer 安全套接层)是TLS(Transport Layer Security 传输层安全)的前身,
TLS与SSL在传输层与应用层之间对网络连接进行加密。
SSL协议可分为两层:
SSL记录协议(SSL Record Protocol):数据封装、压缩、加密等基本功能的支持。(对称加密)
SSL握手协议(SSL Handshake Protocol):身份认证、协商加密算法、交换加密密钥等。 (非对称加密)
2、了解证书和密钥
OpenSSL/keytool:提供了生成所需密钥和证书的方法。
简单介绍:在HTTPS中,将公钥存放在数字证书中,利用数字证书和数字签名的身份鉴别、不可伪造的特性,安全的将公钥传递给客户端
3、Jetty启用HTTPS
1. 配置SSL
2. 启用HTTPS模块
# Module: ssl
--module=ssl
jetty.ssl.host=0.0.0.0
jetty.ssl.port=8583
jetty.sslContext.keyStorePath=etc/keystore
jetty.sslContext.trustStorePath=etc/truststore
jetty.sslContext.keyStorePassword=OBF:
jetty.sslContext.keyManagerPassword=OBF:
jetty.sslContext.trustStorePassword=OBF:
# Enable client certificate authentication.
jetty.sslContext.needClientAuth=true
TLS和SSL版本
注意:
TLS v1.3发布后,将无法使用TLS v1.0或v1.1的解决方法。TLS v1.3的计划包括禁止在任何级别出现具有已知漏洞的密码。建议尽快使用这些密码升级任何客户端,否则将其锁定在Jetty,Java甚至OS的过时版本中。
默认情况下不再支持SSL,SSLv2和SSL v3。如果您的J