2012-02-14 22 views
6

Szukałem dość mało miejsca dla każdej konfiguracji Intel na iPhone bezprzewodowo z plikami mobileconfig i zatrzymany w pewnym momencie ...:/ oto co znalazłem: http://cryptopath.wordpress.com/2010/01/29/iphone-certificate-flaws/ ale ten część jest poza moim zrozumieniemiOS mobileconfig walkarounds

Korzystanie openssl smime i P12 uzyskanego z Verisign, zapisz plik mobileconfig tym kompletnego łańcucha CA i umieścić go na serwer HTTP publicznego

Jeśli dobrze zrozumiałem, co mam zrobić, to:
1) uzyskania certyfikatu z Verisign (ale to na podstawie key.pem i request.pem generowane z OpenSSL)
2) utworzyć plik .mobileconfig w konfiguracji iPhone Narzędzie (czy muszę mieć wszystkie ustawienia w nim zapełnione, czy wystarczy tylko mieć ten plik?)
3) i ... czym jest ten łańcuch CA?

również znalazłem rzeczy tu: http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html
Oto Ja również zatrzymany z tego łańcucha rzeczy ... Czy ktoś ma/wiem, najlepiej krok po kroku rozwiązanie dla noobs jak ja? ;) (najbardziej poszukiwane jest oczywiście rozwiązanie do tworzenia całego certyfikatu, ponieważ później jest dość prostym samouczkiem)

Odpowiedz

11

Podstawowe skrócenie łańcuchów CA: Załóżmy, że masz certyfikat bezpieczeństwa, który twierdzi, że jesteś example.com. Ale nikt ci nie uwierzy. Dostajesz to podpisane przez kogoś, komu ludzie ufają (Verisign w twoim przykładzie powyżej). Teraz uważam, że jesteś example.com, ponieważ Verisign zapewnia dla Ciebie potwierdzenie podpisania certyfikatu.

Zazwyczaj Verisign nie podpisuje go swoim głównym certyfikatem "root". Zamiast tego podpiszą go urząd certyfikacji drugiego poziomu, a ten drugi urząd certyfikacji zostanie podpisany przez zaufany certyfikat główny.

To jest łańcuch certyfikatów: Ty (example.com), są podpisane przez urząd certyfikacji drugiego poziomu, który jest podpisany przez główny urząd certyfikacji.

Tak więc, wystawiając mi swój certyfikat, musisz podać cały łańcuch, aby zweryfikować go na całej linii i sprawdzić, czy rzeczywiście ci ufam.

Następujące polecenie pobiera plik .mobileconfig i podpisuje go za pomocą certyfikatu. I zaufam twojemu podpisowi, o ile podasz cały łańcuch.

Pliki:
* company.mobileconfig < - plik .mobileconfig dokonane
* signed.mobileconfig < - podpisanego pliku, który zostanie utworzony po komendzie odbywa
* server.crt < - Twój certyfikat, który otrzymałeś od zaufanego CA
* server.key < - twój plik klucza prywatnego, który jest zgodny z powyższym certyfikatem (zachowaj bezpieczeństwo)
* łańcuch certyfikatów.crt < - cokolwiek certyfikaty są w łańcuchu aż do najwyższego poziomu CA, że ludzie ufają

polecenie:

openssl smime -sign -in company.mobileconfig -out signed.mobileconfig 
    -signer server.crt -inkey server.key -certfile cert-chain.crt 
    -outform der -nodetach 
+0

thx za odpowiedzi, postaram się przetestować go jak najszybciej i poinformujemy :) – raistlin

+0

To zadziałało, użyłem certyfikatu SSL. Dzięki. – dazito

+0

Oto, jak można powielić to polecenie w kodzie Java: http://stackoverflow.com/questions/36595294/replicate-openssl-command-to-sign-a-file-in-java – dazito