そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

CentOS8プライベート認証局(WEBサーバHTTPS化)【②中間CAのCSR作成】

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・CentOS8でプライベート認証局を作って、LAN内のWEBサーバにHTTPSアクセスができるようにしたい。
・ネットで検索すると、新旧のいろいろな情報が出てきて、同じように真似してやってみたが上手くいかないので、最新の手順を詳しく知りたい。

こういった疑問に答えます。

本記事の内容

  1. CentOS8とOpenSSLでプライベート認証局(ルートCA)を作る方法
  2. CentOS8とOpenSSLで中間認証局を作る方法
  3. CentOS8のWEBサーバの証明書を作る方法
  4. CentOS8・ApacheのWEBサーバに証明書を設定してHTTPSアクセスを許可する方法

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

前回の記事

前回の記事では、ルートCAの作成までを済ませました。

souiunogaii.hatenablog.com

①~⑦までをまとめて読みたい方は下記のまとめ記事から。

souiunogaii.hatenablog.com

中間CAの作成

中間CA用のディレクトリ作成

mkdir /etc/pki/interCA
/etc/pki/interCA/newcerts
[root@SV-EARTH pki]# cd /etc/pki/
[root@SV-EARTH pki]# mkdir /etc/pki/interCA
[root@SV-EARTH pki]# cd interCA
[root@SV-EARTH interCA]# mkdir /etc/pki/interCA/newcerts
[root@SV-EARTH interCA]# mkdir /etc/pki/interCA/private

中間CAの秘密鍵の作成

カレントディレクトリを秘密鍵の作成ディレクトリ「private」に移動

cd /etc/pki/interCA/private
[root@SV-EARTH pki]# cd /etc/pki/interCA/private

中間CAの秘密鍵の作成

openssl genrsa 2048 > interCA_key.pem
[root@SV-EARTH private]# openssl genrsa 2048 > interCA_key.pem
Generating RSA private key, 2048 bit long modulus (2 primes)
............+++++
.........................................................................+++++
e is 65537 (0x010001)

作成した中間CAの秘密鍵の内容の表示

openssl rsa -text < interCA_key.pem
[root@SV-EARTH private]# openssl rsa -text < interCA_key.pem
RSA Private-Key: (2048 bit, 2 primes)
modulus:
    00:bc:86:c1:17:01:5c:f0:84:86:54:31:77:5c:c7:
    4c:92:07:ef:89:f5:33:44:3d:d3:b3:e2:fe:14:c1:
------------------(中略)-----------------
    cc:da:01:b9:da:2f:9d:89:48:c9:81:a0:e6:5f:d0:
    47:7c:50:26:da:12:8f:7b:22:18:13:8a:57:23:f6:
    38:5f
publicExponent: 65537 (0x10001)
privateExponent:
    7a:36:cd:33:d1:b1:63:46:36:22:9c:52:a9:b5:95:
    60:d1:7e:2a:ab:e7:09:25:1f:79:6c:fc:93:8e:4e:
------------------(中略)-----------------
    c1:3e:d8:c0:8c:95:9d:b8:41:03:87:69:0d:ea:53:
    30:c3:b4:3b:79:2d:ce:54:72:3e:4c:ee:d3:21:9a:
79
prime1:
    00:ea:4f:a4:32:33:ad:aa:05:7e:05:76:7b:cf:a5:
    f0:42:c3:ec:6d:7c:c8:03:72:25:44:95:d0:54:89:
------------------(中略)-----------------
    9b:f6:ef:45:10:b4:50:9a:06:38:fa:37:79:89:2e:
    61:83:87:be:14:25:1d:12:9d
prime2:
    00:cd:fa:2c:9b:fb:d9:b8:a4:38:2d:fd:9f:d3:47:
    4d:c5:3b:48:d9:5f:39:e2:55:8d:ba:de:ce:17:86:
------------------(中略)-----------------
    05:71:87:a2:f3:b3:27:b2:43:61:15:c7:5d:23:d4:
    17:cf:6b:13:d8:82:7c:f8:2b
exponent1:
    2a:36:84:ef:62:6e:14:26:7f:28:be:ca:d9:83:1c:
    c0:fa:89:3a:c4:73:48:63:a5:21:31:18:62:52:80:
------------------(中略)-----------------
    57:54:8e:0d:cf:5e:82:11:42:ec:99:57:f5:05:fd:
    1d:74:34:23:6e:f8:48:e5
exponent2:
    00:89:af:51:62:73:57:76:35:4f:d8:6e:51:07:ca:
------------------(中略)-----------------
    f5:dc:5e:6d:27:e9:21:61:64:ed:22:76:d7:46:c8:
    68:fb:1a:cf:b2:57:6f:91:99:b8:ab:f6:38:2c:5a:
    fa:0f:8c:64:17:b6:22:13:41
coefficient:
    00:a3:af:0a:45:1e:a3:6a:2e:d1:1f:0c:06:85:59:
    2b:1f:39:13:34:96:34:d8:45:54:41:88:b1:69:13:
------------------(中略)-----------------
    55:21:24:da:24:88:29:ca:d8:82:41:be:44:3c:df:
    66:4f:50:ed:fd:f0:66:c4:f2:02:27:91:d0:b0:7b:
    e9:af:20:be:7a:78:ea:18:f6:ae:0d:cf:7f:4a:c9:
    bc:ee:49:fc:2e:02:20:0c:e8
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAvIbBFwFc8ISGVDF3XMdMkgfvifUzRD3Ts+L+FMH22c/eSRMe
ENhD1f2hiLgrHiPRWr99Q9NbXeYsV7VS4ekOmkVD+xHmGIGcM/S4IEEqzu9iBj+D
sa5YAsXdGpLdbNw9HTcSJiltGByC3zHz1Dc4Lm+2y464bhUsiuU1IiRNdKfncnpb
------------------(中略)-----------------
Zo06rQQzfI50qGBTUQG2AjqMfTwNWxI/EUsG5l6b+ZTMpYUKIvPRujiXmon6FB0l
UpYVQCo03hCmXIPX7vXcXm0n6SFhZO0idtdGyGj7Gs+yV2+Rmbir9jgsWvoPjGQX
tiITQQKBgQCjrwpFHqNqLtEfDAaFWSsfORM0ljTYRVRBiLFpE0R/Jm6SxorHfS//
C1S7S5tOolRw0yclvTKwwAJuPDJerCU4AO/9fClZGhC34VUhJNokiCnK2IJBvkQ8
32ZPUO398GbE8gInkdCwe+mvIL56eOoY9q4Nz39KybzuSfwuAiAM6A==
-----END RSA PRIVATE KEY-----

中間CAの署名要求CSRファイルの作成

中間CAからルートCAに対して、署名をしてもらうための署名要求CSRファイルを作成します。

署名要求CSRファイルの作成

openssl req -new -key /etc/pki/interCA/private/interCA_key.pem > /etc/pki/interCA/interCA_csr.pem
[root@SV-EARTH interCA]# openssl req -new -key /etc/pki/interCA/private/interCA_key.pem > /etc/pki/interCA/interCA_csr.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Shinagawa-ku
Organization Name (eg, company) [Default Company Ltd]:EARTH PLANET Inc.
Organizational Unit Name (eg, section) []:★★★空のまま[Enter]キー★★★
Common Name (eg, your name or your server's hostname) []:EARTH PLANET Inter CA
Email Address []:interca@sv-earth.planet.jp

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:★★★空のまま[Enter]キー★★★
An optional company name []:★★★空のまま[Enter]キー★★★

作成した署名要求CSRファイルの内容の表示

openssl req -text < interCA_csr.pem
[root@SV-EARTH interCA]# openssl req -text < interCA_csr.pem
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: C = JP, ST = Tokyo, L = Shinagawa-ku, O = EARTH PLANET Inc., CN = EARTH PLANET Inter CA, emailAddress = interca@sv-earth.planet.jp
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:bc:86:c1:17:01:5c:f0:84:86:54:31:77:5c:c7:
                    4c:92:07:ef:89:f5:33:44:3d:d3:b3:e2:fe:14:c1:
------------------(中略)-----------------
                    71:20:c3:03:8a:c1:bc:a5:4b:ec:7a:88:f3:e8:cc:
                    cc:da:01:b9:da:2f:9d:89:48:c9:81:a0:e6:5f:d0:
                    47:7c:50:26:da:12:8f:7b:22:18:13:8a:57:23:f6:
                    38:5f
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         03:0a:a0:de:0e:cf:ed:40:68:47:88:91:fa:c2:12:bc:7c:25:
         41:d7:6e:a4:2a:f4:93:fd:5b:f2:59:62:bb:a5:77:d7:09:b2:
------------------(中略)-----------------
         79:3d:fb:6a:b8:0f:a4:18:9e:aa:71:0a:39:09:f3:11:12:c9:
         7e:72:2a:ed:18:92:61:ed:6a:3a:a0:2a:34:72:9e:13:34:24:
         b0:66:36:e8
-----BEGIN CERTIFICATE REQUEST-----
MIIC4TCCAckCAQAwgZsxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzEVMBMG
A1UEBwwMU2hpbmFnYXdhLWt1MRowGAYDVQQKDBFFQVJUSCBQTEFORVQgSW5jLjEe
------------------(中略)-----------------
U0NEtYcUbFqZgcHiaz3owA6txaL2h57oM7aPwv15PftquA+kGJ6qcQo5CfMREsl+
cirtGJJh7Wo6oCo0cp4TNCSwZjbo
-----END CERTIFICATE REQUEST-----

少し長くなったので、続きはまた次回の記事に書きます。

souiunogaii.hatenablog.com