TIL : Https



ドメイン名の住所を見るとhttp://https://自主が見えます.なぜhttpsがあるのでしょうか?

1. Https


HTTPS:セキュアソケット層上のHyperText転送プロトコル
HTTP over SSL(TLS),HTTP over Secure
もう一つのセキュリティ機能はhttpsです.
すなわち,httpプロトコルの内容を暗号化することでセキュリティが向上する.
以前のhttpは中間リクエストが人に見られると重要な情報をブロックしやすいが、httpsはリクエストを暗号化し、鍵がなければ情報をブロックできない!
Https特性
  • 証明書:
    データを送信するサーバがデータを送信するサーバであるかどうかを確認します!
    (データプロバイダ認証、ドメイン内)
  • CA : Cetificate Authority,
    授権証明書発行機関
    △資格を維持し続けるのではなく、資格を奪われる可能性があります.
  • 非対称鍵暗号化:
    まったく異なる鍵のペアは、暗号化および復号化することができる.
    (鍵Aで暗号化=>鍵Bのみで復号化)
    鍵を開示し、鍵を隠す
  • 2.証明書の発行とHTTPSサーバーの実施

  • $ brew install mkcert
  • $ mkcert -install
  • $ mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
  • => cert.pem, key.pem証明書完了~
  • node.js httpsモジュール
  • の使用
    
    const https = require('https');
    const fs = require('fs');
    
    https
      .createServer(
        {
          key: fs.readFileSync(__dirname + '/key.pem', 'utf-8'),
          cert: fs.readFileSync(__dirname + '/cert.pem', 'utf-8'),
        },
        function (req, res) {
          res.write('Congrats! You made https server now :)');
          res.end();
        }
      )
      .listen(3001);

    3.終了


    以前に学習した作成サーバとは異なり、証明書の発行や証明書を使用してサーバを作成する部分を追加するのは不思議です.
    作成した証明書はgitにアップロードされません(key.pemは秘密鍵であるため、パスワードのように処理する必要があります).
    また設定が必要な部分も不思議です.セキュリティとサーバがまだよく分からないので、引き続き熟知してください.🧐🧐🧐🧐🧐🧐