SSLのroot証明書を取得する方法とは?

このQ&Aのポイント
  • iPhoneアプリを開発中の方へ。Push通信には.pemファイルが必要です。
  • SSL設定を行っている方へのお知らせ。root証明書の取得方法を教えます。
  • 自身のサーバーのroot証明書を取得する方法について解説します。
回答を見る
  • ベストアンサー

SSLのroot証明書(CentOS6)

iphoneアプリを開発中です。 Push通信を行うためには、.pemファイルというものが必要なことが分かりました。 http://www.digicert.ne.jp/howto/basis/pem-ssl-creation.html 上記のサイトを参考にしようとしたところ、下記の内容を記載し、.pemファイルとして作成するとのこと。 -----BEGIN CERTIFICATE----- 発行されたサーバー証明書ファイルの記述内容 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- 中間証明書ファイルの記述内容 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- root 証明書ファイルの記述内容 -----END CERTIFICATE----- 疑問点 当方のサーバーはSSLをインストールしています。 http://newsbit.jp/blog/index.php?itemid=116 上記を参考にSSL設定を行い crtファイル(サーバー証明書)、cstファイル(中間証明書)を作成し、無事SSL接続が出来ています。 しかしながら、今回調べた限り.pemファイルを作るためには「サーバー証明書、中間証明書以外にroot証明書も必要」と記載されています。 このroot証明がどこにあるのかが分かりません。 どうすれば自身のサーバーのroot証明を取得できるのか教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.lancork.net/2013/08/how-to-ios-push-first/ http://www.lancork.net/2013/08/how-to-ios-push-second/ を参考にするとよいと思います。 プッシュ通知を実装する方法が全体の流れから 証明書を取得する細かい手順まで詳細に解説されています。 ルート証明書の取得方法も書かれています。 (自前でオレオレルート証明書を作るのではなく、Appleの サーバーを認証できるルート証明書が必要です。) なおPush通知を実装したいなら、GrowthPushやFello等の 無料Push通知サービスを利用するのも一つの手です。 (参考) http://matome.naver.jp/odai/2135166225040376201 これを使えば自分でサーバーを構築する必要がありません。 (この場合、サービス提供会社のマニュアルを読んで、 その解説通りに実装すればよいです。) もしまだ一度もPush通知を実装したことがないなら、 まずはこういうサービスを利用した方がとっつきやすいと 思います。その後、細かいことをしたくなったら、 有料オプションを契約するか自前でサーバーを構築するか 検討すればよいと思います。

tajix14
質問者

お礼

ありがとうございます。 Appの証明書だったんですね。当初iOS Developer Center登録時に作った証明書はcerというファィルだったため、pemファイルは自社サーバーのものか必要なのかと完全な勘違いをしていました。お教えいただきましたサイトを確認したところ確かに「証明書を所定の形式(*.pem)に変換」という欄がありました。助かりました。 また、無料Pushサービスのご教授、ありがとうございました。詳細確認してみます。 本当に助かりました。ありがとうごさいました。

その他の回答 (1)

回答No.1

投稿内容を見る限り、IT関連の仕事はむいていないかと思われます。 >当方のサーバーはSSLをインストールしています SSLはプロトコルであり、インストールとはいいません。 インストールしたのは、OpenSSL と言う業界でよく使われているオーブンソースのアプリですね。違いますか? それがはっきりしない限り、確定した事は回答できませんよ。それにOpenSSLをインストールしてもSSLで通信されるわけではありません。CAサーバーとしての機能しかありません。 そうです。CAサーバーをインストールしたわけです。なのでOpenSSL(オペンエスエスエル?) CAサーバなので、当然ルート証明書も自由自在に作れるわけですが、一度作ってしまうと(マスター)、再度設定すると、以前作成した証明書の検証には使えません。 ちなみに "OpenSSL ルート証明書作成" https://www.google.co.jp/search?q=%22OpenSSL+%E3%83%AB%E3%83%BC%E3%83%88%E8%A8%BC%E6%98%8E%E6%9B%B8%E4%BD%9C%E6%88%90%22&oq=%22OpenSSL+%E3%83%AB%E3%83%BC%E3%83%88%E8%A8%BC%E6%98%8E%E6%9B%B8%E4%BD%9C%E6%88%90%22&aqs=chrome..69i57.3948j0j7&sourceid=chrome&es_sm=0&ie=UTF-8#q=OpenSSL+%E3%83%AB%E3%83%BC%E3%83%88%E8%A8%BC%E6%98%8E%E6%9B%B8%E4%BD%9C%E6%88%90 で検索したのでしょうか? ちまたにはあんちょこがころがっていますが?

tajix14
質問者

お礼

時間を割いてくださり有難うございました

tajix14
質問者

補足

>IT関連の仕事はむいていないかと思われます。 まず、当方、本業は自動車メーカーの商品企画でありITは趣味でやってます。私は自動車のことを知恵袋で相談している人の全てがカーメーカーの社員だとは私は思ってませんが、なぜ貴方はここで質問している人がIT業界人と決めつけているのかが分かりません。 >インストールしたのは、OpenSSL もちろん、openSSLですが、証明はRapidSSLを導入しています。 >OpenSSLをインストールしてもSSLで通信されるわけではありません。 そうなんでしょうか? RapidSSLには下記の記載事項がありますが >RapidSSLは、米国GeoTrust(ジオトラスト)社RapidSSL事業部が提供するSSL証明書です。低価格でSSL暗号化通信を実現することが出来ます。 >検索したのでしょうか? ちまたにはあんちょこがころがっていますが? オレオレのサイトは確認しませんよ。

関連するQ&A

  • SSL証明書の種類

    SSL証明書を購入したのですが、 証明書 中間証明書 証明書+中間証明書(PKCS7形式) の3つが送られてきました。 自サーバにWebサイトを公開して、そのサイトにSSLページを設定する場合、 証明書+中間証明書(PKCS7形式) を使用するのでしょうか?

  • Apacheのssl設定について

    以前、mod_sslの導入について質問させていただき、無事導入完了したのですが、 ssl通信がうまくいきません。 ご質問内容 (1)バックエンドのwebサーバとhttps通信する設定方法をを教えてください。  httpd.confもしくはssl.confどちらに設定するかも含めてご教示ください。 (2)必要な設定ファイル(証明書関連)があればそちらもご教示ください。 図の様なシステム構成でWebサーバAのApache設定です。 httpd.confの設定です。 <VirtualHost *:80> ServerName hogehoge.example.com RewriteEngine On SSLProxyEngine on RewriteRule ^/httpstest/(.*) https://192.168.1.1/$1 [P] SSLEngine on SSLCertificateFile /tmp/cert/server.pem SSLCertificateKeyFile /tmp/cert/serverkey.pem </VirtualHost> SSLCertificateFile:プライベート認証局で作成したWebサーバBのサーバ証明書 SSLCertificateKeyFile:WebサーバBで作成した秘密鍵 SSL設定をしない場合はクライアントにWebサーバBのhtml画面が表示されます。 SSL設定をすると Apacheのaccess_logに 192.168.1.1 - - [09/Dec/2010:16:24:20 +0900] "GET /" 400 557 "-" "-"と出力され、ブランク画面が表示されます。 error.logに出力はありません。 ssl_error_logに [Thu Dec 09 16:39:33 2010] [warn] RSA server certificate CommonName (CN) `xxxxxxx.local.domain' does NOT match server name!? と出力されますが、Ariasの問題らしいのでSSL設定とは直接関係無いようです。 よろしくお願いいたします

  • ssl サーバ証明書について

    はじめまして 標記の件につきまして、ご教示願います。 以下のURLの解説において、 http://itpro.nikkeibp.co.jp/article/COLUMN/20071012/284426/ クライアントには,「サーバー証明書」と「ルート認証局の自己証明書」が一緒に送られてくる。パソコンの中にもともと入っている証明書を使ってルート認証局の自己証明書の正当性をチェックし,その後,サーバー証明書の正当性をチェックする。という記述のなかで、 パソコンの中にもともと入っている証明書を使ってルート認証局の自己証明書の正当性をチェック すると記載しておりますが、サーバから送られてくる「ルート証明局の自己証明書」とクライアント側 にもともと入っている証明書を使って正当性はどのようにチェックしているのでしょうか? 宜しくお願いいたします。

  • SSL証明書発行後に秘密鍵とCSRファイルを再作成すると証明書は無効に

    SSL証明書発行後に秘密鍵とCSRファイルを再作成すると証明書は無効にりますでしょうか? RapidSSLにて証明書を発行し、Plesk管理画面でサーバに証明書を作成しようとしたのですが エラー: 秘密鍵をセットすることができません:秘密鍵のフォーマットが無効である可能性があります というエラーが出てしまい作成できないため、もう一度同じ名前で秘密鍵を作成しCSRファイルを作成した上で、RapidSSLの管理画面のReissue Certificateというところから証明書を発行し直そうと考えているのですが 上記のような作り直し作業をすると、SSL証明書は無効化して購入し直さなければならなくなったりしますでしょうか? ちなみにエラーが出たときの秘密鍵は以下の通りです。 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,B02D8998DAE4495C 8PH/+bwvnKccwqmpq4cXHiWrQLeXCLHCmvfQdptAmork8cg0e4U5IzSwUBgSL4uU ~(略) -----END RSA PRIVATE KEY-----

  • Ruby導入中にSSLエラーメッセージが表示される

    首題の件、「gem update --system」コマンドを実行すると下記エラーメッセージが表示されます。 ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz) SSL証明書が古いことが原因みたいなので、下記サイトから「AddTrustExternalCARoot-2048.pem」をダウンロードしようと「ファイルがありません」と言われます。 https://gist.github.com/luislavena/f064211759ee0f806c88 証明書のダウンロート先及び対応策を教えていただけませんか?

  • SSL証明書の複数設定方法

    1サーバーに複数のWEBシステムがあります。(複数URL) 認証局によるSSL証明書がURL単位で発行される場合、 複数の証明書を設定するには、Apacheの設定はどうすればよいでしょうか。 OSはSectos5.0を使っています。 ssl.confの SSLCertificateFile /etc/httpd/conf/server.crt このファイルに証明書の記述内容を追加するのでしょうか。 SSLCertificateFile /etc/httpd/conf/server1.crt  SSLCertificateFile /etc/httpd/conf/server2.crt のように複数行設定するのでしょうか。 よろしくお願いします。

  • べりサインの中間証明書に関して

    Webサーバ(Apache/1.3.34 Ben-SSL/1.57 (Unix))を使って SSLサイトを構築しています。3月でべりサインから貰った サーバ証明書の期限が切れるので、新しい証明書を取得しました。 すると、証明書のほかに、中間証明書というものが付いてきました。 私の持っている本には、中間証明書のインストール方法が記載 されていないのですが、どのようにしたら、インストールできるのでしょうか? ご回答、よろしくお願いいたします。

  • 中間証明書について

    IT業界に従事しており、この度SSL証明書の入替を行う事になりました。自社で認証局をたてており、ルート証明書-中間証明書-サーバ証明書という構成で、今回は、中間証明書とサーバ証明書を新たに発行した為、入替を行う予定です。 SSL証明書は、WEBサーバで使用している為、WEBサーバ側のみで作業が完了すると考えておりましたが、クライアント端末の担当者から、クライアント側に中間証明書を入れる必要があると指摘が入りました。 私自身、中間証明書はサーバに入っていればよいと考えていましたが、違うのでしょうか。どなかたお分かりになる方、教えて頂けますでしょうか。 ※ちなみにクライアント側担当者は、前に中間証明書を入れなかったので、エラーになったというだけで、何が原因なのか、どのようなエラーになったのかの情報を持っておらず、かき乱すだけかき乱して、全く役に立ちません。 調べていてもどうしても情報が無く、有識者の方、ご教示頂けますと幸いです。ちなみにブラウザにも"中間証明書機関"という項目があるので、クライアントに中間証明書を入れないといけないというのもあながち間違いではないかと感じ始めております。

  • CentOS5.4で「自作SSLサーバ証明書」作成途中の「Webサーバ

    CentOS5.4で「自作SSLサーバ証明書」作成途中の「WebサーバのFQDN」 (「プライベートCA(認証局)」による「自作SSLサーバ証明書」を   作成時に手入力する項目の1つ) について教えてください。 お世話になります。 おそらく通常ですと、「WebサーバのFQDN」へは、 「www.~」から始まるURL値を手入力すると思います。 そこで質問内容ですが、WWWとあわせて、 他にFileZillaなどでFTPも利用しているサーバに対しましては、 上記致しました「www.~」から始まるURL値で、1つ「自作SSLサーバ証明書」を作成後に、 更に、 もう1つ別に、 今度は「ftp~」から始まるURL値で、別の「自作SSLサーバ証明書」を2つ目の証明書として 作成する必要があるのでしょうか? それとも、 上記致しました「www.~」から始まるURL値で、1つ「自作SSLサーバ証明書」を 作成しておけば、 それが、FTPを利用する際にも、 SSL通信であわせて、SSLとして利用可能な状態になるのでしょうか? 今回初めて1年更新の時期がきて、「自作SSLサーバ証明書」作成・更新を、 近日中に実施予定の為、 上記のご質問をさせていただきました。 宜しくお願い致します。

  • fsockopenを使った証明書付きのSSL通信

    お世話になっております。 fsockopenを使って、証明書付きのSSL通信をして表示内容を取得したいのです。 いろいろ見て回って、下記のようなソースを作りました。 ------------------------------------------------------------------------ $context = stream_context_create(); stream_context_set_option($context, 'ssl', 'local_cert', './client.pem'); stream_context_set_option($context, 'ssl', 'cafile', './ca.pem'); $host = "aaa.bbb.ne.jp"; $fp = fsockopen("ssl://{$host}", 443, $errno, $errstr, 10, $context); ------------------------------------------------------------------------ すると、 Warning: fsockopen() expects at most 5 parameters, 6 given と怒られます。fsockopenに6つ目のパラメータは渡せないってことですよね? 仕方がないので、 $contextをはずしてみると、当然証明ができないので怒られます。 Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:func(148):reason(1040) in xxxxxxx~ Warning: fsockopen(): Failed to enable crypto in xxxxxxx~ Warning: fsockopen(): unable to connect to ssl://aaa.bbb.ne.jp:443 (Unknown error) in xxxxxxx~ まる一日解決方法を探し続けているのですが、だめです。 漠然とした内容で申し訳ありませんが、どなたかご教授願えませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP