SSL Server 自作するための OpenSSL 使用方法

SSL ( TLS )

7.OpenSSL 動作確認

では、インストールされた Open SSL がちゃんと動くかどうか確認してみます。

まず、Windows 10の場合、ウィンドウアイコンを右クリックします。
右クリックですよ!

次に下図の様になるので、コマンドプロンプトを管理者権限で開きます。

すると、「このデバイスが変更を加えることを許可しますか?」と問われるので、「許可」をクリック。

すると、下図のようにコマンドプロンプトが起動します。

まずは、次のようなコマンドを打ってみます。

openssl version

すると、下図の様に Open SSL のコンパイル済みバージョンが表示されていればOKです。

次に、以下のコマンドを打って、OpenSSL ディレクトリに移ります。

cd /D D:\OpenSSL-Win64

次に下図の様に、自分用の仮の作業用フォルダを作ります。
ここでは例として、MyData というフォルダをつくります。

mkdir MyData

次に、以下のコマンドを入力して、MyDataフォルダへ移動します。

cd /D MyData

では、実際に試しとして、仮にwww.example.jp というドメインとして、秘密鍵と、サーバー証明書署名要求ファイルを作ってみます。
以下のコマンドを入力してみてください。

openssl req -new -newkey rsa:2048 -nodes -out www_example_jp.csr -keyout www_example_jp.key -subj "/C=JP/ST=Tokyo/L=Shinjyuku/O=Example/OU=example/CN=www.example.jp”

すると、下図の様にMyDataフォルダに、拡張子.csr ファイルと、拡張子.key ファイルができると思います。
csr ファイルは、証明書署名要求(CSR: certificate signing request)ファイルというもので、認証局に信頼できるサーバーとしてもらうための署名を要求するファイルです。
keyファイルは、秘密鍵 ( Private-Key ) ファイルです。

keyファイルをテキストエディタで開いてみると、下図の様になります。

このように、最初の行に「—- BEGIN ****」となっているものは、PEM形式というファイルだそうです。
これは、秘密鍵をbase64エンコーディングしたものなのか、暗号化されたものなのかは正直よくわかりませんが、他人に見られないように大切に保管しなければいけません

つい最近、某仮想通過取引所で、この秘密鍵が盗まれて多量の仮想通過流出事件がありましたが、正にこれの様です。

では、秘密鍵( Private-Key )を実際に見てみます。
以下のコマンドを入力してください。

openssl rsa -in www_example_jp.key -text -noout

すると、このように表示されます。

秘密鍵 ( Private-Key ) が見えました!
ネットのどこかのページにはPEM形式秘密鍵は暗号化されたものとありますが、このコマンドだけで見えてしまうということは、秘密鍵そのもののようなのです。
やはりPEM形式ファイル自体を厳重に保管しなければならないようです。

このcsr とkeyファイルはあくまでテストですので、削除してしまってOKです。
では、先に進んでいきます。
次では、作業用フォルダやファイル作成を説明します。

コメント

  1. HAL より:

    お久しぶりです。HALです。

    自宅のWEBサーバーでWPAを動かすためにSSL対応する必要があり、
    こちらの記事を参考にさせて頂きました。

    とても詳しく説明して頂いたお蔭で、無事に対応が出来ました。
    ありがとうございます。
    最初は簡単そうなApachなどの別サイト記事をいくつか試してみたのですが全敗しました。
    いやー、これは凄いですね。実際に試して感動しました。
    Chromeの最新版に対応できるのが、とてもありがたいです。
    自力では絶対に無理でした。

    対価として支援させていただきます。

    ¥—–
    ギフト券番号:
    —————
    有効期限
    ————-

    • mgo-tec mgo-tec より:

      (ブログを全面修復して、過去のコメントが消えてしまいました。
      以下、1/24時点のコメントを再投稿します。)

      HAL さん

      ご無沙汰しております。

      そして、かなり高額なご支援、ありがとうございます。
      とーってもウレシイです!!!

      そういえば、メール一切無しのご支援方法って、やっぱり斬新ですね。
      以前、コメント投稿でご支援いただきましたが、一瞬、メールを探してしまいました。
      本当に感謝しかありません。
      m(_ _)m

      ところで、あまり人気の無かったこの記事でお役に立てて、感無量でございます。
      この記事は結構苦労したんですよね。
      これは、実際に SSL 化した時の達成感はかなりありますよね。
      やった人でないと分からないと思います。
      HALさんにわかって頂けて、何よりです。
      報われた感があって、とっても嬉しいですね。

      最近は、忙しくてなかなか新たな工作ができませんが、おかげでがんばれそうな気がしました。
      ホントにありがとうございました。
      m(_ _)m

  2. juchang より:

    mgo-tec 様

    今回も教えを乞うこととなりました(スミマセン)。
    OpenSSL のバージョン確認のところまではスムーズにいったのですが、OpenSSL ディレクトリへ移行しようとすると、
    「ファイル名、ディレクトリ名またはボリュームラベルの構文が間違っています」
    となり先へ進めません。
    テキストと違う点:
    1.Dドライブが無いため、ディレクトリの保管場所をCドライブとしています。
    外置きのハードディスク(Eドライブ)でも試してみましたが同様。
    2.OpenSSL のバージョンは、1_0_2s となっています。
    3.OpenSSL のインストールで、「 Select Start Menu Foruder 」の項目が出ません。
    手書きでフォルダー名を、OpenSSL-Win64 → OpenSSL としても同様。
    毎回お手数をお掛けします、アドバイスの程お願いいたします。

    • mgo-tec mgo-tec より:

      juchangさん

      いつも記事を試していただき、ありがとうございます。

      私はOpenSSLを最近全く使っておらず、ver 1.0.2sになっているとは知りませんでした。
      バージョンが異なっていると、当然この記事とは異なると思います。

      まず、気になるのが、コマンドが正確に入力されているかどうかです。
      juchangさんがコマンドプロンプトで打ち込んだテキストが全て半角入力で、記号は合っていますでしょうか?
      今一度ご確認ください。
      「ファイル名、ディレクトリ名またはボリュームラベルの構文が間違っています」
      というようにコマンドラインに表示されたということは、コマンド入力方法が間違えています。

      cdコマンドはChange Directryの略です。
      cdコマンドの使い方が分らない場合、ネットに情報が沢山ありますので調べてみて下さい。
      因みに、

      cd /?

      と入力するとヘルプが見られます。

      あと、OpenSSLのインストールに関しての不具合は、私には解り兼ねますので、OpenSSLの方に直に問い合わせて頂くようにお願いいたします。
      (英語対応でいつ返事が来るか分かりませんが・・・)

      また、3番の質問は気にしなくて良いと思います。
      スタートメニューには普通にインストールされていると思われますし、機能には影響無いと思います。

      • juchang より:

        mgo-tec 様

        今回も単純なミスでした。
        cd /? で検索してみると、私の場合は C ドライブに保管しているので、
        cd \OpenSSL-Win64
        でいいことが解り、先ほど本テキストの処理を完成することができました。
        これで ESP32 SSL サーバーの構築へ進めます。
        今後ともご指導の程よろしくお願い致します。

        • mgo-tec mgo-tec より:

          やはり、そういうことでしたか・・・。
          コマンドプロンプトのエラーは入力ミスのことが多いので、それをまず疑ってかかると良いと思います。

タイトルとURLをコピーしました