2008年4月24日木曜日

自己署名型の認証局CAの作成

ubuntu710-serverにおけるSLL設定

認証局CAの作成
うちのサーバにおいて、CA.shを探す。
認証局作成スクリプト CA.sh/usr/lib/ssl/misc/ の下に入っている ことが判明。
まず、カレントディレクトリを/etc/ssl/とする。
# cd /etc/ssl
ここで
#nano openssl
としてopenssl.cnfの中を編集する。
重要な箇所は、
dir ./demoCA → dir /etc/ssl/CAと修正する。
その他に
default_daysを3650に修正しておく。
--------------------------------
以下補足として
# nano /etc/ssl/openssl.cnf  
default_days = 3650   # how long to certify for  有効期限の変更を10年にする
dir = /etc/ssl/CA     # Where everything is kept     
countryName= JP                                             
stateOrProvinceName= Hyogo                                         
localityName =Kobe-shi                                   
organizationName=組織名                                     
organizationalUnitName= Kaihatu-bu                             
commonName= 192.168.*.**(IPアドレスにした)                     
emailAddres=***@gmail.com メールアドレス                        

[ usr_cert ]                                                      
# This is OK for an SSL server.                                        
nsCertType = server  コメントアウト#を外す                

[ v3_ca ]                                                        
# Some might want this also                                           
nsCertType = sslCA, emailCA  コメントアウト#を外す
とりあえずここまで保存しておく
以上
------------------------今回はこの補足はCAと3650にとどめた。
とりあえずここでopenssl.cnfを保存する。

次にCA.shを/etc/ssl/にコピーする。
# cp /usr/lib/ssl/misc/CA.sh /etc/ssl/
そして、CA.shを編集する。
私は、demoCAをCAに修正、それから3650に修正して保存した。

次に認証局CAを作成する。
# /etc/ssl/CA.sh -newca
すると
CA certificate filename (or enter to create)           → エンターでよい
Using configuration from /usr/lib/ssl/openssl.cnf
Generating a 1024 bit RSA private key
.................++++++
..............................++++++
writing new private key to './CA/private/./cakey.pem'
Enter PEM pass phrase: → パスフレーズ入力
Verifying password - 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.
-----
countryName= JP                                             
stateOrProvinceName= Hyogo                                         
localityName =Kobe-shi                                   
organizationName=組織名                                     
organizationalUnitName= Kaihatu-bu                             
commonName= 192.168.*.**(IPアドレスにした)                     
emailAddres=***@gmail.com メールアドレス   

すると/etc/ssl の下に CA という認証局のディレクトリが生成された。

認証局の証書はcacert.pemである。

CAディレクトリの内部を確認する。
# ls CA
私の場合は
cacert.pem careq.pem certs/ crl/ index.txt newcerts/ private/ serialに加えて、
index.txt.old index.txt.attf serial.old等もあったが、これはrmで消去した。 

private の中のcakey.pem認証局の秘密鍵である。
# ls CA/private/
cakey.pem

秘密鍵は他人に見られないようにパーミッションを変更する。
#chmod 600 /etc/ssl/CA/private/cakey.pem
#chmod 700 /etc/ssl/CA/private/

また、cacert.pem自己署名型の認証局証明書である。

最後に、作成した自己署名型の認証局証明書が正しくできたかを確認する。

#openssl x509 -in cacert.pem -text

以上、自己認証局CAの作成と確認まで 

おわり


0 件のコメント: