AndroidのChromeでエラーにならないローカルIPアドレスのオレオレ証明書を作る手順


■AndroidのChromeでエラーにならないローカルIPアドレスのオレオレ証明書を作る手順

●目的
・Android上のChromeで、ローカルIPアドレスのWebサーバーをhttpsで開けるように。
・普通にオレオレ証明書作ると、Chromeで警告が出る
・Chrome用の証明書作る手順だと、Androidでインポートできないので、CA=TRUEにする

●参考
Chromeで使えるオレオレ証明書を作成する方法
https://qiita.com/t-kuni/items/d3d72f429273cf0ee31e

Abroid端末でオレオレ証明書がインポートされない!?
https://solo-ware.com/2019/09/06/abroid%E7%AB%AF%E6%9C%AB%E3%81%A7%E3%82%AA%E3%83%AC%E3%82%AA%E3%83%AC%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%8C%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%EF%BC%81/

●今回の環境

サーバーのIPアドレス: 192.168.0.100

●適当なlinux上で鍵を作成

openssl genrsa 2048 > server.key

openssl req -new -key server.key -subj “/C=JP/ST=Some-State/O=Some-Org/CN=192.168.0.100” > server.csr

vi subjectnames.txt

[ SAN ]
subjectAltName = IP:192.168.0.100
basicConstraints=CA:TRUE

openssl x509 -days 825 -req -sha256 -in server.csr -signkey server.key -extfile subjectnames.txt -extensions SAN -out server.crt

※ここで825日にしているのは、MacOSXのChromeで NET::ERR_CERT_REVOKED となってしまう問題があるという記事があったので。
もしかしたらAndroidだと36500日でも大丈夫かも?
https://qiita.com/ll_kuma_ll/items/13c962a6a74874af39c6#20191218-%E8%BF%BD%E8%A8%98

内容を確認
openssl x509 -in server.crt -text -noout

こんな感じになってればOK。

(省略)
Subject: C=JP, ST=Some-State, O=Some-Org, CN=192.168.0.100
(省略)
X509v3 extensions:
X509v3 Subject Alternative Name:
IP Address:192.168.0.100
X509v3 Basic Constraints:
CA:TRUE

●Apache

証明書ファイルを適切な場所に配置

サービスを一旦終了して、起動すること(再起動だとダメかも)

●Android

なんとかしてAndroid上に「server.crt」ファイルをコピー。
そいつをファイラーか何かでタップすると、証明書のインストール画面になる。

PINかパターンの入力

証明書の名前を指定する
証明署名: 適当な名前
認証情報の使用: VPNとアプリ
パッケージの内容: CA証明書1件 ←これがユーザー証明書とかになってないこと

-> OK

「適当な名前」はインストールされています と表示される。

信頼できる認証情報
-> ユーザー に、Some-Org 192.168.0.100 と追加されたことを確認

※これがなかなか出てこない!!原因分からない。すごく待ったほうがいいかも。

●確認

全部終わったら、IPアドレスのURLでも、httpsで鍵マークついて正規のhttpsサイトと何ら変わらず表示できるようになる。

  
  • Good (1)
カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。