当前位置: 首页 > news >正文

网站开发给网站设置图标在什么文件中写代码网站开发技术包括什么

网站开发给网站设置图标在什么文件中写代码,网站开发技术包括什么,江门免费模板建站,wix做中文网站怎么样HTTPS是HTTP开启TLS传输协议,客户端要拿到服务端的公钥,用公钥加密数据后再进行传输,防止数据泄露后背篡改。它要解决两个问题:怎么保证公钥可信怎么加密数据公钥可信问题客户端从服务端获取公钥的时候,存在请求被拦截…

HTTPS是HTTP开启TLS传输协议,客户端要拿到服务端的公钥,用公钥加密数据后再进行传输,防止数据泄露后背篡改。它要解决两个问题:

  1. 怎么保证公钥可信

  1. 怎么加密数据

公钥可信问题

客户端从服务端获取公钥的时候,存在请求被拦截,攻击者把公钥替换成自己的公钥的风险。这样客户端再用公钥加密,攻击者就可以用自己的私钥解密,篡改内容后再用服务端公钥加密传给服务器。这时,客户端拿到公钥后就要验证公钥的可信度。

保证公钥可信

HTTPS通过数据认证中心(CA)签发的证书证明自己的公钥可信。证书里主要信息包括:认证机构公钥、机构的数字签名、有效期、持证人标识符、签名算法、序列号、版本等。客户端拿着认证机构的公钥和其他信息来验证数据前面的有效性,验证通过就代表客户端拿到的公钥是属于持证人的。

怎么保证认证机构的公钥是可信的?使用同样的验证方式,拿到认证机构公钥的数字证书去验证机构的公钥。最终会验证到根证书,根证书是预置在操作系统里,默认是可信的。

加密数据

HTTPS通过混合加密技术,既对称加密和非对称加密。

  • 非对称加密用作“秘钥协商”,用来传输对称加密的秘钥

  • 对称加密来加密明文

对称加密性能高,无法保证密钥传输安全;非对称加密传输安全,但无法加密性能差。

SpringBoot配置HTTPS

获取证书

用java自带的keytool自生成证书

keytool -genkey -alias tomcat -dname "CN=localhost,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365

将证书放到resources/certs/文件夹下,在application.yml添加证书配置信息,就可以以HTTPS访问服务

server:port: 443ssl:key-alias: "tomcat"key-store: "classpath:certs/keystore.p12"key-store-password: "123456"key-store-type: "PKCS12"

SpringBoot将HTTP重定向到HTTPS

方式一,基于tomcat的重定向

在tomcat上添加了Connector监听http的端口,然后在”/*” 路径下添加SecurityConstraint=CONFIDENTIAL,要求所有请求都走SSL协议。

@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory() {TomcatServletWebServerFactory tomcatServletWebServerFactory = new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {SecurityConstraint securityConstraint = new SecurityConstraint();// CONFIDENTIAL要求使用SSL协议securityConstraint.setUserConstraint("CONFIDENTIAL");SecurityCollection securityCollection = new SecurityCollection();securityCollection.addPattern("/*");securityConstraint.addCollection(securityCollection);context.addConstraint(securityConstraint);}};tomcatServletWebServerFactory.addAdditionalTomcatConnectors(connector());return tomcatServletWebServerFactory;
}private Connector connector() {Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);connector.setPort(8080);// 默认值就是443,可以不填connector.setRedirectPort(443);return connector;
}

方式二,基于SpringSecurity的请求路由

不同tomcat的SecurityConstraint实现重定向,但是Connector还是要添加。

在httpSecurity中通过portMapper()配置端口映射,再配置requiresChannel()要求所有请求都走安全的协议。

@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory() {TomcatServletWebServerFactory tomcatServletWebServerFactory = new TomcatServletWebServerFactory();tomcatServletWebServerFactory.addAdditionalTomcatConnectors(connector());return tomcatServletWebServerFactory;
}private Connector connector() {Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);connector.setPort(8080);// 默认值就是443,可以不填connector.setRedirectPort(443);return connector;
}@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {httpSecurity.portMapper(it -> it.http(8080).mapsTo(443)).requiresChannel(channel -> channel.anyRequest().requiresSecure()).formLogin();return httpSecurity.build();
}
http://www.yayakq.cn/news/208707/

相关文章:

  • 宁波搭建网站公个人网站建设优化
  • 做ppt的模板的网站有哪些内容wordpress友情链接定时
  • 专业网站建设最便宜中国站长之家官网
  • 做网站网络公司无收入珠海网站建设方案维护
  • 湖南智能网站建设哪家好北方明珠网站建设
  • 网站开发 英文文章软件商城推荐
  • 仿皮皮淘网站开发全程培训建程网工程平台
  • 网站建设电wordpress门户源码
  • 做一个简单网站php网站开发教程 pdf
  • 自己做网站可以随便起名字吗阆中网站建设
  • 大城 网站建设如何修改网站后台代码
  • 网站排名突然掉没了sql server做网站
  • 机电建设工程施工网站文章类型网站
  • 购车网站设计厦门网站建设 金猪
  • 专做淘宝的网站wordpress weekly
  • 企业文化墙设计网站推荐公司百度网站怎么做的
  • No餐饮网站建设项目推广计划书
  • 上海网站建设怎么样吴江城乡住房和城乡建设局网站
  • 汽车网站排名查询永久免费手机网站自助建站
  • 扁平化网站设计方案旅游网站建设方案书范文
  • 西宁企业网站建设公司媒体网站怎么做
  • xampp可以做网站吗软件推广简报
  • 个人网页设计制作网站模板番禺人才招聘网
  • 怎么知道网站有没有备案互联网保险发展现状和趋势
  • 教育网站建设方案百度免费建站平台
  • 高淳城乡建设局网站企业所得税多少钱起征
  • 金融网站 改版方案wordpress采集 知乎
  • 必须网站的访问量梓潼移动网站建设
  • 厚街网站建设专业的微网站公司
  • 如何用电子邮箱做网站国内大事件最新新闻