gpt4 book ai didi

java - 使用 Kimono Labs 的 Authorize Bearer header 的 GET 请求在 SSL 中的异常

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:36 24 4
gpt4 key购买 nike

我正在开发一个移动应用程序,该应用程序涉及通过 Kimono Labs 从 JSON 对象解析数据。在访问 Kimono Labs 的 API 时,我遇到了 SSL 和证书方面的问题。

根据 Kimono Labs 的说法,调用 API 需要在调用时设置 header “Authorization: Bearer” header 。

GET Request Calling an auth API using a GET request is just like calling any kimono api, but you will additionally need to pass your secure token in the Authentication request header, like so: Authorization: Bearer {YOUR_SECURE_TOKEN}

我正在使用以下代码获取 InputStream

HttpUriRequest request = new HttpGet(apiURL);
request.addHeader("authorization", "Bearer " + securityToken);
HttpClient httpclient = new DefaultHttpClient();
InputStream is = httpclient.execute(request).getEntity().getContent();

执行这段代码会出现异常:javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

或者,我尝试使用以下代码实现:

URL url = new URL(apiURL);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Authorization", "Bearer " + securityToken);
urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(activity.getResources().getInteger(R.integer.internet_timeout)); urlConnection.setReadTimeout(activity.getResources().getInteger(R.integer.internet_timeout));
InputStream inputStream = urlConnection.getInputStream();

使用此代码我遇到异常 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found。

有什么想法吗?

我能够通过 CustomTrustManager 和 CustomAllVerifier 允许所有证书对所有尝试返回 true 来“破解”解决它,但听说这是完全不安全的,不建议用于生产。我的情况是这样吗?

提前谢谢你。

最佳答案

我在使用 kimono 作为 api 构建 node.js 时遇到了完全相同的问题。问题是 Mozilla 不信任中间签名证书,ergo nodejs 会抛出叶错误。

我通过执行以下操作解决了这个问题,找到正在使用的证书,下载它的 pem 并将其添加到您的根 CA,然后再向 kimono 发出请求,这比禁用 TLS/SSL 安全性要安全得多检查。

关于java - 使用 Kimono Labs 的 Authorize Bearer header 的 GET 请求在 SSL 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com