オレオレ証明書
10年間(3650日)有効なオレオレ証明書ができあがる。
$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
できあがったserver.crtとserver.keyを、例えば/etc/httpd/conf/ 配下のssl.crt/ と ssl.key/ ディレクトリに設置し、以下のようにApacheのssl.confに記述する。
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
なお途中に作ったserver.csrは不要なので消してしまって良い。
証明書確認
$ openssl genrsa 2048 > server.key
2048bitの鍵を作成
$ openssl rsa -text < server.key
pensslのrsaコマンドに -text オプションを付ける
一行で作成
$ yes '' | openssl req -x509 -newkey rsa:4096 -nodes -sha256 -keyout key.pem -out cert.pem -days 30
4096
秘密鍵の長さをビットで指定
key.pem
秘密鍵のファイル名
cert.pem
証明書のファイル名
30
証明書の有効期間を日数で指定
カレントディレクトリにできた key.pem と cert.pem がそれぞれ秘密鍵と証明書です。
別の方法
一行で作成
openssl genrsa -out server.key 2048 ; openssl req -new -key server.key -out server.csr -subj '/C=JP/ST=Tokyo/L=Tokyo/O=Example Ltd./OU=Web/CN=example.com' ; openssl x509 -in server.csr -days 3650 -req -signkey server.key > server.crt
/C=JP/ST=Tokyo/L=Tokyo/O=Example Ltd./OU=Web/CN=example.com らへんを任意に編集してください
カレントディレクトリにserver.key(秘密鍵) と server.crt (証明書)ができるのでそれを使います
ーーー
秘密鍵(server.key)の作成 (パスフレーズなし)
openssl genrsa -out server.key 2048
公開鍵(server.csr)の作成
openssl req -new -key server.key -out server.csr -subj '/C=JP/ST=Tokyo/L=Tokyo/O=Example Ltd./OU=Web/CN=example.com'
公開鍵を使って証明書(server.crt)の作成
openssl x509 -in server.csr -days 3650 -req -signkey server.key > server.crt
ーーー