weblogic SSL证书错误 FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificat

一次 https 证书引起的 nginx 400 bad request 分析 问题描述 环境描述 Q1分析 Q2分析 总结 Reference1. 问题描述在一台Server上部署有一个https的service(这个service用于为Android Client提供服务),之前一直正常,从某一天开始突然不能正常访问,有的机型一直在nginx中报 400 bad request, 有的则正常访问. 两个问题: Question 1: 为什么一部分机型突然不正常了? 阅读详情

 最近项目需求需要获取Cyberark密码需要通过https协议获取,将代码写完之后,weblogic提示如下错误: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificat.

随后在网上查阅相关资料,修改Weblogic配置文件setDomainEnv.cmd,增加一段代码: -DUseSunHttpHandler=true。本地环境正常启动,部署到测试环境,启动报错,同一个错误。原因是部署环境的setDomainEnv.cmd没有设置UseSunHttpHandler为true。联系部署同事,告知不能随意修改部署环境上Weblogic文件。

继续百度。,尝试之,修改代码解决之。需要将调用的httpUrlConnction信任所有证书。代码如下: 

	private static String getPasswordByHttps(String object) {
		if (object == null) {
			logger.info("object is required...");
			return null;
		}

		try {
			Map<String, Object> param = new HashMap<String, Object>();
			param.put(SecurityConstants.APP_ID, PptPropsUtils
					.getValueFromProperties(SecurityConstants.APPID));
			param.put(SecurityConstants.SAFE, PptPropsUtils
					.getValueFromProperties(SecurityConstants.SAFE));
			param.put(SecurityConstants.FOLDER, PptPropsUtils
					.getValueFromProperties(SecurityConstants.FOLDER));
			param.put(SecurityConstants.OBJECT, object);
			param.put(SecurityConstants.REASON,
					"get password"); // Reason可随意
		
			java.net.URL postURL = new java.net.URL(
					null,
					PptPropsUtils
							.getValueFromProperties(SecurityConstants.PIDMS_CCP_URL),
					new sun.net.www.protocol.https.Handler());

			HttpURLConnection connection = (HttpURLConnection) postURL
					.openConnection();

			trustAllCertificates(connection); // 信任所有证书

			connection.setDoOutput(true);
			connection.setDoInput(true);
			connection.setRequestMethod("POST");
			connection.setUseCaches(false);
			connection.setRequestProperty("Content-Type", "application/json");
			connection.connect();
			DataOutputStream out = new DataOutputStream(
					connection.getOutputStream());
			out.writeBytes(JSONObject.toJSONString(param));
			out.flush();
			out.close();
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					connection.getInputStream(), "utf-8"));
			StringBuilder sb2 = new StringBuilder();
			for (String line = reader.readLine(); line != null; line = reader
					.readLine()) {
				sb2.append(line);
			}
			Map<String, Object> result = (Map<String, Object>) JSONObject
					.parse(sb2.toString());
			
			// 成功获取密码
			if (result != null && "200".equals(result.get("code"))) {
				String password = SecurityUtil
						.decrypt(
								(String) result.get(SecurityConstants.PASSWORD),'1111')
								
				
				return password;
			} else
				return null;
		} catch (Exception e) {
			logger.error("异常为: " + e);
			return null;
		}
	}

	// 信任所有证书
	private static void trustAllCertificates(HttpURLConnection con)
			throws NoSuchAlgorithmException, KeyManagementException {

		((HttpsURLConnection) con).setHostnameVerifier(new HostnameVerifier() {
			public boolean verify(String hostname, SSLSession session) {
				return true;
			}
		});
		// Ignore Certification
		TrustManager ignoreCertificationTrustManger = new X509TrustManager() {

			public void checkClientTrusted(X509Certificate certificates[],
					String authType) throws CertificateException {

			}

			public void checkServerTrusted(X509Certificate[] ax509certificate,
					String s) throws CertificateException {

			}

			public X509Certificate[] getAcceptedIssuers() {
				return null;
			}

		};
		// Prepare SSL Context
		TrustManager[] tm = { ignoreCertificationTrustManger };
		SSLContext sslContext = SSLContext.getInstance("SSL");
		sslContext.init(null, tm, new java.security.SecureRandom());

		// 从上述SSLContext对象中得到SSLSocketFactory对象
		SSLSocketFactory ssf = sslContext.getSocketFactory();
		((HttpsURLConnection) con).setSSLSocketFactory(ssf);

	}




排查https请求出现received fatal alert: internal_error的问题 目录 背景 https网络协议交互 net.debug查看信息 Apache Httpclient与 Netty的http请求 server_name 错误原因 修复方案 方案一 方案二 背景 通知某个商户时,突然出现大量的https握手失败了,出现received fatal alert: internal_error错误。商户sre那边当时将多个域名绑定在一个主机上,开了SNI(Server Name Indication)。 https网络协议交互 https的握手. 阅读详情

相关推荐

c++ mysql_init 返回无效指针_C++操作MYSQL遇到的一些问题

首先 我使用的是 vcpkg上面是我装的一些库《大大安利vcpkg 安装时一定要使用powershell进行编译装上vcpkg后装ligmariadb这个库,这个对Mysql操作还是挺方便的,然后说一下 在装库时碰到的一些问题1.网络问题1.参考了一下 github上的答案 将下载失败的url拷下来 自己下 然后再重新开始安装《vcpkg在安装时每一个需要下载的 都会提供url-仔细找,2.这个问...

weixin_32176627的博客 680

https请求报javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A解决方案

问题报错具体内容:javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received。 背景描述:本地开发环境应用服务器为tomcat,测试环境和生产环境服务器均为weblogic服务器,由于请求的是https协议,并且对方不提供证书。在上普通开发上测试环境后请求收不到返回结果,考虑到是https请求,在没有证书的情况下要是用代码掉过证书校验(具体代码详见

醉过方知酒浓 4758

轴承故障诊断——领域知识

幅域分析、频域分析及轴承方面的领域知识

qq_58516607的博客 3535

FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received

FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received问题。 解决方法:weblogic中使用的jvm不是sun公司提供的。此时需要修改$MV_HOME\user_projects\domains..\bin\setDomainEnv.cmd(这里是windows,如果是unix应该找到se...

weixin_30470643的博客 3258

BUUCTF reverse题解汇总

BUUCTF平台刷题过程中做的一些逆向题解的总结归类

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 1万+

⑩电子产品拆解分析-家用无线遥控开关433Mhz

①免布线随意贴,装上就能使用解决单线开关烦恼;②遥控配对简单,无线通讯距离长,信号可穿墙;

a6662580的博客 4705

weblogic FATAL Alert:BAD_CERTIFICATE

SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received. 在domian home 的bin 目录中 1、找到 startWeblogic.sh 找到: if [ "${DERBY_FLAG}" = "true" ] ; then ${WL_HOME}...

培训班的蜗牛 1471

2020计算机专业保研夏令营面经:中科院计算所网数机试题目

计算所网络数据科学与技术重点实验室的第一阶段是机试。机试不限程序语言,要求提交源代码。

乔卿的博客 2957

替换证书,造成bad_certificate

系统调用外部的web service,走https方式,今天测试人员自己替换了https证书之后,说调用不通了,我协助定位了一下,在此记录一下定位过程,作为记录 查看cxf日志,发现以下错误信息: javax.xml.ws.soap.SOAPFaultException: Received fatal alert: bad_certificate Caused by: org.apache.

kyfxbl 5308

SAP 替代关系完全替代简介

这里产生了成品物料的计划订单,我们查看计划订单中BOM的变化,如下图可以看到物料的需求仍然落在了优先级为1的这个302300005555这个物料上面,并没有考虑到302300006666的这个库存,和我们理解的MRP的完全替代不一样,按我们的理解需求应该是要落在302300006666这个物料料,但是MRP计算后并没有这样进行分配。最近用户在对长周期物料进行备料的时候又提出替代料的问题,主料库存不足的时候需要考虑替代料的在途库存,经常会忘了SAP标准的替代料逻辑,这次一次性把这个逻辑写清楚。

我小时候很黑的博客 1744

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

dvlinker的技术专栏 7165

arm64 kubesphere 3.0.0 javax.net.ssl.SSLHandshakeException Received fatal alert: bad_certificate

故障现象 Starting Kubernetes deployment Loading configuration: /home/jenkins/agent/workspace/testdevopscnkqw/pipeline1/manifest/deploy.yaml ERROR: ERROR: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: javax.net.ssl.SSLHandshakeExcep

hknaruto的专栏 2274

Codex 桌面端自定义模型列表为空 — 修复记录

摘要:Codex桌面端首次启动正常,但二次启动后出现中文界面且模型列表丢失。问题根源在于Electron的Chromium持久化状态损坏,导致UI渲染异常。解决方案包括:1) 将config.toml中的模型路径改为绝对路径;2) 删除损坏的状态文件.codex-global-state.json;3) 清除Chromium用户数据目录AppData\Roaming\Codex\web。验证显示修改后模型功能恢复正常,重装无效的原因是卸载未清除用户数据目录。

猿小白的博客 1154

weblogic服务器启动参数文件,在WebLogic上添加服务器启动参数-DUseSunHttpHandler = true - java...

我想在WebLogic上设置-DUseSunHttpHandler=true参数。我在WebLogic控制台->环境->服务器-> serverName->配置-> ServerStart->参数中添加此参数Configuration -> ServerStartArguments然后,我重新启动服务器和AdminServer,但是将忽略此参数。使用Sys...

weixin_36487445的博客 3482

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 4.x https握手失败,HttpClient失败,握手在Android 5.0中失败棒棒糖

Android 5.0中的DefaultHttpClient棒棒糖似乎被打破。它无法将连接设置为由以前版本的Android成功设置的某些网站。HttpClient失败,握手在Android 5.0中失败棒棒糖//Create httpclient like in https://stackoverflow.com/questions/18523784/ssl-tls-protocols-and-c...

weixin_35983453的博客 483

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java证书安装及多个Java应用间的根证书交叉信任

在一套Java产品环境中,常常会存在不同的Java应用,相互之间会通过HttpClient模拟HTTP访问对方,这时就涉及到浏览器所不会用到的特殊的过程:根证书的交叉信任。最后面会讲为什么浏览器和Java应用服务器的通信不需要交叉导入根证书(公钥)。 制作密钥库文件 假设有2个Java应用, app1和app2,用户访问的地址为https://app1.xwiz.cn 和 https://app2.xwiz.cn。首先分别为这两个主机应用创建密钥库JKS和证书请求CSR keyto.

Mrs_haining的博客 1635

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DotNet SSL TLS证书问题分析排障

问题说明前几天运维同事反馈开发同事代码在Windows 2008 R2 Datacenter服务器上跑会出现无法正常建立SSL/TLS连接的情况,在自己的电脑上跑是OK的,代码也没有变...

dotNET跨平台 1832

初识Weblogic

weblogic下载安装方法,以及weblogic.net.http.SOAPHttpsURLConnection cannot becast to javax.net.ssl.HttpsURLConnection错误的解决方法

立析的博客 3132

服务器webLogic,CAS 跳转出错javax.net.ssl.SSLKeyException

开始用tomcat做服务器是没有问题的,现在项目换成webLogic做为服务器时,出现如下错误: javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received. at com.certicom.tls.interfaceimpl.TLSCo

I__Rookie的博客 5445

Java加密套件强度限制引起的SSL handshake_failure

通过Java代码使用HttpURLConnection去连接https系统时候总是报错handshake_failure。而使用浏览器访问一切正常。记录下诊断的过程。 HttpURLConnection的调用非常简单。 HttpURLConnection connection = (HttpURLConnection)m_url.openConnection(); connection.setRequestMethod("GET"); connection.setAllowUs.

Mrs_haining的博客 3844

Url.openConnection问题,返回为weblogic的对象

碰到该问题,是需要在weblogic的start脚本中加入 -DUseSunHttpHandler=true 原因是加入这句话为调用java本身的对象,而不是weblogic的对象。 例如: -DUseSunHttpHandler=true weblogic.Server

627
上一篇: BeanFactory作为Spring容器,程序需要手动获取Bean后处理器,然后手动注册!
下一篇: Weblogic虚拟目录地址
「已注销」
博客等级 码龄11年 17粉丝 107原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值