当前位置: 首页 > news >正文

沈丘做网站去哪里江苏seo技术教程

沈丘做网站去哪里,江苏seo技术教程,全国高校校园网站建设与发展高级研修班,wordpress安装是失败背景 远程调用第三方服务时,之前都是双向认证,服务器提供jks格式的keystore证书,客户端配置好即可。 今天遇到个奇葩需求,服务器只给根公钥证书(root.crt),还是第三方合法证书,要求单向认证,客户…

背景

远程调用第三方服务时,之前都是双向认证,服务器提供jks格式的keystore证书,客户端配置好即可。
今天遇到个奇葩需求,服务器只给根公钥证书(root.crt),还是第三方合法证书,要求单向认证,客户端校验SSL握手时服务器发送的证书,只给了crt公钥。。。。真的服了。没办法,只能自己冲浪解决了,下面是针对我的这种情况,代码实践。测试没啥问题。以供搜到的你参考。

代码

//这个类实现证书校验
import javax.net.ssl.X509TrustManager;
import java.security.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;public class CustomTrustManager implements X509TrustManager {private static final Logger log = LoggerFactory.getLogger(CustomTrustManager.class);private final X509Certificate rootCert;public CustomTrustManager(X509Certificate rootCert) {this.rootCert = rootCert;}@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {// 根据需求实现检查逻辑}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {boolean found = false;final PublicKey publicKey = rootCert.getPublicKey();for (X509Certificate cert : chain) {try {cert.verify(publicKey);found = true;break;} catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException |NoSuchProviderException e) {log.error("Failed to verify client certificate", e);}}if (!found) {throw new CertificateException("No trusted certificate found in the server's certificate chain.");}}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[]{};}
}

测试代码

@Test
void testCerts() throws NoSuchAlgorithmException, KeyManagementException, IOException {//Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());X509Certificate certificate;//加载根证书try (InputStream inputStream = new FileInputStream("D:\\certs\\root-new.crt")) {CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");certificate = (X509Certificate) certificateFactory.generateCertificate(inputStream);} catch (IOException | java.security.cert.CertificateException e) {throw new RuntimeException(e);}X509Certificate rootCert = certificate;// 创建SSL上下文并设置为信任所有证书SSLContext sslContext = SSLContext.getInstance("TLS");sslContext.init(null, new TrustManager[]{new CustomTrustManager(rootCert)}, null);// 获取HttpsURLConnection实例HttpsURLConnection connection = (HttpsURLConnection) new URL("https://你的URI").openConnection();connection.setSSLSocketFactory(sslContext.getSocketFactory());connection.connect();System.out.println("2222222222");connection.disconnect();System.out.println("11111111111");
}

完!

http://www.wooajung.com/news/28775.html

相关文章:

  • 网站管理服务seo关键词快速提升软件官网
  • 怎样用自己的电脑,做网站万能搜索 引擎
  • 九亭做网站公司抄一则新闻四年级
  • 个人网站设计作品产品seo优化
  • 做海报那个网站好怎么开发自己的小程序
  • 现代农业园网站建设方案口碑营销的步骤
  • 网站建设应该注意哪些一手渠道推广平台
  • 长春启做网站多少产品推广活动策划方案
  • 珠海澳门网站建设公司哪家好免费卖货平台
  • 网页编辑哪个键seo百度刷排名
  • 网站开发论文模板今日新闻摘抄二十条
  • 平板上做网站的软件360优化大师下载
  • 公司徽标设计图片东营seo
  • 网站建设需要的功能头条搜索站长平台
  • 泉州有哪些公司是做网站seo关键词优化工具
  • 淘宝直接怎么做网站百度指数的搜索指数代表什么
  • wordpress zztseo网站分析工具
  • 网站关键词优化到首页后怎么做石家庄seo外包的公司
  • 网站建设维护价格seo实战密码
  • 网站开发后端框架青岛百度seo代理
  • .net 网站开发项目结构市场营销公司排名
  • 黔江城乡建设委员会的网站企业网站设计制作
  • 德州网站设计百度帐号
  • sns电商网站最厉害的搜索引擎
  • 百度没有投放的网站点击北京做的好的seo公司
  • 前端开发培训费用百度seo工作室
  • 西宁最好网站建设公司哪家好站长工具网站查询
  • wordpress 模版下载seo培训学院
  • 肇庆市网站建设平台seowhy
  • 郑州网站seo多少钱怎么投放广告是最有效的