QA@IT
«回答へ戻る

760
 
 あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。
 
-**追記**
+**追記(1)**
 
 > いくらhttps://で接続しても暗号化通信はできていないということでしょうか?
 
 正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。
 
-**さらに追記**
+**追記(2)**
 
 話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?
 
 > - IIS をリモート管理する
 > - ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
 > - SSL 設定に依存する機能のテスト
+
+**追記(3)**
+
+> 追加で、IISとかで自己署名サーバ証明書を作成した場合は、サーバ証明書とCA証明書両方の役割を果たしているイメージになり、サーバ証明書自体をクライアントの信頼されたルート証明機関の証明書としてインストールすることになります(警告をなくす場合はですが)。
+
+と言っている人がいて、少々驚いたので、試しに手元のIISで「自己署名入りサーバー証明書」を作成してみましたが、ごく普通にサーバ証明書ができました。CA証明書はできませんし、サーバ証明書とCA証明書両方の役割を果たす証明書もできませんでした。もしそうなら回答を少し訂正しようかと思ったのですが、訂正の必要はないと思います。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

追記(1)

いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確にはhttps://ではなくhttps://example.comのようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)とexample.comとの間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNがexample.comになっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でもexample.comを名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

追記(2)

話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?

まずMicrosoftのIIS 7 でサーバー証明書を構成するを見てください。証明書の種類ごとに作り方が違うので、何をどうすればいいかはどれを作りたいかによります。

  • インターネット サーバー証明書を構成する (IIS 7)

Web サーバー上のコンテンツを要求するクライアントに対してサーバーの身元を証明する必要がある場合は、インターネット サーバー証明書を要求します。 インターネット サーバー証明書は、パブリック証明機関 (CA) によって発行されます。

  • IIS 7 でドメイン サーバー証明書を作成する

ドメイン証明書は内部証明書であり、外部の証明機関 (CA) が発行する必要はありません。 Windows ドメインに CA として機能するサーバーがある場合は、ドメイン証明書を作成できます。 この方法は、証明書の発行コストを削減するのに役立ち、証明書を展開しやすくなります。

  • IIS 7 で自己署名入りサーバー証明書を作成する

次の 1 つまたは複数の理由がある場合は、ローカル コンピューター用に自己署名入りの証明書を作成します。

  • サード パーティ証明書の問題のトラブルシューティング
  • IIS をリモート管理する
  • ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
  • SSL 設定に依存する機能のテスト

追記(3)

追加で、IISとかで自己署名サーバ証明書を作成した場合は、サーバ証明書とCA証明書両方の役割を果たしているイメージになり、サーバ証明書自体をクライアントの信頼されたルート証明機関の証明書としてインストールすることになります(警告をなくす場合はですが)。

と言っている人がいて、少々驚いたので、試しに手元のIISで「自己署名入りサーバー証明書」を作成してみましたが、ごく普通にサーバ証明書ができました。CA証明書はできませんし、サーバ証明書とCA証明書両方の役割を果たす証明書もできませんでした。もしそうなら回答を少し訂正しようかと思ったのですが、訂正の必要はないと思います。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

**追記(1)**

> いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

**追記(2)**

話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?

まずMicrosoftの[IIS 7 でサーバー証明書を構成する](http://technet.microsoft.com/ja-jp/library/cc732230%28v=ws.10%29.aspx)を見てください。証明書の種類ごとに作り方が違うので、何をどうすればいいかはどれを作りたいかによります。

- インターネット サーバー証明書を構成する (IIS 7)

> Web サーバー上のコンテンツを要求するクライアントに対してサーバーの身元を証明する必要がある場合は、インターネット サーバー証明書を要求します。 インターネット サーバー証明書は、パブリック証明機関 (CA) によって発行されます。 

- IIS 7 でドメイン サーバー証明書を作成する

> ドメイン証明書は内部証明書であり、外部の証明機関 (CA) が発行する必要はありません。 Windows ドメインに CA として機能するサーバーがある場合は、ドメイン証明書を作成できます。 この方法は、証明書の発行コストを削減するのに役立ち、証明書を展開しやすくなります。

- IIS 7 で自己署名入りサーバー証明書を作成する

> 次の 1 つまたは複数の理由がある場合は、ローカル コンピューター用に自己署名入りの証明書を作成します。
> - サード パーティ証明書の問題のトラブルシューティング
> - IIS をリモート管理する
> - ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
> - SSL 設定に依存する機能のテスト

**追記(3)**

> 追加で、IISとかで自己署名サーバ証明書を作成した場合は、サーバ証明書とCA証明書両方の役割を果たしているイメージになり、サーバ証明書自体をクライアントの信頼されたルート証明機関の証明書としてインストールすることになります(警告をなくす場合はですが)。

と言っている人がいて、少々驚いたので、試しに手元のIISで「自己署名入りサーバー証明書」を作成してみましたが、ごく普通にサーバ証明書ができました。CA証明書はできませんし、サーバ証明書とCA証明書両方の役割を果たす証明書もできませんでした。もしそうなら回答を少し訂正しようかと思ったのですが、訂正の必要はないと思います。

760
 > いくらhttps://で接続しても暗号化通信はできていないということでしょうか?
 
 正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。
+
+**さらに追記**
+
+話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?
+
+まずMicrosoftの[IIS 7 でサーバー証明書を構成する](http://technet.microsoft.com/ja-jp/library/cc732230%28v=ws.10%29.aspx)を見てください。証明書の種類ごとに作り方が違うので、何をどうすればいいかはどれを作りたいかによります。
+
+- インターネット サーバー証明書を構成する (IIS 7)
+
+> Web サーバー上のコンテンツを要求するクライアントに対してサーバーの身元を証明する必要がある場合は、インターネット サーバー証明書を要求します。 インターネット サーバー証明書は、パブリック証明機関 (CA) によって発行されます。 
+
+- IIS 7 でドメイン サーバー証明書を作成する
+
+> ドメイン証明書は内部証明書であり、外部の証明機関 (CA) が発行する必要はありません。 Windows ドメインに CA として機能するサーバーがある場合は、ドメイン証明書を作成できます。 この方法は、証明書の発行コストを削減するのに役立ち、証明書を展開しやすくなります。
+
+- IIS 7 で自己署名入りサーバー証明書を作成する
+
+> 次の 1 つまたは複数の理由がある場合は、ローカル コンピューター用に自己署名入りの証明書を作成します。
+> - サード パーティ証明書の問題のトラブルシューティング
+> - IIS をリモート管理する
+> - ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
+> - SSL 設定に依存する機能のテスト

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

追記

いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確にはhttps://ではなくhttps://example.comのようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)とexample.comとの間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNがexample.comになっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でもexample.comを名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

さらに追記

話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?

まずMicrosoftのIIS 7 でサーバー証明書を構成するを見てください。証明書の種類ごとに作り方が違うので、何をどうすればいいかはどれを作りたいかによります。

  • インターネット サーバー証明書を構成する (IIS 7)

Web サーバー上のコンテンツを要求するクライアントに対してサーバーの身元を証明する必要がある場合は、インターネット サーバー証明書を要求します。 インターネット サーバー証明書は、パブリック証明機関 (CA) によって発行されます。

  • IIS 7 でドメイン サーバー証明書を作成する

ドメイン証明書は内部証明書であり、外部の証明機関 (CA) が発行する必要はありません。 Windows ドメインに CA として機能するサーバーがある場合は、ドメイン証明書を作成できます。 この方法は、証明書の発行コストを削減するのに役立ち、証明書を展開しやすくなります。

  • IIS 7 で自己署名入りサーバー証明書を作成する

次の 1 つまたは複数の理由がある場合は、ローカル コンピューター用に自己署名入りの証明書を作成します。

  • サード パーティ証明書の問題のトラブルシューティング
  • IIS をリモート管理する
  • ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
  • SSL 設定に依存する機能のテスト
サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

**追記**

> いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

**さらに追記**

話がごちゃごちゃしているので、a11b12k13さんが何をやりたいかをクリアにしてもらえませんか?

まずMicrosoftの[IIS 7 でサーバー証明書を構成する](http://technet.microsoft.com/ja-jp/library/cc732230%28v=ws.10%29.aspx)を見てください。証明書の種類ごとに作り方が違うので、何をどうすればいいかはどれを作りたいかによります。

- インターネット サーバー証明書を構成する (IIS 7)

> Web サーバー上のコンテンツを要求するクライアントに対してサーバーの身元を証明する必要がある場合は、インターネット サーバー証明書を要求します。 インターネット サーバー証明書は、パブリック証明機関 (CA) によって発行されます。 

- IIS 7 でドメイン サーバー証明書を作成する

> ドメイン証明書は内部証明書であり、外部の証明機関 (CA) が発行する必要はありません。 Windows ドメインに CA として機能するサーバーがある場合は、ドメイン証明書を作成できます。 この方法は、証明書の発行コストを削減するのに役立ち、証明書を展開しやすくなります。

- IIS 7 で自己署名入りサーバー証明書を作成する

> 次の 1 つまたは複数の理由がある場合は、ローカル コンピューター用に自己署名入りの証明書を作成します。
> - サード パーティ証明書の問題のトラブルシューティング
> - IIS をリモート管理する
> - ソフトウェア テスト環境などのように、サーバーと、限られた既知のユーザーのグループとの間に、セキュリティで保護されたプライベート チャネルを作成する
> - SSL 設定に依存する機能のテスト

760
 ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。
 
 あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。
+
+**追記**
+
+> いくらhttps://で接続しても暗号化通信はできていないということでしょうか?
+
+正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

追記

いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確にはhttps://ではなくhttps://example.comのようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)とexample.comとの間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNがexample.comになっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でもexample.comを名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

**追記**

> いくらhttps://で接続しても暗号化通信はできていないということでしょうか?

正確には`https://`ではなく`https://example.com`のようにして接続すると思います。SSL/TLSによる暗号化通信はクライアント(ブラウザ)と`example.com`との間で成立しなければなりません。それを保証するためにはブラウザはサーバ証明書を見てSubjectのDNの中のCNが`example.com`になっていることを確認する必要があります。しかしこのようなチェックが成り立つためには、サーバ証明書は正規でなければなりません。もしサーバ証明書がフェイクでよいとするなら、誰でも`example.com`を名乗れるからです。なのでサーバ認証をスキップした場合は、ブラウザとexample.com間のSSL/TLSによる暗号化通信は成立しないといえます。

760
 
 ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。
 
-あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。
+あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しないので、「サーバ証明書」しかありませんが、念のため)。

760
 
 しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。
 
-ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。
+ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。
 
+ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。
+
 以下、余談です。
 
-ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。
+> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる
 
-「ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。
+の部分について気になった点を述べます。
 
 「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。
 
-ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。
+ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。
 
 ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。
 

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいだけですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。が、本来の自己署名証明書のことではなく、単にテスト用にカジュアルに作った証明書に自己署名しただけのものです。

以下、余談です。

> ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる

の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない擬似的な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。

760
 
 ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。
 
-「この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。
+「ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。
 
 「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。
 
 
 ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。
 
-あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(発行元のCAも存在しませんが、念のため)。
+あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「ローカルな証明書とはいえ、この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(今回のケースでは発行元のCAも存在しませんが、念のため)。

760
 
 ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。
 
-あと証明書にはサーバ証明書の他に「CA証明書」もあります。「CA証明書」をクライアントPCにインストール(or インポート)すべきであるかのような説明をする人がいますが、僕はむやみに信じないほうがいいと思います。その手の話は怪しいことが多いです。サーバならサーバ証明書をインストールし、クライアントならクライアント証明書をインストールすればよいはずですが、サーバの場合、サーバ証明書と中間証明書(CA証明書)をセットでインストールする必要があります。それ以外でCA証明書を入れるという話は(特にクライアントPC側に入れるだとか、ルート証明書を入れるだとかは)眉唾のことが多いと思います。
+あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(発行元のCAも存在しませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(発行元のCAも存在しませんが、念のため)。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もありますが、今回のケースではクライアントPCにインストール(or インポート)する必要はありません(発行元のCAも存在しませんが、念のため)。

回答を投稿

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

リンク先のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、自己署名証明書自己発行証明書ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もあります。「CA証明書」をクライアントPCにインストール(or インポート)すべきであるかのような説明をする人がいますが、僕はむやみに信じないほうがいいと思います。その手の話は怪しいことが多いです。サーバならサーバ証明書をインストールし、クライアントならクライアント証明書をインストールすればよいはずですが、サーバの場合、サーバ証明書と中間証明書(CA証明書)をセットでインストールする必要があります。それ以外でCA証明書を入れるという話は(特にクライアントPC側に入れるだとか、ルート証明書を入れるだとかは)眉唾のことが多いと思います。

サーバ証明書はサーバにインストールするものであり、クライアントPCにはインストール(or インポート)しなくてよいです。SSL/TLS通信ではハンドシェイク時にサーバからクライアントにサーバ証明書を送付することになっています。ですので「クライアントPCにもサーバーで作成した証明書をインストールする・しない」についていえば「しない」の方です。

[リンク先](http://www.websec-room.com/2013/02/18/57)のやり方はサーバ証明書が正規でなくテスト用証明書を使用しているので、クライアントからの接続時にはリンク先に記載されているようにエラーが出ます(最初の画面キャプチャ「このWebサイトのセキュリティ証明書には問題があります」の箇所)。リンク先の記載のようにしてテスト用証明書を作ることはできますが、CA(認証局)による署名がありませんから、正規の証明書ではなく、あくまでフェイクにすぎません。

しかしテスト段階ではブラウザのエラーをスキップすることでテストは可能です(「このサイトの閲覧を続行する(推奨されません)」を選択するなど)。これは正常なSSL/TLS通信ではなく、あくまでサーバ証明書のエラーを無視する(or 証明書の検証自体を無効化する)ことでテストを実施しているだけです。

ですので「クライアントからの接続方法」についていえば、単に普通に接続すればよいですが、サーバ証明書のエラーをスキップ(無視)する必要があります。これはサーバ証明書がテスト用証明書だからであり、正規の証明書に切り替えれば必要なくなります。

以下、余談です。

ちなみにサーバ証明書はCA(認証局)から発行されるものであり、a11b12k13さんが自分で作ることはできません。自分で作ることができるような「自己証明書」なるものは存在しません。紛らわしいですが、[自己署名証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8)や[自己発行証明書](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%B7%B1%E7%99%BA%E8%A1%8C%E8%A8%BC%E6%98%8E%E6%9B%B8)ならありますが、これらも証明書である以上CAが発行するものです。リンク先にある「自己証明書」という概念は微妙におかしいですが、内容的には「自己署名証明書」のようです。

「この証明書を使えばSSLで暗号化された通信ができる」の部分について気になった点を述べます。

「ローカルな証明書」でもSSL/TLSによる暗号化通信は可能ですが、その場合の「ローカル」とはプライベート認証局から発行された証明書という意味になります。いいかえると認証局(CA)は必ずしもパブリックである必要はないと思います。ですので「公的に正当性が確認されていないローカルな証明書」であっても正規のプライベート認証局から発行されていればOKのはずです。

ところがリンク先の記載通りに作った証明書は、「ローカルな証明書」ですらなく、そもそも認証局から発行されたものでない不正な証明書です。これではSSL/TLSによる暗号化通信はできません。なぜかというと、サーバ認証を正常に通らないと、ハンドシェイクが完了せず、暗号化通信のフェーズにまで進まないからです。サーバ証明書のエラーを無視した場合(or 証明書の検証自体を無効化した場合)は、とりあえず先に進むことは進みますが、あくまで強引に先に進めただけですので正常な暗号化通信が成り立っているわけではありません。

ですのでこの種の証明書はテスト専用と割り切ったほうがよいと思います。

あと証明書にはサーバ証明書の他に「CA証明書」もあります。「CA証明書」をクライアントPCにインストール(or インポート)すべきであるかのような説明をする人がいますが、僕はむやみに信じないほうがいいと思います。その手の話は怪しいことが多いです。サーバならサーバ証明書をインストールし、クライアントならクライアント証明書をインストールすればよいはずですが、サーバの場合、サーバ証明書と中間証明書(CA証明書)をセットでインストールする必要があります。それ以外でCA証明書を入れるという話は(特にクライアントPC側に入れるだとか、ルート証明書を入れるだとかは)眉唾のことが多いと思います。