Saya memiliki sertifikat yang ditandatangani sendiri di titik akhir API saya. Saya mencoba menguji beberapa hal menggunakan simulator tetapi saya mendapatkan "sertifikat server tidak tepercaya".
Saya telah mencoba menggunakan safari di simulator untuk mengunduh file .crt, tetapi sepertinya tidak berhasil.
Dari mana iPhone Simulator mendapatkan gantungan kunci? Bagaimana cara menambahkan sertifikat tepercaya agar aplikasi saya berfungsi?
MEMPERBARUI
Saya membuatnya berfungsi dengan membuat CA dan kemudian menambahkan sertifikat CA menggunakan alat penyediaan iPhone. Kemudian saya dapat memiliki sertifikat yang ditandatangani oleh sertifikat CA itu di server API dan NSConnection baru saja berfungsi. Saya tidak bisa membuatnya berfungsi menggunakan sertifikat yang ditandatangani sendiri karena beberapa alasan. Saya perlu mencoba lagi menggunakan perangkat lunak penyediaan.
Pertanyaan sebenarnya saya adalah bagaimana cara membuatnya bekerja di simulator? Saya akan berpikir bahwa simulator menggunakan gantungan kunci komputer yang sebenarnya.
Jawaban:
Hanya untuk Info, jika seseorang masih mengalami masalah itu:
cukup seret & jatuhkan File .cer Anda ke jendela Simulator yang sedang berjalan. Anda akan melihat Safari berkedip dan kemudian dialog impor untuk Sertifikat Anda (atau Otoritas Sertifikat) ...
Bekerja untuk iOS 7 Simulator (dan menurut saya juga berfungsi untuk iOS 6).
sumber
Bagi mereka yang menemukan bahwa menyeret dan melepaskan sertifikat di Simulator tidak berfungsi, ada perubahan terbaru yang menambahkan langkah ekstra .
Simulator harus secara eksplisit diberitahu untuk mempercayai root CA. Lakukan ini dengan mengunjungi:
Lihat jawaban lengkapnya di sini :
sumber
Certificate Trust Settings
? Profil saya ditambahkan dan menyertakan sertifikat - ini baru berfungsi kurang dari sebulan yang lalu. Setel ulang cache simulator saya, sekarang sertifikat ditambahkan tetapi tidak ada opsi untuk mempercayainya sepenuhnya.basicConstraints = CA:TRUE
saat membuat sertifikat menggunakan openssl. Jika tidak, itu tidak akan terlihat dipercaya.Saya mengalami masalah yang sama selama berbulan-bulan dan hari ini saya AKHIRNYA menyelesaikannya dengan:
ADVTrustStore
Anda akan ingin menggunakan proyek bernama ADVTrustStore dari github. Itu melakukan sihir yang mewah tetapi itu akan menginstal sertifikat dengan benar ke toko kepercayaan root Anda di simulator.
Langkah-langkah untuk memasang sertifikat khusus
# Clone the repo git clone https://github.com/ADVTOOLS/ADVTrustStore.git # Enter the repo directory cd ADVTrustStore/ # Copy your .crt file cp somewhere/something.crt my.crt # conver to a .pem file openssl x509 -in my.crt -out my.pem -outform PEM # Install the pem in the simulators ./iosCertTrustManager.py -a my.pem
Dengan menggunakan proses ini saya bisa mendapatkan gambar GoogleStreetView untuk dirender dengan benar saat berada di balik firewall perusahaan menggunakan SSL mengundurkan diri dengan sertifikat yang ditandatangani sendiri
Latar Belakang
Saya menggunakan CharlesProxy dan saya perhatikan itu menginstal sertifikat dengan benar ke dalam Simulator tetapi mereka tidak muncul di bagian Pengaturan - Profil . Kemudian setelah beberapa pencarian saya menemukan alat ini. Mungkin ada beberapa alat lain di luar sana tetapi dalam kasus saya drag-and-drop tidak pernah berfungsi dengan benar untuk semua kasus. Safari akan baik-baik saja tetapi tidak untuk aplikasi saya.
sumber
Untuk siapa pun yang menggunakan OS X Catalina, harap periksa ini: https://forums.developer.apple.com/thread/124056 .
Catalina saat ini memblokir akses ke folder Desktop, Dokumen, dan Unduhan. Saya memindahkan file sertifikat ke folder Bersama dan menyeret dan melepaskan file ke simulator dari sana.
sumber
Lihat skrip shell yang digunakan Charles untuk memasang sertifikat yang ditandatangani sendiri ke dalam keychain simulator. http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
Lihat juga:
Sepertinya menginstal sertifikat Anda sendiri di simulator mungkin memerlukan menginstalnya di perangkat melalui Safari dan kemudian menyalin baris yang dihasilkan dari perangkat
TrustStore.sqlite3
ke simulator.sumber
Menggunakan iPhone Backup Extractor , saya menyalin saya iPhone
TrustStore.sqlite3
ke~/Library/Application Support/iPhone Simulator/6.0/Library/Keychains
, Timpa file yang ada. Saya mencoba hanya menyisipkan satu baris dengan sqlite berikut, tetapi saya tidak bisa membuatnya berfungsi.sqlite3 ~/backup/iOS\ Files/TrustStore.sqlite3 sqlite3>.mode insert sqlite3>.output working.sql sqlite3>select * from tsettings; sqlite3>.quit
Sekarang,
working.sql
memiliki seluruh isi tabel tsettings (dalam kasus saya, 1 baris).sqlite3 ~/Library/Application\ Support/iPhone\ Simulator/6.0/Library/Keychains/TrustStore.sqlite3 sqlite3>INSERT INTO tsettings VALUES(X'... sqlite3>.quit
Sekali lagi, perintah sqlite di atas tidak berfungsi untuk saya, tetapi mungkin merupakan titik awal yang baik untuk orang lain. Menyalin keseluruhan
TrustStore.sqlite3
dari cadangan ke simulator berfungsi dengan baik.sumber
Lihatlah
iostrust
permata Ruby: http://github.com/yageek/iostrustsumber
Menyeret dan melepas dulu berfungsi tetapi tidak berhasil pada XCode 12 untuk saya. Yang berhasil bagi saya adalah membuka browser Safari di Simulator dan kemudian mengetik URL file untuk file sertifikat .crt. Ex.
file:///Users/[folder_path]/[certificate.crt]
Setelah itu Anda harus pergi ke Pengaturan Simulator dan menginstal sertifikat dengan menavigasi ke bagian Umum> Profil.
sumber