Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

自己証明書の作成手順

自己証明書をprod環境で使用することはまずないですが、stg環境やdev環境、閉じられたcms環境やbackoffice環境だと、費用削減のために自己証明書を使用していることがわりとまだあります。
AWS環境だと、ACMでDV証明書を無料で作れるからいいんですけどね。
ということで、自己証明書の作成手順です。

変数定義

ここで各々必要な情報を変数に詰め込んじゃってください。
そうすればあとは基本的にコピペでいけると思います。

# 日付設定
export ssldate={yyyymmdd}

# ドメイン名設定
export ssldom={ドメイン名}

# bit数の指定
export sslbit=2048

# ユーザ名の指定
export user={ユーザ名}

メイン作業

ssl用ディレクトリの作成&移動

$ mkdir -p /home/$user/ssl
$ cd /home/$user/ssl/
$ chown $user:$user /home/$user/ssl/
$ cd /home/$user/ssl/

シード値の生成

$ date >> mkssl.log; openssl md5 * > rand.dat

秘密鍵の作成

$ openssl genrsa -rand rand.dat $sslbit > $ssldom.$ssldate.key

CSRの作成

$ openssl req -new -key $ssldom.$ssldate.key -out $ssldom.$ssldate.csr

# 情報をいろいろ聞かれますが、自己証明書なのでCommon Name以外は空Enterで問題ありません。
Country Name (2 letter code) [XX]:
State or Province Name (full name) :
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) :
Common Name (eg, your name or your server's hostname) :{ドメイン名}
Email Address :

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :
An optional company name :

CSRの確認

$ openssl req -noout -text -in $ssldom.$ssldate.csr | head -8

自己証明書の作成(期限は約10年(3650日)とします)

$ openssl x509 -in $ssldom.$ssldate.csr -sha256 -out $ssldom.$ssldate.crt \
-req -signkey $ssldom.$ssldate.key -days 3650

以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?