由java派生出来的证书错误
未安装请求对应接口证书时的异常:> javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
软件组的同事在进行软件升级时出现如上错误,查看其错误,初步判断其未安装java的jdk包和公司证书导致而成
解决方法:
安装jdk软件
1、下载linux的jdk版本
    #mkdir /application && cd /application
# wget https://download.oracle.com/otn/java/jdk/11.0.5+10/e51269e04165492b90fa15af5b4eb1a5/jdk-11.0.5_linux-x64_bin.tar.gz?AuthParam=1571751391_d13df5b618e17c92b768f1f09a9ead41
2、安装jdk
    这里下载的是tar.gz二进制版本,只需要解压就可以使用了
    #mkdir -p /usr/local/java    #建立java目录
    #tar xf jdk-11.0.5_linux-x64.bin.tar.gz  -C /usr/local/java
            #把jdk解压到指定目录
    #vim /etc/profile
    JAVA_HOME=/usr/local/java/jdk-13.0.1;export JAVA_HOME
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib
    #source /etc/profile
3、上传公司证书和导入证书
    #cd /usr/local/java && rz
    上传公司的crt证书,我以我司的为例,导入server.crt
    # keytool -import -alias server.crt  -keystore cacerts -file /usr/local/java/server.crt -trustcacerts
    #命令keytool就是导入证书的命令,其中第一个server.crt为现在证书的路径,我这里路径为/usr/local/java
    #第二个server.crt为导入后的证书别名,我这里与原证书名一致
Enter keystore password:       #这里提示输入口令,默认为changeit
Re-enter new password:     #下面为公司的证书内容
Owner: CN=*.luxshare-ict.com, OU=PositiveSSL Wildcard, OU=Domain Control Validated
Issuer: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
Serial number: 1294f3aa047d0ab5dba26e74866f4e8c
Valid from: Wed Jul 19 08:00:00 CST 2017 until: Sat Oct 17 07:59:59 CST 2020
Certificate fingerprints:
	 MD5:  7E:BD:72:8C:B3:94:70:59:3A:CA:98:3E:1E:2B:98:86
	 SHA1: 66:AF:D3:22:7F:C5:5B:B4:DC:1B:24:C2:17:D5:40:C3:7F:94:CB:EE
	 SHA256: 04:4A:66:2D:CD:75:86:B8:E1:1F:D7:A6:3D:63:BF:6C:03:6F:AC:AC:45:57:32:F2:1C:C7:44:11:80:AC:10:ED
	 Signature algorithm name: SHA256withRSA
	 Version: 3
Extensions: 
#1: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
AuthorityInfoAccess [
  [
   accessMethod: caIssuers
   accessLocation: URIName: http://crt.comodoca.com/COMODORSADomainValidationSecureServerCA.crt
,
   accessMethod: ocsp
   accessLocation: URIName: http://ocsp.comodoca.com
]
]
#2: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 90 AF 6A 3A 94 5A 0B D8   90 EA 12 56 73 DF 43 B4  ..j:.Z.....Vs.C.
0010: 3A 28 DA E7                                        :(..
]
]
#3: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
  CA:false
  PathLen: undefined
]
#4: ObjectId: 2.5.29.31 Criticality=false
CRLDistributionPoints [
  [DistributionPoint:
     [URIName: http://crl.comodoca.com/COMODORSADomainValidationSecureServerCA.crl]
]]
#5: ObjectId: 2.5.29.32 Criticality=false
CertificatePolicies [
  [CertificatePolicyId: [1.3.6.1.4.1.6449.1.2.2.7]
[PolicyQualifierInfo: [
  qualifierID: 1.3.6.1.5.5.7.2.1
  qualifier: 0000: 16 1D 68 74 74 70 73 3A   2F 2F 73 65 63 75 72 65  ..https://secure
0010: 2E 63 6F 6D 6F 64 6F 2E   63 6F 6D 2F 43 50 53     .comodo.com/CPS
]]  ]
  [CertificatePolicyId: [2.23.140.1.2.1]
[]  ]
]
#6: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  serverAuth
  clientAuth
]
#7: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
  DigitalSignature
  Key_Encipherment
]
#8: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: *.luxshare-ict.com
  DNSName: luxshare-ict.com
]
#9: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D0 9B 0D 21 28 B7 E3 79   C5 2D 7F FB 84 00 CD 31  ...!(..y.-.....1
0010: 34 E5 70 D3                                        4.p.
]
]
Trust this certificate? [no]:  y      #这里提示是否信任此证书,默认输入y
Certificate was added to keystore
经过上面一步,则完成证书导入,但是否导入成功,可使用命令先测试一下,
#查看某个证书
#keytool -list -keystore cacerts |grep server    #查看公司证书
Enter keystore password:  changeit
server.crt, Nov 8, 2019, trustedCertEntry,        #查看证书
后来与软件组同事沟通,发现可以正常使用了,至此java派来出来的证书问题解决了。特此记录一下,以方便日后查看
至于命令keytool的使用,可以使用man来查看,
基本上导入证书的话,使用keytool -import
     查看证书的话,使用keytool -list
至于windows的导入证书那就简单了,可以参考百度,或跟我沟通,我给你。
由java派生出来的证书错误的更多相关文章
- 解决Java调用Azure SDK证书错误javax.net.ssl.SSLHandshakeException
		
Azure作为微软的公有云平台,提供了非常丰富的SDK和API让开发人员可以非常方便的调用的各项服务,目前除了自家的.NET, Java, Python, nodeJS, Ruby,PHP等语言都提供 ...
 - 解决 Java 调用 Azure SDK 证书错误 javax.net.ssl.SSLHandshakeException
		
Azure 作为微软的公有云平台,提供了非常丰富的 SDK 和 API 让开发人员可以非常方便的调用的各项服务,目前除了自家的 .NET.Java.Python. nodeJS.Ruby,PHP 等语 ...
 - 【证书】curl 和 java 请求报证书错误
		
1. 说明: 以下:例子的域名因为工作环境的问题,被我拿自己的博客域名替代了,所以无法进行模拟测试,请珍重,哈哈! 2. 环境: centos:7.5 java jdk:1.8.0_74 3. cur ...
 - java的常见异常与错误总结
		
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...
 - Java爬虫--Https绕过证书
		
https网站服务器都是有证书的. 是由网站自己的服务器签发的,并不被浏览器或操作系统广泛接受. 在使用CloseableHttpClient时经常遇到证书错误(知乎的网站就是这样) 现在需要SSL绕 ...
 - MQTT研究之EMQ:【JAVA代码构建X509证书【续集】】
		
openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用 ...
 - java获取https网站证书,附带调用https:webservice接口
		
一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...
 - selenium启动Chrome浏览器和禁止证书错误提示弹出
		
要把ChromeDriver放到代码中的文件夹中c://*******Application public static WebDriver WebDriverRun(WebDriver driver ...
 - LR录制https协议报证书错误,导航已阻止
		
使用IE浏览器录制https协议报证书错误,导航已阻止,修改如下配置文件:
 
随机推荐
- 《Hadoop大数据技术开发实战》学习笔记(一)
			
基于CentOS7系统 新建用户 1.使用"su-"命令切换到root用户,然后执行命令: adduser zonkidd 2.执行以下命令,设置用户zonkidd的密码: pas ...
 - (2)  laravel App目录结构说明
			
应用的核心代码位于 app 目录下,默认情况下,该目录位于命名空间 App 下, 并且被 Composer 通过 PSR-4自动载入标准 自动加载. app 目录下包含多个子目录,如Console.H ...
 - Android_7.1.1_r6源码编译
			
上篇文章讲述了如何下载Android源码,在篇文章就来说一说Android源码编译.其实一般来说如果修改的软件和底层没什么关系,直接提取相应的源代码到Android Studio编译就可以了,如果是与 ...
 - [学习笔记] Blender 常用工具 移动与旋转,缩放, 变换
			
点击上面的移动图标之后,可在X,Y,Z轴移动物体. shift+S 之后,可有更多的移动选项. 旋转:可沿X,Y, Z 进行旋转 缩放 还可输入缩放的具体数值,更精确. 变换 可同时做移动.旋转.缩放 ...
 - 用gcd库函数求最大公约数
			
如何直接调用库函数来求最大公约数呢? 1.首先看怎样求两个数的最大公约数 要注意gcd()前面是两个“_” !!! #include<bits/stdc++.h> using namesp ...
 - (五)Respose 知识点总结 (来自那些年的笔记)
			
目录 HttpServletResponse简介 向客户机写数据 HttpServletResponse应用 打印中文,让浏览器显示不乱码 : 下载文件 输出随机图片(验证码) 不要缓存 图片的src ...
 - mysql 中表与表之间的关系
			
如何找出两张表的对应关系 分析步骤: 1.先找出左表的角度去找  是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段 (通常是id) 2.再站 ...
 - Python 【收发邮件】
			
发邮件 smtplib模块主要负责发送邮件 email模块主要负责构造邮件.这两个都是Python内置模块 smtplib.SMTP.方法 #按住Ctrl键并点击SMTP ,会看到对SMTP的解释(v ...
 - spark集群安装并集成到hadoop集群
			
前言 最近在搞hadoop+spark+python,所以就搭建了一个本地的hadoop环境,基础环境搭建地址hadoop2.7.7 分布式集群安装与配置 本篇博客主要说明,如果搭建spark集群并集 ...
 - (十九)SpringBoot之使用Spring Session集群-redis
			
一.引入maven依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEnc ...