2016-01-14 5 views
5

Моего ионный/Cordova приложения теперь дает ошибки при использовании HTTPS бэкендаКСН, в ионном гибридном приложении, как обойти проверку сертификата (самозаверяющих сертификаты)

`The certificate for this server is invalid` 

Я нахожусь в своей среде разработки, использовать самозаверяющие сертификаты и использовать IP-адрес для подключения к серверу.

Я изучил сертификат с использованием openssl s_client и он выглядит действительным. На самом деле я могу использовать один и тот же сервер с версией Android этого гибридного приложения.

Есть ли какие-либо plist или другие Xcode установки, чтобы принять самоподписанный сертификат или игнорировать этот тест вместе - аналогично NSAppTransportSecurity::NSAllowsArbitraryLoads настройкам?

--edit

У меня есть <access origin="*"/> в моем config.xml файле.

Большое спасибо

+0

Вы нашли решение этой проблемы для среды Android android? –

+0

Из моего опыта - Android не имеет этой проблемы вообще (по крайней мере, с Android 5.0). – st2rseeker

ответ

2

Вы можете добавить это в конце AppDelegate.m, но только для целей тестирования, вы должны удалить его, прежде чем выпускать приложение, яблоко не может одобрить приложение, если оно содержит этот код

@implementation NSURLRequest(DataController) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 
@end 
+0

awsome, work on ios 9 – vuhung3990

+2

К сожалению, не работает на iOS 11. –

0

Попробуйте добавить это info.plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Вы также можете проверить некоторые обходной путь here too !

+1

это работало, но не больше! – Dinesh

+1

Это работает для доверенных сертификатов, которые не соответствуют новым запросам Apple ATS или для http-соединений, но для самоподписанных сертификатов вы должны использовать код в своем ответе. – jcesarmobile

 Смежные вопросы

  • Нет связанных вопросов^_^