OpenSSLのインストールとキーペアの生成
2001/11/24
バージョン | OpenSSL 0.9.6b | |
OS | RedHat 7.0J (Linux 2.2.16-22) | |
ホームページ | http://www.openssl.org/ | |
ダウンロード | http://www.openssl.org/source/ |
OpenSSLはフリーのSSL実装で、mod_sslやApache-SSL、あるいはOpenSSHなどで必要になります。ApacheでSSLを使いたい場合は、OpenSSLのほかに、mod_sslまたはApache-SSLを導入する必要があります。
OpenSSLのインストール
INSTALLの手順通りコンパイルします。
$ tar xvfz openssl-0.9.6b.tar.gz $ cd openssl-0.9.6b $ ./config $ make $ make test
rootになってインストールします。
$ su # make install
鍵の作成とサイト証明書の発行
パスフレーズで保護された秘密鍵を生成します。
$ su # cd /usr/local/ssl # bin/openssl genrsa -des 1024 > private/key.pem 1112 semi-random bytes loaded Generating RSA private key, 1024 bit long modulus .+++++ ..............+++++ e is 65537 (0x10001) Enter PEM pass phrase:(パスフレーズ入力) Verifying password - Enter PEM pass phrase:(パスフレーズ再入力)
生成される秘密鍵(/usr/local/ssl/private/key.pem)は以下のようなものです。
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-CBC,8503D35E9CBA1683 ETK89zqOVTKFmUTKNgHSbKhsUgKegGp6lluKk8EC6HyIMFm+1U8qwdv65jHzbzjX LCOcBDE5DkFc/OAVzBx13XSdXyj2BcaqIRLuFbIsmXvepZ1LOtkZKxLuMk0JLUs4 kdjmlZnG6YUArP8m+SiZd4QBsvLnoFTH64AHl+0SB1Sv2FHdZK6yCJ+xqktZpwj8 0JkEGY0xAEL4Gy0/kF6Iv7h+A8bA0iNwVHigkIv8tQQR/xbh6MPnUPtdeKxmwcgP RwYUfP6R9kw0qiPHna3nW+ZpH+rMIGfUlRl0azLBI4SmoKdpsMtjvwer+mUezFY4 CD7x4QJi1L6PyyDs7pDZCj33fOOCyMWVjLYFsNQJEWDCqf+g5QSGyJH0AFBozwSp zSMOwy1vMtbFKtKG9YV+ghCx7GikNzBUgaBSl8/zri5st/UiGjjPja609mwSWiHC E+FeeeG24giBch5H/bhhipdqG6Q52OM/PtrpgZYhio/ZgHn+K81GwA4N2I8DzwEl 9+z5WaJg8ZhjPTG5ULAtG4W0wYiKqpwtB/zBFyVyitwuqM4RFZ3GUkCkLq6HaufW RawIivGqx1rr51WZR8bsGBDE01znKbq09YV92Cp1rYYDJSqSmInJPztDOTAi9VBN TNTS5sQFtTK3bvennxas+r/WOs/67Qwu4l0b/iXC0v9oTZkrIuHwIxQhn2wz5gDk bA4AnFIWGR8SQCrjNwq2xR/2r8MV70Kq01AgQuatBpkAIEqKKA7Af05BYDQ58ExC qicpqkAO/kb7LfcIKis2MEP6nEw2gC77ugX1a5uKB0q3OWnUb1BTLA== -----END RSA PRIVATE KEY-----
このようにして作成した鍵をApacheで使用すると、Apacheの起動時に毎回パスフレーズを聞かれます。自動起動させる場合は邪魔な場合は、鍵からパスフレーズを削除します。(もちろんセキュリティ上は毎回パスフレーズを入力するほうが望ましいですが)
# bin/openssl rsa -in private/key.pem -out private/key.pem read RSA private key Enter PEM pass phrase:(パスフレーズ入力) writing RSA private key
次に、CSRを作ります。CSRとは、サイト証明書を発行するためのリクエストです。(-daysオプションで証明書の有効期限を設定できます)
# bin/openssl req -new -days 365 -key private/key.pem -out 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) [AU]:JP State or Province Name (full name) [Some-State]:Tokyo Locality Name (eg, city) []:Chofu-shi Organization Name (eg, company) [Internet Widgits Pty Ltd]:BitArts,Inc. Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:sv.pixy.ne.jp Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
生成されるCSR(/usr/local/ssl/csr.pem)は以下のようなものです。
-----BEGIN CERTIFICATE REQUEST----- MIIBcTCB2wIBADAyMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFVG9reW8xEzARBgNV BAoTCkxpbmttYW5hZ2UwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANASNMRG cqLOS2Lx7ZtGqQtQsVi17MWqU0uztIPi8XOAVr80yEj9zss4cgc3cURag+1R6TGG /A4Ts/P2k1A6O1NrIiMQn7bIAh2bgGYo7bYFwvsv8Zn3eNbGsCVlNELr1p5mFwXT Bkt3e7HTSNBf5JKr8e7X6Ld5/4+Oq7y1yaJRAgMBAAGgADANBgkqhkiG9w0BAQQF AAOBgQAEVU1O7U1r+ktMtQCzQ/0F4FtX0BYGUQTUfIOBZrVQoPgjQKNf5pS4GJQ/ dxBMDihzAfl3adrGRLdSV5v1uOSCliPFxfFzF3S0rg/zlrQdOS3jjSSWZcg/9hnb ca2Gho8pm7FZnuPXgrpImVZixhplGNG2F9UPlx8Fb2YuQ9Wbiw== -----END CERTIFICATE REQUEST-----
このCSRをベリサインなどの認証局に送ると以下のようなサキュアサーバID(サイト証明書)が発行されます。これをcerts/cert.pemと言う名前で保存します。
認証局を使わず、自分で署名する場合は、以下のようにします。
# bin/openssl x509 \ -in csr.pem -out certs/cert.pem -req \ -signkey private/key.pem -days 365
サイト証明書(/usr/local/certs/cert.pem)は以下のようなものです。
-----BEGIN CERTIFICATE----- MIIB0zCCATwCAQAwDQYJKoZIhvcNAQEEBQAwMjELMAkGA1UEBhMCSlAxDjAMBgNV BAgTBVRva3lvMRMwEQYDVQQKEwpMaW5rbWFuYWdlMB4XDTk5MTAyNjA3MzgyMVoX DTk5MTEyNTA3MzgyMVowMjELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMRMw EQYDVQQKEwpMaW5rbWFuYWdlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQ EjTERnKizkti8e2bRqkLULFYtezFqlNLs7SD4vFzgFa/NMhI/c7LOHIHN3FEWoPt UekxhvwOE7Pz9pNQOjtTayIjEJ+2yAIdm4BmKO22BcL7L/GZ93jWxrAlZTRC69ae ZhcF0wZLd3ux00jQX+SSq/Hu1+i3ef+Pjqu8tcmiUQIDAQABMA0GCSqGSIb3DQEB BAUAA4GBAC+3WucVbNdHEFnKwwwxOORezYzsqCIV5wwMkX4kzADyJd8Nhop5tQzX eaq1X54iYq22nFNI3LejQl9G+XtcbTgRvkiaCG3PfLB663t3f5UFHGZzA3yHxOjZ jkVl9aco4j+b0fiEA7wGMKwttmktcR4JdrQbsJm5BzaxCwst2GoB -----END CERTIFICATE-----