java - 带有证书(.crt)和带有密码的私钥(.pem)的 java http 客户端
问题描述
我是 Java 新手,发现 HTTP 通信非常困难。我正在尝试在使用 .crt 证书和 pem 私钥的 java 中转换以下 curl 请求。
curl -X POST 'https://oauthasservices.cert.mydomain.com/oauth2/apitoken?grant_type=client_credentials'\
-H 'Accept: application/json' \
--cert my_cert.crt \
--key my-private-key.pem \
-d 'grant_type=client_credentials'
Enter PEM pass phrase: myphrase ==> access token retrieved .
我无法理解如何在 Java 中创建 SSL 上下文/密钥存储时传递私钥和密码。
keyStore.load(new FileInputStream(keyStorePath), keystorePassword.toCharArray());
KeyManagerFactory kmf =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, keystorePassword.toCharArray());
SSLContext ctx = SSLContext.getInstance("TLS");// something else?
ctx.init(kmf.getKeyManagers(), null, null);
SSLSocketFactory sslSocketFactory = ctx.getSocketFactory();
请让我知道处理 crt 证书文件和私钥的最佳方法是什么?
解决方案
推荐阅读
- javascript - 使用“google-libphonenumber”中的 PhoneNumberFormat 不起作用
- excel - 根据单元格数据调整形状大小
- php - 在 php 中处理时显示结果
- javascript - 使用纯 JS 将表转换为键值对
- python - 当没有选项时,硒如何从下拉列表中选择选项
- spring-integration - 如何更改代码以使 http://uri 动态或参数化?
- impersonation - Symfony 3.4 如何退出 switch_user?
- django-rest-framework - 如何使用 graphene-django 将旧图像更改为新图像?
- phpmyadmin - phpMyAdmin 工作正常,但显示很多错误
- javascript - 使用下一个/路由器“返回”两次