Я делаю приложение в Кордове, это приложение взаимодействует с API, и я хотел бы, чтобы это общение было безопасным.
Некоторая справочная информация
- Мой API имеет сертификат SSL, созданный letsencrypt.
- В моем приложении я использую cordova-plugin-advanced-http
- Для проверки трафика c между приложение и API я использую Packet Capture ссылка
- Работает только для android
Хочу ли я хочу
- Зашифрованный трафик c
- Предотвращение попадания человека в среднюю атаку (если это было обнаружено, траффи не будет c)
- Если я посмотрю на Пакет Захватить логи Я не хочу найти никакой информации
Что я пробовал
- попробовать ссылку ssl =
cordova.plugin.http.sendRequest('https://domain.tk/API/some/endport/', function(response) {
// prints 200
}, function(response) {
// prints 403
})
Данные не зашифрованы, я вижу все в Packet Capture
Сделал файл CER, поместил его в мой проект и закрепил мое соединение
cordova.plugin.http.setServerTrustMode('pinned', function(e) {
console.log('success!');
}, function() {
console.log('error :(');
});
При запуске Packlet Capture TLS не установлен (поэтому данные не найдены в Packet Capture) , Когда I Packet Capture не работает, traffi c работает нормально (БОЛЬШОЙ)
Проблема
Закрепленный метод работает "отлично" проблема Если мой сертификат будет продлен, я всегда буду обновлять свой CER-файл в своем приложении, и это проблема. Я не могу найти решение самостоятельно.
Я разговаривал со службой поддержки моего хоста и не вижу подробностей в этом certbot (для опции --reuse-key ссылка ).
Кто-нибудь может дать мне советы по зашифрованному трафику c, которые предотвращают атаки человека в середине в приложении Cordova? Спасибо!