メインメニュー
Powered By

vine linux4.~
apache2.~
php5.~
Mysql5.~
xoops cube2.~
hp
自宅サーバより発信しています

 TOP  >  Vine linux  >  apache2のサーバー通信暗号化(ssl)
トップ  >  apache2のサーバー通信暗号化(ssl)



以下vine4.2 Apache2.2***用で説明


Vineの場合/etc/pkiというディレクトリが既に用意してあるので, ここにCA(なんでもよい)という作業ディレクトリを作成することにする

$ cd /etc/pki
$ mkdir CA

/usr/share/sslというディレクトリから必要なファイルを持ってくる(今回はCAを使う)

$ cp /usr/share/ssl/misc/CA /etc/pki/CA/
$ cp /usr/share/ssl/openssl.cnf /etc/pki/CA/openssl.conf

CAの設定を変更する
エディタで開いて下記の部分を変更

DAYS="-days 1095" # 3年の場合
SSLEAY_CONFIG="-config /etc/pki/CA/openssl.conf"
CATOP=/etc/pki/CA
CAKEY=cakey.pem
CACERT=cacert.pem


openssl.confも変更
[ CA_default ]
dir = /etc/pki/CA
default_days = 1095


その後,サーバ・クライアント用にコンフィグファイルを生成する
$ cp openssl.conf server.conf
$ cp openssl.conf client.conf


下記に変更(ハッシュマークを取る)
server.confの中の
nsCertType = server
dir = /etc/pki/CA

client.confの中の
nsCertType = client, email, objsign
dir = /etc/pki/CA


続いてルートCAの生成

$ ./CA -newca
CA certificate filename (or enter to create) ←ここでリターン

Making CA certificate ...
Generating a 1024 bit RSA private key
.............++++++
................++++++
writing new private key to '/etc/pki/CA/private/cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Verify failure
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
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]:Miyazaki
Locality Name (eg, city) []:Hyuga
Organization Name (eg, company) [Internet Widgits Pty Ltd]:isapa home area
Organizational Unit Name (eg, section) []:Lab
Common Name (eg, YOUR name) []:isapa.info
Email Address []:hodehode@hodehode.com


これで自己署名されたCA証明書cacert.pemが生成され,秘密鍵がprivate以下にcakey.pemで生成される. そして,秘密鍵が漏れないようにする.

[root@ns0 CA]# chmod 600 private/cakey.pem
[root@ns0 CA]# chmod 700 private

サーバ証明書の生成

Vineには/etc/pki/tlsというディレクトリがあると聞いたのですが自分のにはなかったので手動で作りました ここで作業。

[root@ns0 CA]# cd /etc/pki/tls

まずサーバの秘密鍵を作成する
[root@ns0 tls]# openssl genrsa -des3 -out server.key 1024

Generating RSA private key, 1024 bit long modulus
....++++++
..............................................++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:←ここでパスワード(なんでもいいけどこの後も使うので忘れないで)
Verifying - Enter pass phrase for server.key:←ここでパスワード

パスフレーズを削除しておく

[root@ns0 tls]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:←ここでパスワード
writing RSA key


この秘密鍵を使って,CAで署名してもらう署名要求書(CSR)を作成する

[root@ns0 tls]# openssl req -new -days 1095 -key server.key -out server.csr
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]:Miyazaki
Locality Name (eg, city) []:Hyuga
Organization Name (eg, company) [Internet Widgits Pty Ltd]:isapa home area
Organizational Unit Name (eg, section) []:Lab
Common Name (eg, YOUR name) []:isapa.info
Email Address []:hodehode@hodehode.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:←リターンのみ
An optional company name []:←リターンのみ

この作成したserver.csrをCAへコピーする.
以下のコマンドはCAとして行う.

[root@ns0 CA]# openssl ca -config server.conf -in server.csr -keyfile private/cakey.pem -cert cacert.pem -out server.crt

Using configuration from server.conf
Enter pass phrase for private/cakey.pem:←ここでパスワード
Check that the request matches the signature
Signature ok
Certificate Details:

〜省略〜


Sign the certificate? [y/n]:y←yと入力


1 out of 1 certificate requests certified, commit? [y/n]y←yと入力
Write out database with 1 new entries
Data Base Updated

これによって生成されたserver.crtがCAによって署名されたサーバの証明書となる


サーバへの組み込み

vineの場合

/etc/apache2/conf/ssl.crt/ にserver.crtを
/etc/apache2/conf/ssl.key/ にserver.keyを
それぞれコピーしておく

ssl.confの中の下記の部分を変更しておく

SSLCertificateFile /etc/apache2/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/conf/ssl.key/server.key


証明書のチェック
証明書が正しく生成されたかどうかチェックするには以下を入力.

[root@ns0 CA]# openssl x509 -in cacert.pem -text
注意 /etc/pki/CA でやること

DERフォーマットの生成

証明書の配布等に使われるDERフォーマットで生成するには以下を入力.

$ openssl x509 -in cacert.pem -outform DER -out cacert.der

できたcacert.derファィルを必要な人に配布
前
携帯からWebMailのssl通信
カテゴリートップ
vine linux 覚え書き
次
mobileimapに使うruby


Powered by XOOPS Cube Legacy 2.2 © 2001-2013 The XOOPS Cube Project  .