Bonjour,
j'ai quelques soucis avec un client https :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 const std::string& privateKeyFile = "/etc/ssl/private/users/rainbow9/rainbow9.key"; const std::string& certificateFile = "/etc/ssl/private/users/rainbow9/rainbow9.crt"; const std::string& caLocation = "/etc/ssl/private/caSwiss.crt"; //std::string //Poco::URI uri("https://10.110.0.106", "8181"); try { Poco::Net::initializeSSL(); Poco::SharedPtr<Poco::Net::InvalidCertificateHandler> pAcceptCertHandler = new Poco::Net::AcceptCertificateHandler(true); Poco::Net::Context::Ptr pContext = new Poco::Net::Context(Poco::Net::Context::TLSV1_CLIENT_USE, privateKeyFile, certificateFile, caLocation,Poco::Net::Context::VERIFY_RELAXED, 9, true, "ALL:"); Poco::Net::SSLManager::instance().initializeClient(NULL, pAcceptCertHandler, pContext); Poco::Net::HTTPSClientSession theSess("10.110.0.106", 8181); // Create the HTTP request object Poco::Net::HTTPRequest request("POST", "https://10.110.0.106:8181","1.1"); // Send the request std::cout << "Debug point A" << std::endl; std::ostream& aStream = theSess.sendRequest(request); // Erreur envoie de la requête.
A l'exécution il me renvoie l'erreur :
certificate validation error: Unacceptable certificate from 10.110.0.106: application verification failure
J'ai tester mes certificats ils ont l'air fonctionnel :
- Test avec openssl
- Test depuis un navigateur
Si je met le path d'un autre certificat qui n'est pas la bonne CA, j'ai le message suivant :
Du coup je suis un peu perdu, et vu le peu de documentation et d'exemple sur poco c'est pas évident...Exception caught while attempting to connect.
SSL Exception: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Le handshake tls se passe bien, il y a même les deux change cipher spec qui définissent la fin de la connexion non chiffré, mais ensuite mon client envoie un reset au serveur...
Merci de votre aide






Répondre avec citation
Partager