আইফোন সিমুলেটারে স্ব-স্বাক্ষরিত শংসাপত্র যুক্ত করছেন?


90

আমার API এর শেষ পয়েন্টে আমার স্ব-স্বাক্ষরিত শংসাপত্র রয়েছে। আমি সিমুলেটর ব্যবহার করে কিছু জিনিস পরীক্ষা করার চেষ্টা করছি তবে "অবিশ্বস্ত সার্ভার শংসাপত্র" পাচ্ছি।

.Crt ফাইলটি ডাউনলোড করতে আমি সিমুলেটারে সাফারি ব্যবহার করার চেষ্টা করেছি, তবে এটি কাজ করে না বলে মনে হচ্ছে।

আইফোন সিমুলেটর এর কীচেইনটি কোথা থেকে পেয়েছে? আমি কীভাবে বিশ্বস্ত শংসাপত্র যুক্ত করতে পারি যাতে আমার অ্যাপ্লিকেশনটি কাজ করবে?

হালনাগাদ

আমি এটি একটি সিএ তৈরি করে এবং তারপরে আইফোন বিধানের সরঞ্জাম ব্যবহার করে একটি সিএ শংসাপত্র যুক্ত করে কাজ করতে পেরেছি। তারপরে আমি এপিআই সার্ভারে সিএ শংসাপত্রের দ্বারা স্বাক্ষরিত একটি শংসাপত্র রাখতে সক্ষম হয়েছি এবং এনএসসিঙ্কেশন সবেমাত্র কাজ করেছে। আমি কোনও কারণে স্ব-স্বাক্ষরিত শংসাপত্র ব্যবহার করে এটি কাজ করতে সক্ষম হইনি। প্রভিশনিং সফ্টওয়্যার ব্যবহার করে আমার এটি পুনরায় চেষ্টা করা দরকার।

আমার আসল প্রশ্নটি হ'ল সিমুলেটারে কাজ করার জন্য এটি কীভাবে পাব? আমি ভাবব যে সিমুলেটরটি প্রকৃত কম্পিউটারের কীচেইন ব্যবহার করে।


4
আমি সম্প্রতি সিএ শংসাপত্রের দ্বারা বিশ্বস্ত হোস্টের সাথে এটি আঘাত করেছি যা বিকাশের ম্যাকের লগইন কীচেইনে আমদানি করা হয়েছিল। (এটি হ'ল আমার স্থানীয় সাফারি সাইটে বিশ্বাস করে তবে সিমুলেটরটি নয়)) আমি অবাক হয়েছি এটি সিমুলেটারের সাথে কাজ করে নি। সিমুলেটারে বিশ্বস্ত শংসাপত্রগুলি হস্তান্তর করতে কীভাবে একজন আইফোন সরবরাহকারী সরঞ্জাম ব্যবহার করে?
এমপন্টিলো

উত্তর:


115

কেবল তথ্যের জন্য, যদি এখনও কেউ এই সমস্যায় পড়ে:

আপনার চলমান সিমুলেটর উইন্ডোতে কেবল আপনার .cer ফাইলগুলিকে টানুন এবং ফেলে দিন। আপনি সাফারিটিকে ঝলকানি এবং তারপরে আপনার শংসাপত্রের (বা শংসাপত্র কর্তৃপক্ষ) জন্য আমদানি ডায়ালগ দেখতে পাবেন ...

আইওএস 7 সিমুলেটারের জন্য কাজ করা (এবং আমি মনে করি আইওএস 6 এর জন্যও কাজ করেছিল)।


4
আইওএস 7 সিমুলেটারের পক্ষে যথেষ্ট তা নিশ্চিত হয়ে টানুন এবং ফেলে দেওয়া কাজ করে। আমি যাচাই করতে পারি যে এটি আইওএস 6.0 / 6.1 সিমুলেটরগুলিতে কাজ করে না।
জন বোয়ার্স

4
এটি কি আমি বা যেহেতু আমি এক্সকোড 6 এ অগ্রেড করেছি, এই টানুন এবং ড্রপ জিনিসটি এখন কেবলমাত্র সিমুলেটারের আইওএস 8 সংস্করণে কাজ করে। আইফোন 5 এস আইওএস 7 এবং আইওএস 7.1 সিমুলেটর ব্যবহার করে চেষ্টা করা হয়েছে, যখন আমি শংসাপত্রটি সিমুলেটর উইন্ডোতে টেনে আনি তখন কিছুই হয় না। এবং এখন আমি আটকে গিয়েছি এবং আইওএস 8 ব্যতীত আমার অ্যাপ্লিকেশনটি আর পরীক্ষা করতে পারছি না
ফ্রেড

4
আইওএস & এবং .1.১ এর জন্য একটি কার্যকারিতা বের করে দেখিয়েছে: আপনাকে একটি पहुंचযোগ্য ওয়েব সার্ভারে .cer ফাইল রাখুন, (অ্যাপ্লিকেশন / x-x509-ca-cert মাইম প্রকারের প্রয়োজন হলে এটি যুক্ত করুন) এবং শংসাপত্রটি ডাউনলোড করতে সিমুলেটারে সাফারি ব্যবহার করুন ওয়েব সার্ভার থেকে। এরপরে এটি এটিকে ইনস্টল করতে বলবে যদি আপনি এটিকে টেনে এনে ফেলে দেন তবে।
ফ্রেড

4
আপনি একজন god
শ্বর

4
তুমি সেই লোক! আমি জানতাম এটি করার একটি দ্রুত উপায় থাকতে হবে।
pqsk

45

যাঁরা খুঁজে পান যে সিমুলেটারে শংসাপত্রটি টেনে নিয়ে যাওয়া এবং ছেড়ে দেওয়া কাজ করছে না, তাদের সাম্প্রতিক পরিবর্তন হয়েছিল যা একটি অতিরিক্ত পদক্ষেপ যুক্ত করে

মূল সিএ বিশ্বাস করার জন্য সিমুলেটরটি অবশ্যই স্পষ্টভাবে বলতে হবে। এখানে গিয়ে এটি করুন:

সাধারণ -> সম্পর্কে -> শংসাপত্র ট্রাস্ট সেটিংস -> আপনার নির্দিষ্ট শংসাপত্রের জন্য "রুট শংসাপত্রের জন্য সম্পূর্ণ ভরসা সক্ষম করুন"

এখানে সম্পূর্ণ উত্তর দেখুন :


13
"রুট শংসাপত্রের জন্য পুরো ভরসা সক্ষম করুন" বিকল্পটি আমার সিমুলেটরটিতে আইওএস 10.3 চলছে যা নেই
যিশু রড্রিগেজ

4
আপনি কি কখনও এই সমস্যাটি সমাধান করেছেন - মূল শংসাপত্রের নীচে তালিকাভুক্ত করা হচ্ছে না Certificate Trust Settings? আমার প্রোফাইল যুক্ত হয়েছে এবং এতে একটি শংসাপত্র রয়েছে - এটি এক মাস আগেও কম কাজ করছে। আমার সিমুলেটর ক্যাশে পুনরায় সেট করুন, এখন শংসাপত্র যুক্ত হয়েছে তবে এটির পুরোপুরি বিশ্বাস করার কোনও বিকল্প নেই।
খ্রিস্ট

4
আমার ক্ষেত্রে, "রুট শংসাপত্রের জন্য পুরো ভরসা সক্ষম করুন" বিকল্পটি কেবলমাত্র শংসাপত্রের জন্য উপস্থিত হয়। এটি মধ্যবর্তী বা পাতার শংসাপত্রগুলির জন্য উপস্থিত হয় না।
জন গিরতা

4
আমি আরও দেখতে পেলাম যে শংসাপত্রটিতে অবশ্যই সিএ বুনিয়াদী বাধা বিকল্পটি সত্য হিসাবে সেট করা থাকতে পারে: basicConstraints = CA:TRUEওপেনএসএল ব্যবহার করে শংসাপত্রটি তৈরি করার সময়। অন্যথায় এটি বিশ্বাসযোগ্য হবে না।
স্যান্ডিনমাইজয়েন্টস 8:18

4
এটি 12.2 (সম্ভবত পূর্ববর্তী সংস্করণগুলিও) হিসাবে দেখা যাচ্ছে যে পদ্ধতিটি এখন সাধারণ> প্রোফাইলগুলিতে যেতে হবে,
শংসাপত্রটি

23

কয়েক মাস ধরে আমার এই একই সমস্যা ছিল এবং আজ আমি শেষ পর্যন্ত এটি সমাধান করেছি:

ADVTrustStore

আপনি গিথুব থেকে ADVTrustStore নামে একটি প্রকল্প ব্যবহার করতে চাইছেন । এটি কিছু অভিনব যাদু করে তবে এটি সিমুলেটারে আপনার মূল বিশ্বাসের দোকানে সঠিকভাবে শংসাপত্রগুলি ইনস্টল করবে।

একটি কাস্টম সার্ট ইনস্টল করার পদক্ষেপ

# 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

এই প্রক্রিয়াটি ব্যবহার করে আমি এসএসএল স্ব-স্বাক্ষরিত শংসাপত্র সহ পদত্যাগ করে কর্পোরেট ফায়ারওয়ালের পিছনে থাকা অবস্থায় গুগলস্ট্রিটভিউ চিত্রগুলি সঠিকভাবে রেন্ডার করতে সক্ষম হয়েছি

পটভূমি

আমি চার্লসপ্রক্সি ব্যবহার করছিলাম এবং আমি লক্ষ্য করেছি যে এটি সঠিকভাবে সিমুলেটারে শংসাপত্র ইনস্টল করছে তবে তারা সেটিংস - প্রোফাইল বিভাগে প্রদর্শিত হয়নি। তারপরে কিছু অনুসন্ধানের পরে আমি এই সরঞ্জামটি আবিষ্কার করি। সম্ভবত সেখানে কয়েকটি অন্যান্য সরঞ্জাম রয়েছে তবে আমার ক্ষেত্রে ড্রাগ-অ্যান্ড-ড্রপ সব ক্ষেত্রে সঠিকভাবে কাজ করে নি। সাফারি ভাল হবে তবে আমার অ্যাপ্লিকেশনগুলি নয়।


4
টিআইপি: নতুন শংসাপত্র ইনস্টল করতে পুনরায় চালু করুন সিমুলেটর।
কিকো সেইজো

4
এটি আমার কাছে এক্সকোড 10.1 এবং আইফোন 5 এস 12.1 সিমুলেটার সহ কৌশলটি করেছে। আপনাকে ঠিক নিশ্চিত করতে হবে যে আপনি স্ক্রিপ্টটি সঠিক সিমুলেটারে শংসাপত্রটি ইনস্টল করতে বলেছেন। আপনি যদি এটি ব্যাডসেল.টেস্টের সাথে (যেমন ডকারে স্থানীয়ভাবে চলমান ব্যাডসেল) এর সাথে ব্যবহার করে থাকেন তবে প্রকৃত শংসাপত্র ব্যতীত সমস্ত কিছু সরাতে আপনাকে .pem হ্যাক করতে হবে।
অ্যান্ড্রু এবলিং

এটি আমার জীবন বাঁচায় আইওএস এ স্ব স্বাক্ষরিত শংসাপত্রগুলি ইনস্টল করার জন্য কোনও সম্প্রদায় সমর্থন নেই। ধন্যবাদ!
lsimonetti

আমি নিশ্চিত করি যে এটি আইওএস 12.4 এর সাথে আইফোন এক্সের জন্য সিমুলেটার 10.3 এ কাজ করে।
সের্গেই বাশারভ

10

ওএস এক্স ক্যাটালিনা ব্যবহারের জন্য, দয়া করে এটি পরীক্ষা করুন: https://forums.developer.apple.com/thread/124056

ক্যাটালিনা বর্তমানে ডেস্কটপ, ডকুমেন্টস এবং ডাউনলোড ফোল্ডারে অ্যাক্সেস ব্লক করছে। আমি শংসাপত্রের ফাইলগুলি ভাগ করা ফোল্ডারে সরিয়ে নিয়েছি এবং সেখান থেকে ফাইলগুলি টানুন এবং সিমুলেটারে ফেলে রেখেছি।



9

চার্জগুলি সিমুলেটারের কীচেইনে তাদের স্ব স্বাক্ষরিত সার্টিটি ইনস্টল করতে ব্যবহার করে শেল স্ক্রিপ্টটি একবার দেখুন। http://www.charlesproxy.com/docamentation/faqs/ssl-connections-from-within- iPhone-applications/

আরো দেখুন:

দেখে মনে হচ্ছে সিমুলেটারে আপনার নিজস্ব শংসাপত্র ইনস্টল করার জন্য এটিকে ডিভাইসে সাফারি হয়ে ইনস্টল করার প্রয়োজন হতে পারে এবং তারপরে ডিভাইসটির ফলস্বরূপ সারিটি TrustStore.sqlite3সিমুলেটারে অনুলিপি করতে পারে ।


@nailer উত্তরটি আরও কিছু রেফারেন্স সহ আপডেট হয়েছে, যতদূর আমি জানি যে স্ট্রাস্টস্টোর.সক্লাইট 3 এ bs ব্লবগুলির ফর্ম্যাটটি অস্বচ্ছ (এবং সম্ভাব্যভাবে পরিবর্তনের সাপেক্ষে) তাই অন্যরা যে পদ্ধতি গ্রহণ করেছে তাতে মনে হয় সাফারির মাধ্যমে কোনও ডিভাইসে শংসাপত্রটি ইনস্টল করা হবে seems এবং ফলস্বরূপ ট্রাস্টস্টোর সারিটি তাদের সিমুলেটারে অনুলিপি করছে।
জোনা

2

ব্যবহার আইফোন ব্যাকআপ এক্সট্রাক্টর , আমি আমার আইফোন এর অনুলিপি TrustStore.sqlite3মধ্যে ~/Library/Application Support/iPhone Simulator/6.0/Library/Keychains, বিদ্যমান ফাইল কে overwrite। আমি নীচের স্ক্লাইট সহ কেবল একটি একক সারি সন্নিবেশ করানোর চেষ্টা করেছি, তবে আমি এটি কাজ করতে পারিনি।

sqlite3 ~/backup/iOS\ Files/TrustStore.sqlite3
sqlite3>.mode insert
sqlite3>.output working.sql
sqlite3>select * from tsettings;
sqlite3>.quit

এখন, working.sqlটিসেটেটিং টেবিলের পুরো বিষয়বস্তু রয়েছে (আমার ক্ষেত্রে, 1 সারি)।

sqlite3 ~/Library/Application\ Support/iPhone\ Simulator/6.0/Library/Keychains/TrustStore.sqlite3
sqlite3>INSERT INTO tsettings VALUES(X'...
sqlite3>.quit

আবার, উপরোক্ত স্ক্লাইট কমান্ডগুলি আমার পক্ষে কাজ করে না, তবে অন্য কারও পক্ষে এটি সূচনার পয়েন্ট হতে পারে। TrustStore.sqlite3ব্যাকআপ থেকে পুরোটি সিমুলেটারে অনুলিপি করা ঠিক কাজ করেছিল।



0

টেনে আনতে এবং ফেলে দেওয়ার কাজ করত তবে এটি আমার জন্য এক্সকোড 12 এ কাজ করে না। আমার জন্য যা কাজ করেছিল তা হ'ল সিমুলেটারে সাফারি ব্রাউজার খুলুন এবং তারপরে .crt শংসাপত্রের ফাইলটির জন্য ফাইল URL টাইপ করুন। প্রাক্তন

file:///Users/[folder_path]/[certificate.crt]

এর পরে আপনাকে সিমুলেটর সেটিংসে যেতে হবে এবং সাধারণ> প্রোফাইল বিভাগে নেভিগেট করে শংসাপত্রটি ইনস্টল করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.