При отправке сертификата безопасности через securityManager в вызовах HTTPS желаемый вывод не получен
Согласно документу appcelerator Modules.Https, когда через диспетчер безопасности передается недействительный защищенный сертификат, выдается сообщение об ошибке "Не удалось проверить листовой сертификат с предоставленным открытым ключом". Но это работает нормально только с первым запросом
При передаче действительного безопасного сертификата для первого запроса URL-адреса и недействительного сертификата для следующего запроса URL-адреса ошибка не регистрируется.
EX:
var url1 = "http://www.appcelerator.com/";
var securityManager = https.createX509CertificatePinningSecurityManager([
{
url: url1,
serverCertificate: "appcelerator.com.der",
}
]);
var httpClient = Ti.Network.createHTTPClient({
onload: Success,
onerror: failure,
timeout : 5000,
securityManager: securityManager,
validatesSecureCertificate : true,
});
httpClient.open("GET", url1);
httpClient.send();
var url2 = "https://www.google.com/";
var securityManager = https.createX509CertificatePinningSecurityManager([
{
url: url2,
serverCertificate: "appcelerator.com.der",
}
]);
var httpClient = Ti.Network.createHTTPClient({
onload: Success,
onerror: failure,
timeout : 5000,
securityManager: securityManager,
validatesSecureCertificate : true,
});
httpClient.open("GET", url2);
httpClient.send();
Теперь в приведенном выше примере для второго запроса должен быть вызван метод ошибки, потому что мы передаем сертификат appcelerator менеджеру безопасности. Но в коде он напрямую вызывает метод успеха, не сообщая о каких-либо ошибках.