Mam aplikację, która komunikuje się z wieloma różnymi witrynami, a każda witryna ma swój własny certyfikat SSL podpisany przez nasz własny wewnętrzny ośrodek certyfikacji. Takie postępowanie uniemożliwia nam zakup certyfikatów SSL dla każdej witryny (setki lub tysiące) i jest bezpieczniejsze niż używanie certyfikatu wieloznacznego z kluczem udostępnionym w każdej z tych witryn. Więc, w zasadzie używanie certyfikatu CA jest jedynym sposobem.iPhone Niestandardowy certyfikat CA dla aplikacji korzystającej z NSURLConnection?
W tej chwili mam plik mobileprovision, który zainstaluje certyfikat CA jako profil na telefonie. Gdy nasza aplikacja na iPhone'a zostanie uruchomiona, jeśli otrzyma błąd certyfikatu SSL, przekierowuje do tego mobilnego pliku usług przez Safari, a użytkownik zostanie poproszony o zainstalowanie CA.
Problem polega na tym, że obawiam się, że Apple AppStore może odmówić mojej aplikacji za wykonanie tej czynności (tylko niektóre opinie od innych deweloperów w tym momencie) i chciałem zbadać inne sposoby osiągnięcia tego celu.
Zasadniczo potrzebuję wykonać połączenie SSL, które będzie weryfikowane na podstawie niestandardowego certyfikatu CA, który zostanie osadzony w mojej aplikacji. To spowoduje, że certyfikat CA będzie aktywny tylko dla połączeń, które wykonuję. Używam standardowych metod NSURLConnection w celu komunikacji z usługą.
Czy to możliwe? Czy ktoś może mi pokazać, jak załadować urząd certyfikacji (w jakiej formie PEM?) I dodać go do listy zaufanych certyfikatów CA dla mojej aplikacji? Jeśli nie jest to możliwe, jakie mam inne opcje? Po prostu zaufanie do wszystkich certyfikatów nie jest tak naprawdę żadną opcją, chcemy zapobiec atakowi człowieka w środkowych atakach i ufać tylko naszym urzędom wydającym certyfikaty.
Dzięki!
-1 bez uwag. miły! –