处理https双向认证的一次体验
最近参与了一次poc测试的开发,项目大致是应用管理平台的开发,设计应用部署、管理、监控等,其中底层是调用的是阿里方面的接口,每一个请求都需要通过https验证。当时阿里方面提供的文档就是一堆curl命令
例如:获取现有应用列表的curl命令
curl https://22.5.247.186:18300/projects --key /home/rtadm/api/key.pem --cacert /home/rtadm/api/ca.pem --cert /home/rtadm/api/cert.pem
通过上面这个curl命令,我们能获取阿里方面返回的json格式的应用列表信息,然后对数据进行解析,得到自己想要的数据。
curl命令是如此这般,那Java命令该如何实现呢?
从上面的curl命令可以看出,除了get方法的请求路径外,后边还跟了一堆参数,那是验证的证书,证书的位置是我当前使用的Linux机器上的某个位置。
Java处理过程
下载证书
证书是由阿里提供的,他们的机制是不同集群、不同平台(Linux、windows)的证书都不一样,从指定管理页面下载证书文件后,解压得到三个文件ca.pem
、cert.pem
、key.pem
处理认证过程
public