`

Https Basic Auth

    博客分类:
  • java
 
阅读更多
最近测试 Https 连接,遇到了些问题。

1. Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

对方使用的是JDK 1.8,他们默认的是TLSV1.2, 我使用的是1.7,  我这边是1.0 的。
造成一直认证失败,开始以为要导入证书。设置请求默认1.2,就可以了。

System.setProperty("https.protocols", "TLSv1.1,TLSv1.2");
System.setProperty("jsse.enableSNIExtension", "false");


2.授权 401. 加密采用 Basic 认证,java自带的Base64 有些bug,网上找了个Base 64.

URL url = new URL("https://");
URLConnection uc = url.openConnection();

HttpURLConnection conn = (HttpURLConnection) uc;
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");

String user_pass = username + ":" + password;
String encoded = Base64.encode(user_pass.getBytes());

conn.addRequestProperty("Accept", "application/xml");
conn.setRequestProperty("Content-Type", "application/xml");
conn.setRequestProperty("Authorization", "Basic " + encoded);


3. Https 证书导入,实际上两步骤,已经可以请求成功了,为了测试还是导入了证书。

Key tool 导入cert file to cacerts

C:\Program Files\Java\jdk1.7.0_80\jre\bin>keytool -import -keystore cacerts -storepass changeit -keypass changeit -alias e-xx.com -file D:\cert\staging.gate.crt

C:\Program Files\Java\jdk1.7.0_80\jre\bin>keytool -list -v -alias e-xx.com -keystore cacerts -storepass changeit

4.httpClient 忽略cert file, 指定 TLSV1.2,不设置系统参数,enableSNIExtension,因为会影响到其他ssl链接。
见附件。
分享到:
评论

相关推荐

    BasicAuth的Java服务端实现

    7. **安全性考虑**:BasicAuth的缺点在于明文传输密码,因此通常需要配合HTTPS使用。此外,还应考虑凭证的存储和加密方式,以提高安全性。 8. **错误处理和异常捕获**:在实现过程中,需要对可能出现的错误和异常...

    2.CXF安全访问之Http Basic Auth(一)

    本文将深入探讨CXF安全访问的一个重要方面:HTTP基本认证(Http Basic Auth)。这是一种简单但有效的身份验证机制,适用于对Web服务进行安全控制。 HTTP基本认证是基于HTTP协议的,它在请求头中包含一个Base64编码...

    express的中间件basicAuth详解

    Express的`basicAuth`中间件使得在Express应用中集成这一过程变得简单。下面我们将详细讲解如何使用`basicAuth`以及如何自定义验证逻辑。 1. **安装express-basic-auth**: 在使用`basicAuth`之前,你需要先安装...

    前端开源库-express-basic-auth

    const basicAuth = require('express-basic-auth'); ``` 2. 创建认证用户列表: ```javascript const users = [ { username: 'admin', password: 'password123' }, // 可以添加更多用户 ]; ``` 3. 配置并使用...

    前端开源库-lws-basic-auth

    **前端开源库-lws-basic-auth** 前端开源库`lws-basic-auth`是一个专门用于实现基本身份验证(Basic Authentication)的轻量级解决方案。在Web开发中,安全性是至关重要的,尤其是当涉及到用户数据和服务器资源时。...

    flask-basicauth:Flask的HTTP基本访问身份验证

    from flask_basicauth import BasicAuth app = Flask(__name__) basic_auth = BasicAuth(app) # 设置用户名和密码 basic_auth.init_app(username='myuser', password='mypassword') ``` 3. **保护视图**:...

    Python 编码Basic Auth使用方法简单实例

    需要注意的是,在实际生产环境中使用Basic Auth时,还需要考虑其他的安全措施,例如HTTPS协议的使用,以确保传输过程中的安全性。 希望本文能够帮助您更好地理解和掌握Python中Basic Auth的使用方法。如果您有任何...

    http-server-basicauth-ssl:用于nodejs的Http服务器,包括Https和basicAuth

    http-server-basicauth-ssl:命令行http服务器 http-server-basicauth-ssl是基于以下内容的简单,零配置命令行安全化Http服务器: HTTP服务器 基本认证 SSL协议 主要目的是拥有与http-server相同的有用工具,但具有...

    spring-boot-basic-auth:使用基本身份验证的安全Spring Boot REST API

    在本文中,我们将深入探讨如何使用Spring Boot和Spring Security实现基于基本身份验证(Basic ...在`spring-boot-basic-auth-master`这个项目中,你应该能够找到更详细的配置和示例代码,帮助你更好地理解整个流程。

    Nginx配置Basic Auth登录认证的实现方法

    1. 为了提高安全性,建议将Basic Auth与HTTPS结合使用,以防止用户名和密码在传输过程中被窃取。 2. `htpasswd`命令生成的密码文件应妥善保管,避免未经授权的访问。 3. 如果需要添加多个用户,只需再次运行`...

    BasicAuth:内置在Node中的基本用户身份验证API

    "BasicAuth:内置在Node中的基本用户身份验证API" 指的是在Node.js环境中,使用一种名为Basic Authentication的简单用户身份验证机制。Basic Authentication是一种基于HTTP协议的身份验证方法,它将用户名和密码编码...

    http basic authentication通过post方式访问api示例分享 basic认证示例

    要使用基本认证访问API,客户端需要在每个请求中添加`Authorization`头部,其值的格式为`Basic base64-encoded(username:password)`。首先,将用户名和密码连接成`username:password`字符串,然后对这个字符串进行...

    basic-auth-server:使用 HTTP 基本身份验证的简单 Node.js 服务器。 它还启用了 CORS

    const basicAuth = require('express-basic-auth'); const users = [{ username: '用户', password: '通过' }]; const auth = basicAuth({ users, unauthorizedResponse: '无效的用户名或密码', }); const app =...

    angular-basicauth:AngularJs服务,用于管理登录注销和API端点的基本身份验证

    #angular-basicauth 目的 简单的AngularJs服务,用于管理登录和注销以及使用基本身份验证来保护服务器API端点。 它提供以下功能: 用于处理登录和注销操作的服务 根据默认为/ api / authentication的可配置服务器...

    nginx系列(十五)nginx下启用http_auth_basic

    这里,`auth_basic`指令设置提示的认证消息,“Restricted Area”是提示用户输入凭证的文本。`auth_basic_user_file`指定包含用户名和密码的文件路径。 3. **重启Nginx服务**:完成配置更改后,需要重启Nginx服务...

    basic-auth-django:Django中的HTTP基本身份验证实现

    在`basic-auth-django-master`压缩包中,你可能找到一个完整的示例项目,包括视图、中间件和URL配置,可供参考和学习。通过这个教程,你可以了解到如何在Django中实现HTTP基本身份验证,以及如何保护你的API或管理...

    前端开源库-auth-header

    例如,使用`auth-header`库设置一个Basic Auth的认证头: ```javascript const authHeader = require('auth-header'); // 用户名和密码 const username = 'your_username'; const password = 'your_password'; //...

    flask-angular-http-auth:用flask 和 angular 实现HTTP Basic Auth

    用 Flask 和 AngularJs 实现HTTP认证本文介绍用Flask 和 AngularJs 实现 HTTP Basic Auth。要实现登录认证功能,常用的有以下这两种方法:这两种方法各有优劣,Basic access authentication 主要是胜在简单,只需要...

    Python库 | wsgi-basic-auth-0.0.2.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:wsgi-basic-auth-0.0.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics