首页 > 其他分享 >002-从mavenhttps配置到https基础

002-从mavenhttps配置到https基础

时间:2023-02-07 15:26:14浏览次数:54  
标签:TLS https 浏览器 mavenhttps ssl 证书 002 HTTPS http

1. idea配置 maven https

  1. idea配置maven默认不进行https校验
    • Build,Execution.Deployment --> Build Tools --> Maven --> Importing : VM options for importer 增加 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ignore.validity.dates=true
    • Build,Execution.Deployment --> Build Tools --> Maven --> Runner: VM Options 增加 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ignore.validity.dates=true
    • idea配置文档
  2. maven Runner 是在执行goals时自动添加的;
  3. maven Importing 时idea引入依赖时的操作,此时并没有执行goals

2. maven ssl 配置详解

You can disable SSL certificate checking by adding one or more of these command line parameters:

  • -Dmaven.wagon.http.ssl.insecure=true - 允许放松ssl安全检查
  • -Dmaven.wagon.http.ssl.allowall=true - 允许所有的X.509格式证书匹配,如果修改为false,则会执行和浏览器一致的检查;
  • -Dmaven.wagon.http.ssl.ignore.validity.dates=true - 忽略证书过期的问题

参考:

[1] how-to-tell-maven-to-disregard-ssl-errors-and-trusting-all-certs

[2] maven 官方文档

3. 补充知识

当前TLS为主流

3.1 HTTPS 超文本传输安全协议

超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS开始广泛使用,以确保各类型的网页真实,保护账户和保持用户通信,身份和网络浏览的私密性。

另外,还有一种安全超文本传输协议(S-HTTP)的HTTP安全传输实现,但是HTTPS的广泛应用而成为事实上的HTTP安全传输实现,S-HTTP并没有得到广泛支持。

网景在1994年创建了HTTPS,并应用在网景导航者浏览器中。 最初,HTTPS是与SSL一起使用的;在SSL逐渐演变到TLS时,HTTPS也由在2000年五月公布的RFC 2818正式确定下来

特点:

  1. https://开头,默认端口443,安全连接;
    • 对比http协议以http://开头,默认端口80,不安全连接,可以通过监听喝中间人攻击手段窃取敏感信息;
  2. 服务器设置:要使一网络服务器准备好接受HTTPS连接,管理员必须创建一数字证书,并交由证书颁发机构签名以使浏览器接受。证书颁发机构会验证数字证书持有人和其声明的为同一人。浏览器通常都预装了证书颁发机构的证书,所以他们可以验证该签名;
  3. 获得证书:
    1. 由证书颁发机构签发的证书有免费的,也有每年收费数美元到数千美元不等的;
    2. 一个组织也可能有自己的证书颁发机构,尤其是当设置浏览器来访问他们自己的网站时(如,运行在公司或学校局域网内的网站)。他们可以容易地将自己的证书加入浏览器中;
  4. 访问控制:
    1. HTTPS也可被用作客户端认证手段来将一些信息限制给合法的用户。要做到这样,管理员通常会给每个用户创建证书(通常包含了用户的名字和电子邮件地址)。这个证书会被放置在浏览器中,并在每次连接到服务器时由服务器检查。
  5. 当私钥失密时:证书可在其过期前被吊销,通常情况是该证书的私钥已经失密。通常由浏览器进行处理,浏览器将网站提供的证书的序列号通过OCSP发送给证书颁发机构,后者会告诉浏览器证书是否还是有效的。

局限:

  1. 协议所能提供的保护总强烈地依赖于浏览器的实现和服务器软件所支持的加密算法;
  2. HTTPS不能防爬虫;
  3. TLS1.2中服务端发送的证书以明文传输,可以ISP黑名单拦截,导致TLS无法创建。TLS1.31服务端证书被加密,但是服务器名称指示依然没有加密,仍然会被拦截;

参考:

[1] HTTPS WIKI

[2] SNI WIKI

3.2 SNI 服务器名称指示

服务器名称指示(英语:Server Name Indication,缩写:SNI)是TLS的一个扩展协议,在该协议下,在握手过程开始时客户端告诉它正在连接的服务器要连接的主机名称。这允许服务器在相同的IP地址和TCP端口号上呈现多个证书,并且因此允许在相同的IP地址上提供多个安全(HTTPS)网站(或其他任何基于TLS的服务),而不需要所有这些站点使用相同的证书。它与HTTP/1.1基于名称的虚拟主机的概念相同,但是用于HTTPS。

为了使SNI协议起作用,绝大多数访问者必须使用实现它的Web浏览器。使用未实现SNI浏览器的用户将被提供默认证书,因此很可能会收到证书警告。

3.3 TLS 传输层安全性协议

传输层安全性协议(英语:Transport Layer Security,缩写:TLS)前身称为安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。

参考:

[1] TLS WIKI

3.4 x.509标准

X.509是密码学里公钥证书的格式标准。X.509证书已应用在包括TLS/SSL在内的众多网络协议里,同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。

X.509还附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。X.509是ITU-T标准化部门基于他们之前的ASN.1定义的一套证书标准。

参考:

[1] X.509 WIKI

标签:TLS,https,浏览器,mavenhttps,ssl,证书,002,HTTPS,http
From: https://www.cnblogs.com/bloodcolding/p/17098521.html

相关文章

  • HttpServletRequest request 请求中文转换
    /***request转字符串*@paramrequest*@paramcharset编码格式(UTF-8)*@return*@see[类、类#方法、类#成员]*/publicstaticStringparseRequst(Ht......
  • Charles 抓包HTTPS原理
    对称加密其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加......
  • 你校思博 CSC 3002 期末复习
    全是思博不定项选择,出题人柠檬水了Compiler\[\begin{aligned}&Compilers,e.g.,\\&–Microsoft\Visual\C++compiler\\&–GCC(GNU\Compiler\Collection)\\&......
  • 缩点-DAG 性质的应用:P2002,P1262,P2341,P1407,P2746(P2812)
    缩点不只用于转化图为DAG,还可以进一步发掘图的性质,从而将题目变成结论题所求信息转化到图上,方便建模。P2002https://www.luogu.com.cn/problem/P2002在一个强连通分量......
  • http、https、浏览器介绍
    http是一个超文本传输协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从web服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,减少络传输。https是以安......
  • JupyterHub(TLJH)安装卸载, 以及配置GitLab的OAuth登录和开启HTTPS
    介绍JupyterHub是可供多用户使用的JupyterNotebook安装JupyterHub分两个版本,ZerotoJupyterHubwithK8s和TheLittlestJupyterHub前者可以使用K8s集群进行部署,......
  • Fiddler抓包https
    1、fiddler下载:​​https://www.telerik.com/fiddler​​2、打开fiddler,找到tools-options3、选择https:勾选图示项4、Actions中导出证书5、在浏览器中导入证书......
  • 接口测试|Charles证书的设置(抓HTTPS数据包)&SSL证书过期解决办法
    Charles证书的设置&SSL证书一年后过期解决办法Charles开启就可以直接开始抓取HTTP请求,需要抓取HTTPS请求时,则需要先安装证书,再进行抓取。设置证书抓取HTTPS的数据打开charle......
  • 如何通过Zabbix Docker配置HTTPS访问系统?
    概述前面文章曾介绍过如果使用docker-compose快速部署一个Zabbix系统,但是部署的Zabbix系统是使用http协议进行访问的。有时候为了保证安全。我们需要配置使用https协议进......
  • 浏览器报Mixed Content错误的解决:Mixed content: load all resources via HTTPS to im
    https地址中,如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止,这就会给你带来资源不全的问题了,比如:图片显示不了,样式加载不了,JS加载不了。控制台报错:Mixed......