OrangeGardenRoom

技術系のメモ

iOSでWebDAVが繋がらなくなった件

とあるアプリを使って、iPhoneでWebDAVをhttpsでやってるんですが、ある日エラーが。

 

このサーバの証明書は無効です。

“[FQDN名]”に偽装したサーバに接続している可能性があり、

機密情報が漏洩するおそれがあります。

 

これを解決したお話。

 

ついでに、Opensslを使ってx509 v3の証明書を作るお話。

 

 

 

自分の端末じゃなかった為、自分の端末で確認してみると問題なくアクセス可能。

iOSのバージョンを確認してみるも、10.3.xxでマイナーバージョンまでは一緒。

 

では、ということで、自分のiPhoneのアプリをアップデートかけてみたところ発生。

アプリがちゃんと、証明書を本体を承認しないと使えないようになったので、セキュリティ的には良い修正。

 

 

というわけで、なんとかしましょう。

OpenSSLを使って、自己署名証明書を使っているから、PCのブラウザから開いても、エラーがでます。

自己署名CA証明書(crt)もApacheに組み込む関係上作ってあるので、

基本的にはこれをPCにインストールしてあげることでエラー回避可能です。

(アクセスした時に、証明書エラーの赤い画面がでなくなります)

 

同じことをiPhoneにしてあげればOKのはずです。

 

 

何らかの方法でiPhoneに送ります。

 

Webに上げてダウンロードしても良いです。

共有鍵方式なので、誰かにダウンロードされても特に問題はない、です。

気持ち悪い人は、Basic/Digest認証かけるなり、DLしたら削除するなりしましょう。

(僕は気持ち悪いので認証かけてます。)

 

あとはメールで送るなり、FTPに上げて、FTPアプリでDLするなりお好きな方法で。

 

 

【つまづきポイント】 インストールしたら終わりじゃない

 

 

というのも、基本的には前はインストールしたら終わりだったんですよ。

iOS10.2までは。

 

iOS10.3からは、インストールした証明書を有効化する必要があります。

(ちなみに、証明書インストールするところに注意喚起出て来るので、ちゃんと読んでれば問題ないですが。)

(ぼくはきづきませんでした)

 

設定 → [一般] → [情報] → 画面の一番下 → [証明書信頼設定]

 

ここで、インストールした証明書を有効化しましょう。

証明書もインストールしてあるのに!!って人は、ココ確認してみてください。

iOS10.2からインストールされてるものは自動で有効になってるかもですね。確かめれないですが。

 

 

《参考サイト》

Apple – iOS 10.3 で手動でインストールした証明書プロファイルに関する変更点

 

 

 

 

 

 


【おまけのx509 v3証明書】

IBMのページに、いくつかのモバイルプラットフォームはx509v3じゃないとだめだよ!!

って書かれてたので、上記のやつに気づくまで、これも試してたので、折角なので追記。

もしかしたら、いくつかのモバイル端末はコレじゃないとだめかもなので一応。

(※ちなみに、これでx509v3にした証明書使っても、上記は同様に問題なくアクセスできました)

 

1.v3certファイルを作ります。

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:TRUE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign

 

2.コマンドを叩きます

openssl x509 -days 3650 -req -signkey server.key -in server.csr -out server.crt -sha256 -extfile v3cert

 

以上です。

keyUsageは、とりあえずわからないので、OpenSSLのdocみて全部いれてあるだけです(適当)

必要な人は調べて必要なものをいれてください。

 

 

《参考サイト》

IBM Knowledge Center – 信頼されていない証明書を使用した SSL の構成

Qiita – OpenSSLでX.509 v3の証明書を作成する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です