1

MobileFirst バージョン 6.3.0 を使用しており、MobileFirst サーバーを https モードのみで実行するようにセットアップしようとしています。基本的に、これは、サーバー側で生成された自己署名証明書が必要であり、アプリが機能するために Android デバイスに証明書がインストールされている必要があることを意味します。

ポート 10443 でのみ実行するように MobileFirst サーバーをセットアップしましたが、Chrome ブラウザー (Android デバイスから) がhttps://<server>:10443/worklightconsole、信頼できない Web サイトへのアクセスについて警告することなくアクセスできることを確認できます [これは、証明書が適切にインストールされたことの確認と見なします]モバイルデバイスで]。しかし、MobileFirst から生成した Android アプリがサーバーに接続できないことがわかりました (これは接続の問題ではないと思いますhttp://<server>:10080。使用するアプリをビルドすると、アプリはうまく機能するからです。使用するアプリを再構築しますhttps://<server>:10443

MFP のドキュメントに記載されている手順に従って、自己署名証明書を作成しました [ http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/admin/ t_updating_keystore_liberty.html?lang=ja]

私が従った正確な手順を詳しく説明しましょう。

サーバー側の変更:

  1. サーバーがポート 10443 でのみ実行されるように、server.xml から httpPort="10080" を削除します。
  2. サーバーの自己署名証明書を作成します。openssl を使用して自己署名証明書を生成しました。まず、コマンド「openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt」で証明書と秘密鍵ファイルを作成します。
  3. 次に、コマンド「openssl pkcs12 -export -in certificate.crt -inkey privateKey.key -out server.p12 -passout pass:passServerP12 -passin pass:passServer」を使用して、証明書とキーを 1 つのファイルに圧縮するキーストア ファイルを作成します。
  4. 上記で生成した新しいキーストアを使用するように mfp サーバーを構成します。基本的に、server.p12 ファイルをワークスペース・ディレクトリーの下の「MobileFirstServerConfig\servers\worklight\resources\security」にコピーします。
  5. <keyStore id="defaultKeyStore" password="worklight"/>server.xml を削除 (またはコメントアウト)します。
  6. [次の行を追加] の<feature>ssl-1.0</feature>下に設定されていることを確認します<featureManager>
    <ssl id="mySSLSettings" keyStoreRef="myKeyStore"/> <keyStore id="myKeyStore" location="server.p12" password="passServerP12" type="PKCS12"/> <sslDefault sslRef="mySSLSettings"/>
  7. ビルド設定を に設定してモバイル アプリをビルドhttps://<server>:10443し、mfp サーバーにデプロイする

モバイル デバイス側の変更:

  1. 証明書 (上記で生成されたcertificate.crt) をモバイル デバイスにダウンロードします。ファイルをインストールし、デバイスで証明書を受け入れます。
  2. Chrome ブラウザーでアクセスして、この証明書がモバイル デバイスとブラウザーによって信頼されていることを確認しますhttps://<server>:10443/worklightconsole。このステップは、次のスクリーンショットに従って進みました: http://www-01.ibm.com/support/knowledgecenter/?lang=en#!/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/admin /t_installing_root_CA_android.html .
  3. アプリをデバイスにダウンロードすると、 でサーバーへの接続が開始されhttps://<server>:10443ます。

上記のステップ 2 はうまくいきましたが、ステップ 3 は機能していません。基本的に、Chrome ブラウザーは証明書を取得しますが、モバイル アプリは取得しません。

Android デバイスから信頼できる (および自己署名された) 証明書を取得するために、Eclipse でモバイル アプリをビルドする際に何かする必要がありますか?

4

1 に答える 1

2

上記の手順 2 では、ブラウザがサーバーを信頼していることを確認しますが、デバイスがサーバーを信頼していることは確認していません。デバイスとブラウザーは、2 つの異なるトラスト ストアと ssl ロジックを使用します (場合によっては)。

Idan の質問は私と同じです。ルート CA をどのように「インストール」しましたか? ブラウザ経由ですか、それとも電子メールまたはダウンロード リンク経由のデバイス経由ですか? ブラウザのインポートによるものである場合、必要な場所であるデバイスのトラストストアには配置されません。

于 2015-03-18T14:57:06.833 に答える