「証明書が有効でないため、Appをダウンロードできません。」AdhocのOTAインストールできなくなってる〜(ο̬̬̬̬̬̬̬̏̃ɷο̬̬̬̬̬̬̬̏̃)
— ま〜ち (@marchEnterprise) 2014, 3月 11
もうわけわからん、どういう改悪や。arm64とか勝手に入って知らぬ間にintがlong intになっててわけわかんないからとにかく(int)でキャストしまくったら、ValidArchitectresでarm64を消せば良かったなんてオチになるし。
うへRT @t_okada: そうそう。めんどー RT @s_0samu: なんだなんだーアドホックダウンロードに、サーバーの証明書が必要になったのか!これは面倒。
— 鈴木治 (@s_0samu) 2014, 3月 11
な、https?なんかなに?それ?
めんどいなーHTTPSにしないといけないのか。アドホックのplistの置き場所。Enterprise app deployment doesn’t work on iOS 7.1 http://t.co/LLRVEdCBrM
— 鈴木治 (@s_0samu) 2014, 3月 11
へ?plistがhttps?はい?なんだそりゃ。
http://www.maruko2.com/mw/Apache/SSL自己証明書の作成とmod_sslの設定これかなぁ。。
というわけで、昨日から挫折しながら、なんとかしてみたメモ。
PuttyでSSHログイン。
suで偉くなる。
# cd /etc/httpd/conf/
●秘密鍵(server.key)の作成
# openssl genrsa -aes128 1024 > server.key
パスフレーズの入力を求められるので、【ナンカ】いれた。●公開鍵(server.csr)の作成
# openssl req -new -key server.key > server.csr
Enter pass phrase for server.key:【ナンカ】Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Setagaya-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:marchEnterprise, LLC.
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:ma9.jp
※Common Nameは、サイトの名前を入力することになるので、IPアドレスで運用するWebサーバの場合はIPアドレスを入力する必要がある。Email Address []:
A challenge password []:
An optional company name []:●server.crt
SSL 通信には CA(Certification Authority, 認証局)が発行した証明書が必要だが、自分自身でデジタル証明書(server.crt)作成する。
デジタル証明書(server.crt)の作成
# openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
Enter pass phrase for server.key:【ナンカ】-days 3650にしとけば良かった。1年後の俺困る。
●配置
# mkdir ssl.crt
# mkdir ssl.key
# mv server.crt ./ssl.crt/
# mv server.key ./ssl.key/●ssl.conf
CentOS 5 の Apache 2.2.3 では、/etc/httpd/conf.d/ssl.conf に mod_ssl の基本的な設定があらかじめ用意されているので、それを使う。# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot “/var/www/html”
ServerName ma9.jp:443
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key[ESC] :wqしてvi抜ける。
●apacheの再起動
# /etc/rc.d/init.d/httpd restartServer ma9.jp:443 (RSA)
Enter pass phrase:【ナンカ】
↑なにこれめんどくせー。パスワード消したり自動で入れたりすることもできるらしーけどどっちにしてもめんどくせーのでやってない。まだ終わってなかった。。。
●CA証明書(PEMフォーマット)からバイナリDERフォーマットで作成
# cd /etc/httpd/conf/ssl.crt/
# openssl x509 -inform pem -in /etc/httpd/conf/ssl.crt/server.crt -outform der -out /etc/httpd/conf/ssl.crt/server.derca.derを公開ページのトップへコピーします
# cp /etc/httpd/conf/ssl.crt/server.der /var/www/html/パーミッションの変更
# chmod 440 /var/www/html/server.der所有者・グループの変更
#chown apache:apache /var/www/html/server.der
ってやって最後に作ったserver.derというのを
iPhoneのSafariで
http://ma9.jp/server.der
みたく呼び出したら証明書があの、設定-一般-プロファイルのやつやな、インストールされて。
そしてやっとAdhocのインストールができたよ。
●burahazushi.htmlのサンプル
<html> <head> <meta name="viewport" content="width=device-width" /> <meta http-equiv="Content-Type" content="text/html; charset= UTF-8"> <title>アプリテストダウンロード</title> </head> <body> <center> <a href="itms-services://?action=download-manifest&url=https://ma9.jp/burahazushi.plist">ダウンロード</a> </center> </body> </html>
●burahazushi.plistのサンプル
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>https://ma9.jp/burahazushi.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>jp.ma9.burahazushi</string> <key>bundle-version</key> <string>2.1</string> <key>kind</key> <string>software</string> <key>title</key> <string>burahazushi</string> </dict> </dict> </array> </dict> </plist>
もう二度とやりたくないわ!
そんなま〜ちさんの創ったアプリもよろしくね!