सिद्धांत रूप में,
shoguevara और
मैं काफी लंबे समय से एंड्रॉइड डिवाइस में रूट सर्टिफिकेट स्थापित करने के सवाल से
परेशान थे और यहां तक कि सबसे तुच्छ निर्देशों के एक जोड़े को भी नहीं मिला, लेकिन इससे पहले ऐसी कार्रवाई की कोई आवश्यकता नहीं थी। एंड्रॉइड पर टैबलेट के अधिग्रहण के बाद की आवश्यकता दिखाई दी।
थोड़ा पृष्ठभूमि:
यह कार्यालय से दूरस्थ कार्य प्रदान करने के लिए
Citrix XenApp पर हमारे कार्यालय में है। यह किस प्रकार का जानवर है और इसके साथ क्या खाया जाता है, इस पर चर्चा नहीं की जाएगी - जिन्हें इसकी आवश्यकता है वे लंबे समय से जानते हैं।
इस संयुक्त रिकॉर्डिंग में, हम रूट प्रमाणपत्र स्थापित करने और क्लाइंट भाग -
एंड्रॉइड के लिए Citrix रिसीवर स्थापित करने के बारे में बात करना चाहते हैं।

सिद्धांत रूप में, ग्राहक सबसे अधिक दुखी नहीं है - आप इसका उपयोग कर सकते हैं, लेकिन अगर आप कहीं यात्रा पर हैं और आपके पास केवल अपने हाथों पर एक एंड्रॉइड फोन या टैबलेट है, तो यह काम करने वाले कंप्यूटर के माध्यम से जल्दी से कनेक्ट करने और ठीक करने का एकमात्र तरीका है।
ऐसा लगता है कि सॉफ़्टवेयर बहुत मुश्किल नहीं है और इसके लिए बहुत अधिक सेटिंग्स की आवश्यकता नहीं है, और यदि आप वेब इंटरफेस का उपयोग अनुप्रयोगों को चलाने के लिए करते हैं, जैसा कि हमारे संगठन में किया जाता है, तो बिल्कुल कुछ भी नहीं ...
लेकिन सब कुछ इतना बादल रहित नहीं है!
किस तरह की समस्याएं पैदा हो सकती हैं?
इस तरह के रिमोट एक्सेस आर्किटेक्चर को व्यवस्थित करने के लिए, प्रमाण पत्र अक्सर उपयोग किए जाते हैं जो उन केंद्रों द्वारा हस्ताक्षरित होते हैं जो मानक सूची में शामिल नहीं होते हैं। Google इतना खराब क्यों है, और अपने OS में इस तरह के एक साधारण फ़ंक्शन को शामिल नहीं किया, (जैसे, फिर से, आवश्यक फ़ंक्शन, प्रॉक्सी सर्वर को पंजीकृत करने की क्षमता के रूप में) अतिरिक्त रूट सीए प्रमाण पत्र स्थापित करने की तरह, हम यहां चर्चा नहीं करने जा रहे हैं।
पहला संकेत जो सर्वर स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग कर रहा है वह यह है कि जब आप किसी वेब संसाधन का उपयोग करते हुए कहीं से भी खोलते हैं, उदाहरण के लिए, मोज़िला फ़ायरफ़ॉक्स ब्राउज़र, प्रोग्राम एक संदेश प्रदर्शित करता है जो इसे स्वयं पर भरोसा करने का निर्णय नहीं ले सकता है। यह एक सुरक्षित कनेक्शन स्थापित करने का प्रमाण पत्र है या नहीं, यह आपको चुनने का अधिकार देता है।
यदि आपके पास ऐसी कोई तस्वीर है, तो यह लेख सिर्फ आपके लिए है!
तो क्या यह आपकी कंपनी के Citrix XanApp पर Citrix Receiver के माध्यम से प्रकाशित होने वाले अनुप्रयोगों को चलाने के लिए लेता है?
सबसे पहले, जैसा कि यह निकला, आपको
एंड्रॉइड के लिए मोज़िला फ़ायरफ़ॉक्स स्थापित करने की आवश्यकता
है । यह बहुत ही अजीब है, लेकिन क्लाइंट प्रोग्राम से कनेक्शन के लिए आवश्यक फ़ाइल (लॉन्च .ica) को कोई अन्य ब्राउज़र स्थानांतरित नहीं करता है। हम केवल यह जानते हैं कि फ़ायरफ़ॉक्स के साथ सब कुछ ठीक है।
दूसरे, क्लाइंट प्रोग्राम को खुद की जरूरत होती है। यहाँ Android Market पर हमारे पास एक विकल्प है: एक स्थिर Citrix Receiver, या Citrix Labs Receiver के परीक्षण चरण में। दूसरे को हम किसी भी प्रमाण पत्र को स्वीकार नहीं करना चाहते थे, पहला - स्थिर, एक नींद की रात के बाद, हमने अभी भी इसे अर्जित किया।
तीसरा, आपके पास अपने डिवाइस पर रूट एक्सेस या एडीबी के माध्यम से फ़ाइलों को निकालने और लिखने की क्षमता होनी चाहिए, हालांकि इस मामले में आपको रूट एक्सेस की भी आवश्यकता है (आप यह जान सकते हैं कि आपको दिए गए परिणामों को देखने में थोड़ा समय खर्च करके इसे कैसे कॉन्फ़िगर किया जाए। Google के लिए "<अपने डिवाइस का नाम> रूट एक्सेस हाउटो" या "<आपके डिवाइस का नाम> अदब कॉन्फ़िगर कैसे करें") की तरह।
हम adb विन्यास समस्या से परेशान नहीं हैं, फिर से, क्योंकि हम सिस्टम के साथ फ़ाइल प्रबंधकों के माध्यम से सीधे काम करना पसंद करते हैं। किसी भी मामले में, नेटवर्क के पास इस बारे में बहुत सारी जानकारी है (रूसी-भाषा संसाधन जिस पर इस तरह की सबसे अधिक जानकारी
http://w3bsit3-dns.com/forum है , अंग्रेजी-भाषा
http://forum.xda-developers.com है )। यदि आप सिस्टम फ़ाइलों तक सीधी पहुंच का उपयोग करेंगे, तो आपको एक फ़ाइल प्रबंधक की आवश्यकता है जो रूट अधिकारों (उदाहरण के लिए, रूट एक्सप्लोरर) का उपयोग कर सकता है।
चौथा, आपको किसी भी लोकप्रिय लिनक्स वितरण और ओरेकल से स्थापित जावा मशीन के साथ एक मशीन की आवश्यकता है (हमने
जेबीआर के साथ उबंटू 10.10 का उपयोग
किया )।
और सूची में अंतिम, लेकिन किसी भी तरह से कम से कम, प्रमाणीकरण प्राधिकारी का मूल प्रमाण पत्र है (इसे CompanyCA.crt कहा जाना चाहिए)।
आवश्यकताओं से (यदि वे सभी पूर्ण होते हैं), हम कार्रवाई के लिए आगे बढ़ते हैं।
सुविधा के लिए, हम हर चीज को आइटम द्वारा सूचीबद्ध करेंगे।
1. हम डिवाइस से एंड्रॉइड मार्केट में जाते हैं और फ़ायरफ़ॉक्स इंस्टॉल करते हैं।
2. हम डिवाइस से एंड्रॉइड मार्केट में जाते हैं और Citrix रिसीवर स्थापित करते हैं।
3.1.1 (3.1.x उन लोगों के लिए जो सीधे पहुंच पसंद करते हैं) फ़ाइल प्रबंधक का उपयोग करके, फ़ाइल /system/etc/security/cacerts.bks cacerts.bks को एसडी कार्ड में कॉपी करें।
3.1.2 लिनक्स के साथ कंप्यूटर के लिए ड्राइव के रूप में डिवाइस को कनेक्ट करें।
3.1.3 कार्ड के रूट से cacerts.bks फ़ाइल को अपने होम फ़ोल्डर में कॉपी करें।
3.2.1 (adb) प्रमाणपत्र की प्रतिलिपि बनाएँ
$ adb पुल /system/etc/security/cacerts.bks cacerts.bks
4. यह आइटम मानता है कि आपने JRE 1.6 को पहले ही स्थापित और कॉन्फ़िगर किया है और पर्यावरण चर JAVA_HOME (मेरे मामले में JAVA_HOME = / usr / lib / jvm / java-6-sun /) पंजीकृत है।
B Councilycastle.org/download/bcprov-jdk16-146.jar पैकेज डाउनलोड करें और इसे $ JAVA_HOME / jre / lib / ext / फ़ोल्डर में
छोड़ेंयदि आपके पास JDK स्थापित है, तो यह पैकेज / usr / lib / jvm / java-6-openjdk / jre / lib / ext फ़ोल्डर में भी डाला जाना चाहिए
wget bouncycastle.org/download/bcprov-jdk16-146.jar
sudo cp bcprov-jdk16-146.jar $JAVA_HOME/jre/lib/ext/bcprov-jdk16-146.jar
# sudo cp bcprov-jdk16-146.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/bcprov-jdk16-146.jar
5. हम सर्टिफिकेट कंपनी CompanyCA.crt को होम फोल्डर में छोड़ देते हैं। यदि आपके पास एक नहीं है, लेकिन आप XenApp वेब इंटरफेस पर स्विच करते समय प्रमाणपत्र को स्वीकार करने के लिए सहमत हुए, तो आप इसे फ़ायरफ़ॉक्स से निर्यात कर सकते हैं। यह कैसे करें -
Google को बताएं । हम केवल यह स्पष्ट कर सकते हैं कि एन्क्रिप्शन को X.509 PEM की आवश्यकता है।
6. एंड्रॉइड एसडीके डाउनलोड करें और इंस्टॉल करें (यदि आप एडीबी का उपयोग करने की योजना नहीं बनाते हैं, तो आप इस चरण को छोड़ सकते हैं):
wget dl.google.com/android/android-sdk_r10-linux_x86.tgz
tar -xvzf android-sdk_r10-linux_x86.tgz
sudo mv android-sdk-linux_x86 /usr/lib/android-sdk-linux_x86
किट से कुछ भी चलाना हमारे कार्य के लिए आवश्यक नहीं है। लेकिन आपको SDK निष्पादन योग्य फ़ाइलों को पर्यावरण चर निर्यात PATH = $ {PATH} में पंजीकृत करने की आवश्यकता है: / usr / lib / android-sdk-linux_x86 / tools।
हमारे मामले में, पर्यावरण चर के साथ मुद्दा ~ / .bashrc फ़ाइल के अंत में लाइनें जोड़कर हल किया जाता है
export PATH=${PATH}:/usr/lib/android-sdk-linux_x86/tools
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
7. कंसोल खोलें और कमांड निष्पादित करें
keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file CompanyCA.crt
सावधान रहें - -स्टोरीज चेंज पैरामीटर में बदलाव न करें, वास्तव में ऐसा पासवर्ड है)इस आदेश के जवाब में, आपको प्रमाण पत्र की जानकारी और अनुरोध प्राप्त करना चाहिए "इस प्रमाणपत्र पर भरोसा करें? [नहीं]: "- इसी उत्तर" y "।
यही है, हमारी फाइल तैयार है। अब आपको इसे डिवाइस पर डाउनलोड करने की आवश्यकता है।
8.1.1 (सीधी पहुंच) हम डिवाइस को कंप्यूटर से ड्राइव के रूप में जोड़ते हैं;
8.1.2 मानचित्र में cacerts.bks फ़ाइल डाउनलोड करें;
8.1.3 cacerts.bks फ़ाइल प्रबंधक को / sdcard फ़ोल्डर से / प्रणाली / आदि / सुरक्षा / फ़ोल्डर में स्थानांतरित करें, इसे रिकॉर्डिंग के लिए पूर्व-बढ़ते;
8.2.1 (adb) रिकॉर्डिंग के लिए सिस्टम माउंट करें:
$ adb खोल माउंट -o रीमाउंट, आरडब्ल्यू / सिस्टम;
8.2.2 फ़ाइल डाउनलोड करें:
$ adb पुश cacerts.bks / system / etc / security /;
8.2.2 सिस्टम केवल-पढ़ने के लिए माउंट करें:
$ adb शेल माउंट -o रीमाउंट, आरओ / सिस्टम।
कठिन हिस्सा खत्म हो गया है। एक दो कान थे।
9. डिवाइस को रिबूट करें।
10. फ़ायरफ़ॉक्स लॉन्च करें और वेब एक्सेस पेज खोलें।
निम्नलिखित चित्र लगभग दिखाई देगा:

यहां हमें स्क्रीन के शीर्ष पर "पहले से इंस्टॉल" लिंक पर क्लिक करने की आवश्यकता है;
11. सूची से एक आवेदन का चयन करें और चलाने की कोशिश करें;
12. लाभ!
उपयोग किए गए निर्देशों को तैयार करने में:
http://wiki.cacert.org/ImportRootCert#Android_Phoneshttp://blog.dest-unreach.be/2010/05/03/installing-an-additional-x-509-root-certificate-on-androidhttp://bouncycastle.org/एक बोनस के रूप में - प्रमाण पत्र (जावा) के साथ काम करने के लिए एक उपयोगी उपयोगिता:
http://portecle.sourceforge.net