12
14

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 5 years have passed since last update.

iOSアプリOTAインストール用サーバ構築トラブルシュート

Posted at

はじめに

開発中のiOSアプリをOTAインストールするため、この記事を参考にオレオレ証明書でHTTPSサーバを構築したのですが
何点かつまづいたことがあったので備忘のため内容を残しておきます。

構築環境

HTTPSサーバ

  • OS: Windows Server 2012 R2 Standard
  • Webサーバ: IIS 6.2

証明書発行環境

  • OS: MacOS Sierra
  • OpenSSL: 1.0.2n
  • easy-rsa: 3.0.4

iOS端末

  • OS: 11.0.2

つまづいたこと

  1. ipaとmanifest.plistにアクセスできない

  2. HTTPSで動作させているが、インストールリンクを開くと「xxxに接続できません」というエラーがでる

  3. クライアントにインストールしたCA証明書の信頼設定ができない

ipaとmanifest.plistにアクセスできない

これは調べたらすぐに分かりましたが、サーバ側のMIMEの設定が足りていなかったことが原因でした。
サーバに次のように設定をすることで解決しました。

拡張子 MIMEの種類
.ipa application/octet-stream
.plist text/xml

HTTPSで動作させているが、インストールリンクを開くと「xxxに接続できません」というエラーがでる

接続できません.png

原因はいくつかあると思いますが、自分の場合はHTTPSサーバの設定が正しくされていないことが原因でした。
正しく設定できているかはSafariでは分かりづらいのでChromeで確認するのがオススメです。
Chromeの場合だとURLの左の鍵マークをタップするとエラー内容が表示されるので問題解決しやすいです。

足りなかった設定

  • IPAのインストールの前にiOS端末にオレオレCAの証明書をインストールする
    参考にした記事では証明書をインストールするためのプロビジョニングプロファイルを作成してインストールを行っていましたが、
    証明書をPEM形式などでエクスポートしてSafariからアクセスすることでもインストールすることができました。

  • iOS端末でインストールしたCA証明書を証明書信頼設定で信頼の置けるCAだと設定する
     インストール後そのままだとオレオレCAで発行したサーバ証明書は自動的に信頼されない。
     設定アプリを開き、

一般>証明書信頼設定

を開くと先ほどインストールした証明書が表示されているのでトグルスイッチをONに設定する。

  • CA証明書のCN(コモンネーム)はHTTPSサーバのFQDNかIPアドレスを設定する
    証明書を発行する際にCNを入力するがこれが実際のサーバの値と異なるとブラウザ側でエラーとなる。
    エラーを回避するためには同じ値を入れること。
    例)サーバのIPアドレスが192.168.10.5だったらCNに192.168.10.5を入力する
    そうしないと、Safariでは分かりづらいがChromeでは下記のようにエラーとなる。
    プライバシーが保護されない.png

クライアントにインストールしたCA証明書の信頼設定ができない

IISに搭載している機能を使ってもオレオレ証明書を作ることができるがこの場合、CNだけ値が入ることになり他のorganization情報は空になる。
この場合証明書をiOS端末にインストールしたとしても証明書信頼設定に何も出てこない状態になる。
easy-rsaで証明書を作る場合はデフォルトでorganization情報が省略になるため注意が必要。
設定するためにはvarの

#set_var EASYRSA_DN "org"

のコメントアウトを外してやれば設定できるようになる

12
14
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
12
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?