Vivaldi で 証明書を追加する

この記事を作った動機 最近、Google Chrome 以外のブラウザを試したい、使いたいということで、Vivaldi を試していた。Linux 環境では、Windows 環境と異なり、ブラウザごとに証明書を保持管理していることがあり、OS標準の証明書は使われていないことがある。それで、HTTPS などの通信で使われる証明書を追加する項目がを探したが、見つけられず設定方法を調べる羽目になった。 これら経緯から、軽く記録が取りたいというだけ。 証明書を追加する方法 chrome://settings/certificatesにアクセスする Vivaldi は Chromium ベースのブラウザなので、Google Chrome などで使える内蔵の URL がそのまま使える模様。 chrome://settings/certificates おまけ 一応何について話しているのか少しでも直感的に把握しやすいようにするために、画像による状況の説明を試みることにする。以下はほとんどインストールしたての状態における、Vivaldi の様子の画像である。 証明書の警告が出る様子 証明書について項目が見えない様子 参考にしたサイトとか Import client certificates | Vivaldi Forum https://forum.vivaldi.net/topic/57001/import-client-certificates?__cf_chl_f_tk=V6t.jDVSVpunhQLDRjIr2q.V9RiNUi98HfeBxNZlBkE-1782791663-1.0.1.1-_4dk4xss54mD9rTzImPTdolH_V5WQNyiiyXwBYzu5do (2026年6月30日)

2026年6月30日

http-server と SSL、CORS

この記事を作った動機 単にいちいちどうやって開発用に、http-server(npm経由) 上で SSL(HTTPS) を利用できるのかとか、とにかくCORSをどうにかしたいとき、忘れたときにいちいち調べるのはめんどいので、記録するだけ。 必要なもの http-server (via npm) mkcert まとめ http-server --cors --ssl --key ~/path/to/key/key.pem --cert ~/path/to/cert/cert.pem 個別のメモ書き CORSを何とかする http-server --cors SSL を何とかする mkcert -install # mkcertを初めて使うときのみ mkcert [開発用サーバのIP or localhost とか] http-server --ssl --key ~/path/to/key/key.pem --cert ~/path/to/cert/cert.pem 参考にしたサイトとか macos - enable CORS for local http server - Stack Overflow https://stackoverflow.com/questions/63297822/enable-cors-for-local-http-server (2025年6月13日) http-serverによるローカル HTTPS server 構築 (5分でできる) #Node.js - Qiita https://qiita.com/hbjpn/items/925c8012cd93d9165be6 (2025年6月13日)

2025年6月13日

Mobile Firefox で個人的に証明局を追加する

この記事を書いた動機 最近、個人的に自分用の Web アプリみたいなのを作っている過程において、スマホ上の Firefox でそのサービスにアクセスしたとき、https の認証局エラーが出てしまうということがあった。それで、認証局の設定自体は、Android OS 側にすでにその時点でしていたものの、反映されていないことに気づく。 調べてみると、分かりずらそうな設定が必要そうだったため、一応備忘録的に何か書き残しておこうと思ったわけである。ちなみに、Google Chrome では OS 側のインストールした認証局をデフォルトで使ってくれるようなので、証明局をインストールしたらそれ以上の特別な操作はいらないようである。 環境や必要なものとか Android 14 Pixel 5a (5G) mkcert を使っている 事前に何かしらの方法でスマホにファイル転送し Web サーバの証明書を送ることができる Webサーバの証明書 (rootCA.cer みたいなやつ) # 証明書の中身のイメージ -----BEGIN CERTIFICATE----- MIIEfjCCAuagAwIBAgIRAMVjx+WAxkODxA9i82cg1f8wDQYJKoZIhv... ... 何かしらのデータ ... VzEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMRYwFAYDVQ... -----END CERTIFICATE----- https通信をプライベートネットワークで使いたいも参照するといいかも? 作業する前の状態 以下のように証明書のエラーを無視すれば、とりあえず Web ページは開けるが気持ち悪いことになる。 やり方 認証局のインストール まずは Android OS 側に https 通信時などに参照される証明書ストアなるものが搭載されているので、そこへ自分ででっち上げた証明書をインストールする。 ...

2025年1月15日

https通信をプライベートネットワークで使いたい

この記事を作った動機 私はプライベートネットワークにおいて、自分のためだけのサービスをhttpプロトコル経由で利用できるようにしているが、拡張機能とかの作成にあたり、httpsじゃないと不都合が生じるようになったことがきっかけで、https化に苦労することになり、もう嫌だということでこの記事を書くことになった。 例えばyoutube上で動作する拡張機能が、自分だけのためのサービスが動いているhttpサーバをバックエンドとして使うことを考えると、http通信とhttps通信が一つのWebページを表示するために混在してしまうために、ブラウザ側で通信がブロックされたリ、騒がしいエラーが出てきてしまい、非常に不快な思いをすることになる。 前提としていること 参考程度に前提条件とかも書いておく。 httpdを使っている。 opensslパッケージがインストール済み すでにhttpdを使っていて、ブラウザでなんか表示できる状態にある。 あくまで個人用など、閉じられた環境において、https通信を実現したいと考えている。 このブログの様な、大っぴらに公開されているWebサイトには使えない手法であることを理解している。 https通信の実現方法 証明書を作る HTTPsを実現するために、mkcertコマンドを使って証明書を作成するが、どんな証明書が必要が一応自分の理解の範囲であり、間違っているかもしれないが、簡易的に書いておく。必要そうな証明書は以下のとおりである。 サーバ自体を証明する証明書 各httpサーバとかのためにサービスごとに個別に用意される証明書 この中で、サーバと通信するパソコンがインストールしているべき証明書は、「サーバ自体を証明する証明書」の証明書の公開鍵であり、「各httpサーバとかのためにサービスごとに個別に用意される証明書」の公開鍵ではない。 mkcert コマンドのインストールを行う 私は arch linux を使っているので、以下のようにパッケージマネージャを利用した。 yay -S mkcert # たぶんリポジトリの分類がExtraにあるので、pacmanでもインストールできる # pacman -S mkcert mkcertの初期化を行う サーバ自体を証明する証明書の作成を行う。 mkcert -install # 証明書が保存された場所を調べるためには以下のコマンドでできる。基本的にmkcert -installを実行したユーザのホームディレクトリのどこかにある。 # mkcert -CAROOT # /home/username/.local/username/mkcert # 自分の環境だとこのような出力が得られる。 httpサーバ用の証明書を作る 次に以下のようにして、httpサーバが動いているドメイン名やIPアドレスを引数として、サービス用に証明書を作成する。この証明書は今回の場合であれば、httpdサーバの443番ポートを経由して、通信しているブラウザ等に送られることになる。 # コマンドを実行したファイル内で証明書の公開鍵と秘密鍵ができてしまうため、一応作業用のフォルダを作っている。 mkdir ./sslLocal/ cd ./sslLocal # 各httpサーバとかのためにサービスごとに個別に用意される証明書を作成 mkcert mydomain.name ipAddr # ドメイン名やIPアドレスなど複数指定できるらしいが、自分はとりあえずドメイン名だけにしてた。 # あっ、mydomain.nameやipAddrとかは適宜読み替えてください httpdが使う証明書を配置 私は以下の様にして、httpサーバ用の証明書を配置した。 # 証明書を作成したディレクトリへ移動 cd ~/sslLocal/* # ファイル内容を確認し、証明書の公開鍵と秘密鍵があることを確認する。 ls -rw-------⠀username⠀1708⠀Nov 4 02:06:02⠀⠀mydomain.name-key.pem -rw-r--r--⠀username⠀1452⠀Nov 4 02:06:02⠀⠀mydomain.name.pem # httpdのconfigがあるところに、証明書を置いておく場所も作る。 sudo mkdir /etc/httpd/conf/ssl # 署名書を作成したフォルダまで移動する。 cp ~/sslLocal/* /etc/httpd/conf/ssl/ httpdの設定 ssl通信に必要なモジュールを読み込む。 ...

2024年11月4日