投稿

ラベル(Linux)が付いた投稿を表示しています

[Linux]OpenSSL

イメージ
はじめに OpenSSL(Secure Sockets Layer)は、暗号化や電子証明書の作成・管理を行うための代表的なツールです。SSL/TLS証明書の作成だけでなく、RSA秘密鍵の生成、CSR(証明書署名要求)の作成、自己署名証明書の発行、ハッシュ値の計算など、さまざまな用途で利用されています。 しかし、初めてOpenSSLを触ると「秘密鍵」「CSR」「証明書」といった専門用語が次々と登場し、それぞれがどのような役割を持っているのか分かりにくいと感じることも少なくありません。 本記事では、Linux環境でOpenSSLを使用する基本的な方法を、図を交えながら分かりやすく解説します。まずはRSA秘密鍵・CSR・証明書の関係を理解し、その後で実際のOpenSSLコマンドを使った鍵や証明書の作成手順を順番に見ていきたいと思います。 各ファイルの役割 まずはじめに各ファイルの役割についてですが、「拡張子」と「中身」は必ずしも一致しません。 特に .pem は「ファイル形式」を表し、.key や .crt は「用途」を表すことが多いので注意です。 ここでは一般的な用途について記載します。 拡張子 主な役割 含まれる内容 公開してよい? .key 秘密鍵 RSA秘密鍵 × 絶対に公開しない .csr 証明書署名要求 公開鍵+申請者情報 ○ 認証局へ送る .crt 証明書 公開鍵+署名+所有者情報 ○ 公開してよい ※HTTPサーバではこのファイルを公開する .pem PEM形式のファイル 秘密鍵・証明書・CSRなど何でも入る 中身による 証明書作成の基本的な流れ SSLアクセスを実現するための証明書作成の流れは以下です。 秘密鍵 CSR 自己署名 or 認証局による署名 証明書 SSLアクセスは、自分の秘密鍵で署名する自己証明書使う方法と、認証局(CA)に署名してもらう方法があります。 自己証明書 認証局(CA)発行 ...