0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOSデバイスからcode-serverに接続するために、自己証明書を作成する

Last updated at Posted at 2021-09-19

ローカルネットワークにcode-serverを立てようとしたところ、iPhone(iOS)やiPad(iPadOS)で警告が出ない証明書作成に手間取ったため、共有します。

apple証明書の要件

証明書の要件については、appleの公式サポートページを参照してください。
iOS 13 および macOS 10.15 における信頼済み証明書の要件
信頼済み証明書に関する今後の制限について

内部IPアドレスの固定

内部IPアドレスを固定していない場合は固定します。
固定方法は割愛します。「OS名 + 固定IP」などで検索してください。

固定したIPアドレスで「~/.config/code-server/config.yaml」のbind-addrを変更します。

bind-addr: 固定したIPアドレス:ポート番号

証明書作成

証明書を適用するサーバーで証明書を作成します。
証明書の作成にはOpenSSLの自己署名証明書の生成の省力化の試みを使わせていただきました。
Makefileに以下の変更を行いました。

Subject names

「Subject names for cert」の変数値を自身に合う設定に変更します。

#
# Subject names for cert
#
INFO_C  ?= JP
INFO_ST ?= My Prefecture
INFO_L  ?= My City
INFO_O  ?= My organization name
INFO_OU ?= My branch name

hostname

hostnameに「.local」を追加します。

#
# Hostname and IP address
#
HOSTNAME          ?= $(shell hostname -f).local
HOSTNAME_S        ?= $(shell hostname -s).local

証明書配置

サーバー

「~/.config/code-server/config.yaml」のcertをtrueに変更します。

cert: true

「~/.local/share/code-server/」に作成したservice.keyをlocalhost.keyに、service.crtをlocalhost.crtにリネームしてコピーします。
※起動確認のための仮置きです。確認後に権限管理など適宜行ってください。

起動時に「--cert」, 「--cert-key」の引数設定でそれぞれ任意のファイルを指定可能です。

iOS, iPadOS

ホスト名+.local_ca.crtとservice.crtをiOS(iPadOS)にコピーします。
各プロファイルをインストールし、証明書を信頼させます。

iOS や iPadOS で手動でインストールした証明書プロファイルを信頼する

接続確認

「ホストネーム.local:ポート番号」でsafariからアクセスし、警告が出なければ成功です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?