参考サイト1

オレオレ証明書

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
ーーー