J'ai développé une application andorid qui doit être connectée à un serveur pour une demande de repos.Andorid https-tls sur un serveur spécifique
Je suis nouveau dans https et (dispite des 2 derniers jours passés à chercher sur le web) je n'ai rien compris.
Le serveur a un certificat fait avec Comodo (ou GeoTrust) et un KeyStore (pas faite par moi).
J'ai essayé d'utiliser:
- Trusting all certificates using HttpClient over HTTPS (Bue ne peut pas en mesure de comprendre où/comment utiliser OpenSSL)
- Java HttpsURLConnection and TLS 1.2 (mais plaisaient travail)
- Android java.security.cert.CertPathValidatorException: Trust anchor for certification path not found (essayé cela aussi mais aucun ne fonctionne.)
Puis j'ai essayé ceci. Trusting all certificates using HttpClient over HTTPS
Et fonctionne. Le problème est que je dois le rendre spécifique à l'accès du serveur et aucun autre.
Ceci est mon code pour la demande GET/DELETE:
public static HttpsURLConnection setHttpsURLConnection(String type, URL url, Activity activity) throws IOException {
trustEveryone(); //from the link above
HttpsURLConnection response=(HttpsURLConnection) url.openConnection();
response.setConnectTimeout(Costanti.connectionTimeout);
response.setReadTimeout(Costanti.connectionTimeout);
response.setRequestProperty("Content-type", "application/json");
response.setRequestProperty("Accept", "application/json");
response.setRequestProperty("Authorization", "Basic tfhtrhsthLkO=");
response.setRequestMethod(type);
return response;
}
Je dois savoir ce que dois-je faire, étape par étape.
Qu'est-ce que vous avez besoin de savoir pour m'aider?
https://www.ssllabs.com/ssltest dit:
- TLS 1,2
- TLS 1,1
- TLS 1,0
- clés RSA 2048 bits (e 65537)
- Émetteur GeoTrust DV CA SSL - G3
- algorithme de signature SHA256withRSA
- Certificat Transparence Oui (certificat)
Merci à vous tous.
je ne peux pas voir un problème spécifique sta tement ici. Avez-vous un problème avec la validation du certificat lorsque vous utilisez curl dans Android? – halfer
Fondamentalement, vous devez configurer la connexion https pour utiliser un trustore personnalisé qui contient le certificat racine de l'autorité de certification. Essayez ceci et postez les erreurs https://developer.android.com/training/articlessecurity/-ssl.html – pedrofb