項(xiàng)目升級(jí)JAVA10后調(diào)用阿里巴巴API報(bào)錯(cuò)SunCertPathBuilderException: unable to find valid certification path to requested target.
問(wèn)題的原因
JAVA10自帶的keystore沒(méi)有包含阿里巴巴API接入點(diǎn)(Gateway)的服務(wù)端證書,導(dǎo)致不能創(chuàng)建https連接。
解決方法
導(dǎo)入https://gw.api.alibaba.com的證書到JDK的keystore中即可。
步驟
訪問(wèn)https://gw.api.alibaba.com,保存服務(wù)端證書到本地文件。我用的是Edge,其他瀏覽器應(yīng)該也可以。保存的文件名為alibabacom.crt。
keytool.exe -importcert -cacerts -file alibabacom.crt
輸入密鑰庫(kù)口令:
所有者: CN=*.alibaba.com, O="Alibaba (China) Technology Co., Ltd.", L=HangZhou, ST=ZheJiang, C=CN
發(fā)布者: CN=GlobalSign Organization Validation CA - SHA256 - G2, O=GlobalSign nv-sa, C=BE
序列號(hào): 5361f5d0d35fe62ec9b6a503
生效時(shí)間: Tue Mar 27 10:36:02 CST 2018, 失效時(shí)間: Sun Nov 04 21:06:02 CST 2018
證書指紋:
SHA1: F3:6F:38:26:ED:BE:EB:58:4E:CA:AE:3D:E5:94:49:0C:59:D5:C9:27
SHA256: 79:0A:69:6A:48:98:FF:EF:DC:8E:18:2B:F0:BA:8D:97:A4:8C:E6:1A:3F:18:82:56:83:20:F3:2C:F2:BF:D3:75
簽名算法名稱: SHA256withRSA
主體公共密鑰算法: 256 位 EC 密鑰
版本: 3
......
<此處忽略n行>
......
是否信任此證書? [否]: y
證書已添加到密鑰庫(kù)中
經(jīng)此操作后訪問(wèn)恢復(fù)正常。