0
によって閉じ接続私はピンの支払いのためのAPIを呼び出す:https://test-api.pin.net.au/1/cards/Okhttp javax.net.ssl.sslexception:ピア
私は郵便配達、それは良い仕事をしてみてください。
私はokhttpでコードアンドロイドに適用2.7.5
マイコード:
OkHttpClientのHttpClient =新しいOkHttpClient();
RequestBody requestBody = new FormEncodingBuilder()
.add("publishable_api_key", BuildConfig.PIN_PAYMENT_PUBLISHABLE_KEY)
.add("number", scanResult.cardNumber)
.add("expiry_month", scanResult.expiryMonth+"")
.add("expiry_year", scanResult.expiryYear+"")
.add("cvc", scanResult.cvv)
.add("address_postcode", scanResult.postalCode)
.add("name", name).build();
Request request = new Request.Builder()
.url(BuildConfig.BASE_URL_PIN_PAYMENT + Constants.API_CARD_PIN_PAYMENT)
.post(requestBody)
.build();
httpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
view.hideLoading();
view.showError(e.getMessage());
}
@Override
public void onResponse(Response response) throws IOException {
view.hideLoading();
if (!response.isSuccessful()){
String body = "Something went wrong.Please try again later.";
try {
JSONObject object = new JSONObject(response.body().string());
body = object.getString("error_description");
} catch (JSONException e) {
e.printStackTrace();
}
view.showError(body);
}else {
view.hideLoading();
Gson gson = new Gson();
CardPinPaymentResponse paymentResponse = gson.fromJson(response.body().string() , CardPinPaymentResponse.class);
view.getTokenCardSuccess(paymentResponse);
}
}
});
しかし、それは動作しないと問題:javax.net.ssl.SSLException:あなたはOKhttpのバージョンと提供する暗号スイートをTLSいるかを知る必要があります。httpsサーバーに接続すると、ピア
ありがとうございますが、動作しません。今すぐ問題:受け入れ可能なプロトコルが見つかりません。 isFallback =偽、モード= [のConnectionSpec(暗号スイートの= [TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_DHE_RSA_WITH_AES_128_GCM_SHA256]、tlsVersions = [TLS_1_1]、supportsTlsExtensions =真)]、サポートされるプロトコル= [のSSLv3、TLSv1の】 –
それが唯一のコード例です。あなたは、あなたのサーバーで使用しているTLSバージョンを知り、クライアントコードに設定してください。 –
私は同じ問題があります。私のサーバのTLSバージョンも試してみましたが、kitkatの解決方法は見つかりませんでした。あなたが何か解決策を見つけたら、私にも教えてください –