我的api提供商给了我一个证书,它是.crt文件和.p12文件。
我从.crt文件生成了ca-cert.pem文件 根据api的要求,使用openssl从.p12文件获取client-cert.pem和client-key.pem文件。
我的api提供商也为我提供了基本身份验证的用户名密码。
我的问题是如何使用Java使用这些证书和凭据连接到服务器URL https(rest)。
答案 0 :(得分:1)
您基本上必须创建SSLSocketFactory,请参阅此处example。一旦你创建了SSLSocketFactory,就可以在从URL创建一个Connection时设置它。
SSLSocketFactory sf = ... see that example
URL url = new URL("https://google.com");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setSSLSocketFactory(sf);
... Now do stuff with that connection like GET or POST
另外,您可能希望将证书转换为Java更喜欢的JKS格式,以便将它们轻松加载到SSLSocketFactory中。您可以使用java附带的名为keytool的程序来帮助您。