婚纱摄影网站论文,电子商务网站建设的期中考试,建设一个自己的网站,老备案域名购买一、前言 SSL协议介于TCP/IP协议栈的第四层#xff08;传输层#xff09;和第七层#xff08;应用层#xff09;之间#xff0c;为基于TCP的应用层协议#xff08;如HTTP#xff09;提供安全连接。它通过在客户端和服务器之间建立一个加密的通道#xff0c;确保数据在传…一、前言 SSL协议介于TCP/IP协议栈的第四层传输层和第七层应用层之间为基于TCP的应用层协议如HTTP提供安全连接。它通过在客户端和服务器之间建立一个加密的通道确保数据在传输过程中的机密性、完整性和身份验证。 HTTPSHypertext Transfer Protocol Secure是一种安全的通信协议它在HTTP的基础上加入了SSLSecure Sockets Layer安全套接层或其继任者TLSTransport Layer Security传输层安全协议层以确保数据在客户端和服务器之间的传输过程中得到加密和保护。
二、SSL工作原理
握手阶段 客户端发送Client Hello消息到服务器端包括客户端支持的SSL版本、会话ID、随机数、密码算法列表和压缩方法等参数。 服务器收到Client Hello后发送Server Hello消息包括选择的SSL版本、服务器产生的随机数、会话ID、从客户端建议的密码套件中挑出的密码算法和压缩算法等。 服务器向客户端发送自己的证书客户端验证服务器的身份并取出证书中的公钥。 根据选择的密码套件双方进行密钥交换和协商生成用于加密和MAC的会话密钥。
安全数据传输阶段 在已经建立的SSL数据通道里双方使用协商好的加密算法和会话密钥对传输的数据进行加密和MAC计算确保数据的机密性和完整性。
三、模拟https请求
1.生成签名证书
在操作之前先确保jdk环境都是没问题的。 使用keytoolJava开发工具包的一部分来生成一个自签名证书和私钥或者从受信任的证书颁发机构CA获取一个证书。
keytool -genkeypair -alias mysslkey -keyalg RSA -keystore D:/keystore.p12 -storetype PKCS12 -keysize 2048 -validity 180 -dname CNxiaoming, OUweiwei, Oxiaowei, Lhai, STdai, CCN -storepass 123456 -keypass 123456执行命令之后。生成如下的文件
参数说明 -alias mysslkey证书的别名。
-keyalg RSA密钥算法。
-keystore keystore.p12生成秘钥库的存储路径和名称。
-storetype PKCS12指定密钥库类型为PKCS12。
-keysize 2048密钥大小。
-validity 180证书有效期天。
-dname证书的信息。CN姓名OU组织单位名称O组织名称L省/市/自治区名称C国家/地区代码。
-storepass 123456密钥库的密码。
-keypass 123456私钥的密码可以与密钥库密码相同。
springboot application.properties中配置
server.port8443
server.ssl.key-storeclasspath:keystore.p12
server.ssl.key-store-password123456
server.ssl.keyStoreTypePKCS12
server.ssl.keyAliasmysslkey
server.ssl.enabledtrue配置说明 server.portHTTPS监听的端口。 server.ssl.key-store密钥库文件的路径相对于类路径。 server.ssl.key-store-password密钥库的密码。 server.ssl.keyStoreType密钥库的类型如PKCS12。 server.ssl.keyAlias证书的别名。 server.ssl.enabled启用SSL
将keystore.p12文件导入到src/main/resources中 这样它就可以被classpath:前缀正确地引用。 访问本地地址结果如下 因为使用的是自签名证书所以浏览器会显示安全警告
点击继续前往
四、总结 SSL和HTTPS在网络安全领域发挥着重要作用。通过部署SSL证书并使用HTTPS协议网站可以保护用户数据的安全性和机密性增强用户信任感。