-
Notifications
You must be signed in to change notification settings - Fork 23
How to Start Device Connect as HTTPS Server
ここでは、Device Connect Managerを HTTPS サーバーとして起動し、正常にアクセスできるように設定するための手順を説明します。
現時点では、HTTPS 通信機能は試験的な実装となっています。よって、ここでの情報は今後のアップデートで変更される可能性があります。ご了承ください。
Device Connect Manager のサーバー証明書は自己署名証明書です。よって、Device Connect Manager の HTTPS サーバーにアクセスする際は、クライアント側の端末にサーバー証明書を「信頼された証明書」としてインストールする必要があります。
PKCS#12 形式のキーストアとして提供されます。
キーストアのパスワードは 0000 (固定) です。
以降、Device Connect Manager のサーバー証明書を単に「証明書」と呼びます。
Android OSの仕様上、Android 端末にユーザーの手によって証明書をインストールするためには、端末のセキュリティを設定する必要があります。すでに設定済みの場合は、この手順をスキップしてください。
以下、例として Nexus 6P (Android 8.1.0) にPINコードを設定する手順を説明します。
- 端末の「設定」をタップしてください。
- 「セキュリティと現在地情報」をタップしてください。
- 「画面ロック」をタップしてください。
- 「PIN」をタップしてください。
- 起動時の保護についての確認が表示されます。「はい」をタップしてください。
- 設定したいPINを入力し、「次へ」をタップしてください。
- PINを再入力し、「OK」をタップしてください。
- 端末がロックされている場合にどこまで通知を表示するかについて任意の項目を選択し、「完了」をタップしてください。
アクセス元がホスト端末の内部か外部かによって、証明書のインストール手順が異なります。内部・外部の両方からアクセスされる場合は、以下の両方の手順を実行してください。
ホスト端末とは、Device Connect ManagerがインストールされているAndroid端末を指します。
- Device Connect Manager の設定画面を開く。
- 「証明書インストール」を選択。
- 証明書インストールダイアログが表示されるので、「OK」を押す。
- Android 端末のシステム側に証明書がインストールされた旨のトーストが表示される。
これによって、Android 端末の内部 (WebView、または Android向け Web ブラウザ上)で Device Connect Manager と HTTPS 通信できるようになります。
ここでは Windows または macOS 搭載の PC からアクセスするものとします。
- Device Connect Manager の設定画面を開く。
- 「証明書出力」を選択。
- 証明書出力ダイアログが表示されることを確認。デフォルトの出力先は以下のとおり。
/storage/emulated/0/Android/data/org.deviceconnect.android.manager/files/Documents/
- SD カード上の出力先のフォルダを指定し、「出力」を押すと、SDカード上に keystore.p12 という名前で証明書がコピーされます。
- 端末とPCをUSBで接続し、以下のadbコマンドで証明書をPC側の任意の場所にコピーしてください。 コピー元のパスはデフォルト設定のものです。
$ adb pull /storage/emulated/0/Android/data/org.deviceconnect.android.manager/files/Documents/keystore.p12 ./
- 所定の手順により、PCに証明書をインストール。詳細は OS 側から提供されるヘルプ、または以下の外部サイトを参考にしてください。
- Windows: Windows環境で証明書をインポートする方法
- macOS: Mac端末での手順
基本的には証明書のファイルをクリックして開くことで、インストールするためのダイアログが起動します。
Device Connect Manager の設定画面で「SSL」が ON になっているかどうかを確認してください。
ONになっていた場合、すでに HTTPS サーバーとして起動しています。 OFFになっていた場合は、以下の手順を実行してください。
- Device Connect Managerのサーバーを停止させる。
- 「SSL」をONにする。
- Device Connect Managerのサーバーを再起動させる。
これによって、HTTPS サーバーとして起動します。