Androidに独自のルート証明書をインストールし、Citrix XenApp Webインターフェイスを実行する

原則として、 shoguevaraは、Androidデバイスにルート証明書をインストールするという問題に長い間悩まされており、最も些細ではないいくつかの指示を見つけましたが、その前にはそのようなアクションは必要ありませんでした。 Androidでタブレットを買収した後、ニーズが現​​れました。



少しの背景:



Citrix XenAppのオフィスでは、オフィスからのリモートワークを提供しています。 それがどんな動物で、どんな動物と一緒に食べられるかは議論されません-それを必要とする人々は長い間知っていました。

この共同記録では、ルート証明書のインストールとクライアント部分のセットアップ-Citrix Receiver for Androidについて説明します



注目を集める絵



原則として、クライアントは最も悲惨なものではありません-あなたはそれを使用できますが、旅行中にどこかにいて、Androidの携帯電話またはタブレットしか手に持っていない場合、これは動作しているコンピューターを介して何かをすばやく接続して修正する唯一の方法です。

ソフトウェアはそれほどトリッキーではなく、多くの設定を必要としないようです。組織で行われているように、Webインターフェースを使用してアプリケーションを実行する場合は、まったく何もしません...

しかし、すべてがそんなに雲一つないわけではありません!



どのような問題が発生する可能性がありますか?



この種のリモートアクセスアーキテクチャを整理するために、標準リストに含まれていないセンターによって署名された証明書がよく使用されます。 Googleがそれほど悪いので、追加のルートCA証明書をインストールするなど、そのような単純な機能をOSに含めなかった理由(プロキシサーバーを登録する機能など)については、ここでは説明しません。

サーバーが自己署名証明書を使用している最初の兆候は、Mozilla Firefoxブラウザーなどを使用してどこからでもWebリソースを開くと、プログラムは信頼するかどうかを決定できないというメッセージを表示することです安全な接続を確立するための証明書であるかどうかに関係なく、選択する権利が与えられます。

あなたがそのような写真を持っているなら、この記事はあなたのためだけです!



会社のCitrix XanAppで公開されたアプリケーションをCitrix Receiverで実行するには何が必要ですか?





まず、判明したように、 Android用Mozilla Firefoxをインストールする必要があります。 これは非常に奇妙ですが、他のブラウザはクライアントプログラムへの接続に必要なファイル(launch.ica)を転送しません。 Firefoxですべてが正常に動作することだけがわかっています。



次に、クライアントプログラム自体が必要です。 Androidマーケットでは、安定したCitrix Receiverを選択するか、Citrix Labs Receiverのテスト段階にいます。 2番目の証明書はいずれも証明書を受け入れたくありませんでした。最初の証明書-安定した、眠れぬ夜の後、まだ証明書を取得していました。



第三に、デバイスへのルートアクセス、またはadbを介してファイルを抽出して書き戻す機能が必要ですが、この場合はルートアクセスも必要です(設定方法は、得られた結果の表示に少し時間をかけることで学習できます) 「<your device name> root access howto」または「<your device name> adb configure howto」などのクエリについては、Googleをご覧ください)。



システムでファイルマネージャーを直接操作することを好むため、再びadb構成の問題を気にしませんでした。 いずれにせよ、ネットワークにはこれに関する多くの情報があります(この種の情報が最も多いロシア語のリソースはhttp://w3bsit3-dns.com/forumで、英語はhttp://forum.xda-developers.comです )。 システムファイルへの直接アクセスを使用する場合は、ルート権限を使用できるファイルマネージャー(ルートエクスプローラーなど)が必要です。



第4に、人気のあるLinuxディストリビューションを搭載したマシンと、OracleからインストールされたJavaマシンが必要です( JREをインストールした Ubuntu 10.10を使用しました )。



そして、リストの最後の、少なくとも決してではない、証明機関のルート証明書です(CompanyCA.crtと呼ばれます)。



要件から(すべて満たされている場合)、アクションに進みます。



便宜上、アイテムごとにすべてをリストします。



1.デバイスからAndroidマーケットに移動し、Firefoxをインストールします。

2.デバイスからAndroidマーケットに移動し、Citrix Receiverをインストールします。

3.1.1(直接アクセスを希望する場合は3.1.x)ファイルマネージャを使用して、ファイル/system/etc/security/cacerts.bks cacerts.bksをSDカードにコピーします。

3.1.2 Linuxを使用して、デバイスをドライブとしてコンピューターに接続します。

3.1.3 cacerts.bksファイルをカードのルートからホームフォルダーにコピーします。

3.2.1(adb)証明書をコピーする

$ adb pull /system/etc/security/cacerts.bks cacerts.bks



4.この項目は、JRE 1.6がすでにインストールおよび設定されており、環境変数JAVA_HOME(私の場合はJAVA_HOME = / usr / lib / jvm / java-6-sun /)が登録されていることを前提としています。

bouncycastle.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 Webインターフェイスに切り替えるときに証明書を受け入れることに同意した場合は、Firefoxから証明書をエクスポートできます。 これを行う方法-Googleに伝えます 。 暗号化が必要なのはX.509 PEMのみであることを明確にすることができます。



6. Android SDKをダウンロードしてインストールします(adbを使用する予定がない場合は、この手順をスキップできます)。

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






キットから何かを実行する必要はありません。 ただし、環境変数export PATH = $ {PATH}:/ usr / lib / android-sdk-linux_x86 / toolsにSDK実行可能ファイルを登録する必要があります。

この場合、環境変数の問題は〜/ .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









注意してください--storepass changeitパラメーターを変更しないでください、本当にそのようなパスワードがあります)



このコマンドへの応答として、証明書情報と「この証明書を信頼しますか? [no]: "-対応して答えます" y "。

以上で、ファイルが準備されました。 次に、デバイスにダウンロードする必要があります。



8.1.1(直接アクセス)デバイスをドライブとしてコンピューターに接続します。

8.1.2 cacerts.bksファイルをマップにダウンロードします。

8.1.3 cacerts.bksファイルマネージャーを/ sdcardフォルダーから/ system / etc / security /フォルダーに転送し、記録用に事前マウントします。

8.2.1(adb)記録用にシステムをマウントします。

$ adb shell mount -o remount、rw / system;

8.2.2ファイルをダウンロードします。

$ adb push cacerts.bks / system / etc / security /;

8.2.2システムを読み取り専用でマウントします。

$ adb shell mount -o remount、ro / system。



難しい部分は終わりました。 いくつかのかすかな耳がありました。



9.デバイスを再起動します。



10. Firefoxを起動し、Webアクセスページを開きます。

次の図がおよそ表示されます。

結果



ここで、画面上部の「インストール済み」リンクをクリックする必要があります。



11.リストからアプリケーションを選択して、実行を試みます。



12.利益!



リソースを使用する指示を準備する際:

http://wiki.cacert.org/ImportRootCert#Android_Phones

http://blog.dest-unreach.be/2010/05/03/installing-an-additional-x-509-root-certificate-on-android

http://bouncycastle.org/

ボーナスとして-証明書(Java)を操作するための便利なユーティリティ: http : //portecle.sourceforge.net



All Articles