メインコンテンツまでスキップ

RFC 2818 - TLS 上の HTTP (HTTPS) - クイックリファレンス (Quick Reference)

クイックリファレンス (Quick Reference)​

HTTPS vs HTTP​

機能HTTPHTTPS
プロトコルhttp://https://
ポート80443
暗号化❌ 平文✅ TLS 暗号化
完全性❌ 保護なし✅ MAC 保護
認証❌ サーバー認証なし✅ 証明書認証
プライバシー❌ 盗聴可能✅ 暗号化通信

TLS ハンドシェイク概要 (TLS Handshake Overview)​

クライアント                     サーバー
| |
|--- ClientHello --------------->|
| |
|<-- ServerHello, Certificate ---|
|<-- ServerHelloDone ------------|
| |
|--- ClientKeyExchange --------->|
|--- ChangeCipherSpec ---------->|
|--- Finished ------------------>|
| |
|<-- ChangeCipherSpec -----------|
|<-- Finished -------------------|
| |
|=== 暗号化チャネル =============|
| |
|--- 暗号化 HTTP リクエスト ---->|
|<-- 暗号化 HTTP レスポンス -----|

一般的なツール (Common Tools)​

# OpenSSL で証明書を表示
openssl s_client -connect www.example.com:443 -showcerts

# TLS バージョンをテスト
openssl s_client -connect www.example.com:443 -tls1_2

# 証明書の詳細を表示
echo | openssl s_client -connect www.example.com:443 2>/dev/null | \
openssl x509 -noout -text

# cURL で HTTPS を使用
curl -v https://www.example.com