PEAPやEAP-TLSで必要となる、RADIUSサーバの秘密鍵と証明書ファイルの作成方法。

Freeradiusパッケージをインストールすると、デフォルトでサンプルのCAがあるので、まずこれを削除しておく。


# rm -rf /etc/raddb/certs/*

①RADIUSサーバ用の秘密鍵の作成。

作業ディレクトリは、Freeradiusの証明書関係ディレクトリがやりやすい。
# cd /etc/raddb/certs/

# openssl genrsa -aes256 2048 > radius_key.pem
Generating RSA private key, 2048 bit long modulus
........+++
.......+++
e is 65537 (0x10001)
Enter pass phrase: ・・・RADIUSサーバ用の秘密鍵ファイルのパスフレーズを入力
Verifying - Enter pass phrase: ・・・RADIUSサーバ用の秘密鍵ファイルのパスフレーズを再入力
#

radius_key.pemファイルができているのを確認する。

②RADIUSサーバ用証明書要求ファイル(CSR)の作成

# openssl req -new -key radius_key.pem -out radius_csr.pem
Enter pass phrase for radius_key.pem: ・・・RADIUSサーバ用の秘密鍵ファイルのパスフレーズを入力
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  ・・・国名(2文字)を入力。CAとあわせておく。
State or Province Name (full name) []:Japan  ・・・国名または州名を入力。CAとあわせておく。
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:viva-musen   ・・・組織名(会社名など)を入力。CAとあわせておく。
Organizational Unit Name (eg, section) []:.   ・・・組織単位(部署名など)を入力。
Common Name (eg, your name or your server's hostname) []:radius.viva-musen.net   ・・・共通名(FQDN名やホスト名)を入力。
Email Address []:.

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

CSRファイル(radius_csr.pem)ファイルができたことを確認しておく。

③CSRファイルから、証明書を作成する。
ここからは、CAの作業である。

# openssl ca -in radius_csr.pem -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -out radius_cert.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:・・・CAの秘密鍵ファイルのパスフレーズを入力
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            bb:**:ba:8e:7c:5f:**:17
        Validity
            Not Before: Dec  8 04:10:49 2012 GMT
            Not After : Dec  8 04:10:49 2013 GMT
        Subject:
            countryName               = jp
            stateOrProvinceName       = Japan
            organizationName          = viva-musen
            commonName                = radius.viva-musen.net
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                E1:A6:A3:D0:79:**:CC:DA:5B:09:**:88:17:91:09:**:67:8C:**:39
            X509v3 Authority Key Identifier:
                keyid:7D:75:**:61:C0:7D:57:**:6F:9D:45:27:2A:5D:C3:**:0D:06:E0:9B

Certificate is to be certified until Dec  8 04:10:49 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
#

証明書ファイル(radius_cert.pem)ができたことを確認する。