>iPhone/iPad等iOSに自己署名オレオレCA証明書からサーバー/クライアント証明書を署名しインストールする(2017/4/29更新)自社サーバーにWebサービスを運用し社員にしかアクセスさせたくない場合などHTTPS/SSLを使う場合が多いです。パスワードログインの場合はパスワードが漏れたらどのデバイスからでもアクセスできてしまいますが、このクライアント証明をデバイスにインストールする方法だとそのデバイスからしかアクセスできない上に、その期限も指定できるので万が一デバイスを紛失しても大丈夫というメリットがあります。ここでは典型的な自社CA証明書作成からそのCAが認証したサーバー/クライアント証明書のopensslでの作成例を記述します。目次CA自己署名証明書の作成サーバー証明書を作成クライアント証明書を作成クライアント証明書と秘密鍵をChromeにインストールクライアント証明書と秘密鍵をiPhone/iPadにインストールアドバイスコメントCA自己署名証明書の作成CA用の秘密鍵を作成。exampleca-privatekey.pemCA秘密鍵からCA証明書用の要求を作成。質問には適切に答える。exampleca-certificate-request.pemCA証明書要求の内容を確認。exampleca-certificate-request.pemCA証明書要求に対して自己署名しCA証明書を作成。365CA証明書を確認。exapmleca-certificate.pemサーバー証明書を作成サーバー秘密鍵を作成。exampleserver-privatekey.pemサーバー証明書要求を作成。CNはドメイン名を入力。exampleserver-certificate-request.pem以下のファイルをv3.extとして作成(example.domain.comはドメイン名に書き換える):ChromeのERR_CERT_COMMON_NAME_INVALID/missing_subjectAltName)への対応(17/4/29追加)subjectAltName=DNS:example.domain.comサーバー証明書要求を先ほど作成したCA秘密鍵で署名する。ここでは365日期限。exampleserver-certificate.pemクライアント証明書を作成クライアント秘密鍵を作成。exampleclient-privatekey.pemクライアント証明書要求を作成。exampleclient-certificate-request.pemクライアント証明書をCA証明書秘密鍵で署名。30最後にブラウザにインポートする為にクライアント証明書と秘密鍵をPKCS#12化。パスワードの設定があります。exampleclient-credential.p12p12ファイルをメールに添付してiPhone/iPadなどのiOSデバイスに送ります。あとはデバイス側で添付ファイルを開き指示に従います。(2016/10/2追記):Dropbox経由でもインストールが可能です。p12ファイルをDropboxフォルダに入れ、iPhoneのDropboxアプリからそのファイルのリンクをコピー、Safariのアドレスバーに貼り付けてp12ファイルをダウンロードすれば設定でのインストール画面になります。クライアント証明書と秘密鍵をChromeにインストール設定画面のSSL証明書を選択し出たウィンドウにPKCS#12ファイルをドラッグします。CA証明書も信頼CAとしてドラッグします。CA証明書をpem形式からcer形式に変換するには以下の様に行います。ca-certificate.cerクライアント証明書と秘密鍵をiPhone/iPadにインストール純正のiPhoneConfigurationUtilityを利用します。CA証明書とクライアントのPKCS#12ファイルをロードします。iPhoneConfigurationUtilityにCA証明書を入れるにはPEMファイルをCERファイルにする必要があります。exampleca-certificate.cerexportしたファイルをメールに添付してiPhone/iPadなどのiOSデバイスに送ります。あとはデバイス側で添付ファイルを開き指示に従います。アドバイス運用としては各秘密鍵はもちろんのこと、証明書要求ファイルも保存しておいたほうが証明書が失効した場合の更新が楽です。署名時には.srlというシリアルファイルができますのでこれもCA証明書と同じフォルダに保存しておいてください。基本的なことですが、外部漏洩しない様に特に管理しなければいけないファイルは「CA秘密鍵」「サーバー秘密鍵」「クライアント秘密鍵」です。クライアントのPKCS#12もできれば気をつけたいファイルです。クライアント証明書の使用期限は比較的短めに設定しておきましょう。iPhone/iPad等iOSに自己署名オレオレCA証明書からサーバー/クライアント証明書を署名しインストールする(2017/4/29更新)。