opensslによるワイルドカード証明書と有効期限の延長

ワイルドカード証明書

認証局への署名要求書(server.csr)の作成
の際のCommon Nameで指定します。

Common Nameに指定して正しく動作するパターン
test.jp ホスト名が書いてある(普通)
192.168.1.55 直接IPが書いてある
*.contos.jp aaa.centos.jp bbb.centos.jpサブドメインがワイルドカードになっている
*.168.1.55 IPの前がワイルドカードになっている

作成しても警告が出てしまうパターン
* ワイルドカードのみのパターン
192.168.1.* ip+ワイルドカードのパターン
*.*.*.55
*.*.jp aaa.centos.jp bbb.centos.jpサブドメインがワイルドカードになっている

結果、一番左のサブドメインならワイルドカードにできる。IPも設定できる。

# openssl req -new -key server2012.key -out server2012.csr
Enter pass phrase for server2012.key:
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) [GB]:JP
State or Province Name (full name) [Berkshire]:Tokyo
Locality Name (eg, city) [Newbury]:chuou-ku
Organization Name (eg, company) [My Company Ltd]:CACompany
Organizational Unit Name (eg, section) []:TestSection
Common Name (eg, your name or your server's hostname) []:★*.co.jp
Email Address []:

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

自己発行の証明書の有効期間を延長する。

署名要求書(server.csr)にサーバ用秘密鍵(server.key)・もしくはCA用秘密鍵(ca.key)を使用して署名し、
サーバー証明書(server.crt)を発行する際に有効期限は設定されます。

自己署名の場合
-days に有効期限を設定して再発行します。

#cd /etc/httpd/conf/cert
# openssl x509 -req -days 3650 -sha1 -in server2012.csr -signkey server2012.key -out server2012.crt

この場合は有効期限は10年になります。

自己認証局を使用している場合

# vim /etc/pki/tls/openssl.cnf
###default_days    = 365                   # how long to certify for
default_days    = 3650                   # how long to certify for

で有効期限を設定して再発行します。

※CAの証明書等もプログラムで使用するため実行ディレクトリも関係する。(././CAが必要)

# cd /etc/pki/tls/misc
# openssl ca -in /etc/httpd/conf/ssl/server2012.csr -out /etc/httpd/conf/ssl/server2012.crt
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ../../CA/private/cakey.pem:★capass
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 3 (0x3)
        Validity
            Not Before: Dec 27 10:40:26 2012 GMT
            Not After : Dec 27 10:40:26 2013 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Tokyo
            organizationName          = CACompany
            organizationalUnitName    = TestSection
            commonName                = test.jp
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:TRUE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                E8:4B:26:99:B7:D7:40:1D:42:FA:3C:40:B5:44:08:AA:76:F6:87:2A
            X509v3 Authority Key Identifier:
                keyid:DB:4C:02:42:86:E8:9E:1A:97:DE:C2:B1:D8:A4:8C:CA:7A:BD:87:2C

Certificate is to be certified until Dec 27 10:40:26 2013 GMT (365 days)
Sign the certificate? [y/n]:★y


1 out of 1 certificate requests certified, commit? [y/n]★y
Write out database with 1 new entries
Data Base Updated
タイトルとURLをコピーしました