(最終更新日時:2012-11-27 10:58:05)
OpenSSL により自己認証局(自己認証サーバー)を構築し、認証サーバー証明書、サーバー証明書、クライアント証明書およびデジタル署名用証明書を作成、管理します。
- 認証サーバー(CA)証明書の作成
- 認証サーバー(CA)証明書の更新
- サーバー証明書の作成
- サーバー証明書の更新
- クライアント証明書の作成
- クライアント証明書の失効処理
- クライアント証明書の更新
- デジタル署名用証明書の作成
事前準備
OpenSSL の運用にあたり、事前に必要な準備を行います。
# (失効処理用に crlnumber が存在しない場合、新規に作成します)
# cd /home/ssl/CA
# echo "00" > crlnumber
認証サーバー(CA)証明書の作成
認証サーバー証明書の作成準備を行います。
認証サーバーの証明書ディレクトリを
/home/ssl/CA にしています。
# mkdir /home/ssl
# cd /home/ssl
# cp /etc/pki/tls/openssl.cnf ca.cnf 定義ファイルをカスタマイズします
# vi ca.cnf
----------(vi ここから)----------
:
[ CA_default ]
dir = /home/ssl/CA # Where everything is kept
:
x509_extensions = v3_ca # The extentions to add to the cert
:
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = JP # 国名(2文字)
:
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Tokyo # 州名
localityName = Locality Name (eg, city)
localityName_default = Setagaya-ku # デフォルトの市名
0.organizationName = Organization Name (eg, company)
0.organizationName_default = System House ACT # 組織(会社)名
:
organizationalUnitName = Organizational Unit Name (eg, section)
#organizationalUnitName_default =
organizationalUnitName_default = Certification Authority # 組織名
:
[ v3_ca ]
:
# Some might want this also
# nsCertType = sslCA, emailCA
nsCertType = sslCA, emailCA # Netscape用にコメントを外します
:
----------(vi ここまで)----------
# cd /etc/pki/tls/misc
# cp CA CA.new スクリプトをカスタマイズします
# vi CA.new
----------(vi ここから)----------
:
SSLEAY_CONFIG="-config /home/ssl/ca.cnf" # 定義ファイルの場所を指定します
DAYS="-days 365" # 1 year
CADAYS="-days 3650" # 10 years # 有効期限を10年に変更しています
:
CATOP=/home/ssl/CA # 証明書用のディレクトリを定義します
:
----------(vi ここまで)----------
認証サーバー(CA)証明書を作成します。
# cd /etc/pki/tls # 定義ファイルのディレクトリで作成します
# ps -ef > .rnd # 乱数ファイルを作成します
# ./misc/CA.new -newca
CA certificate filename (or enter to create)
[enter]
Making CA certificate ...
Generating a 1024 bit RSA private key
.................++++++
..............++++++
writing new private key to '/home/ssl/CA/private/./cakey.pem'
Enter PEM pass phrase:認証サーバー(CA)証明書に設定するパスフレーズ
Verifying - Enter PEM pass phrase:認証サーバー(CA)証明書に設定するパスフレーズ(再入力)
:
Country Name (2 letter code) [JP]:[enter]
State or Province Name (full name) [Tokyo]:[enter]
Locality Name (eg, city) [Setagaya-ku]:[enter]
Organization Name (eg, company) [System House ACT]:[enter]
Organizational Unit Name (eg, section) [Certification Authority]:[enter]
Common Name (eg, your name or your server's hostname) []:System House ACT CA
Email Address []:認証サーバー管理者のメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[enter]
An optional company name []:[enter]
Using configuration from /home/ssl/ca.cnf
Enter pass phrase for /home/ssl/CA/private/./cakey.pem:設定した認証サーバー(CA)証明書のパスフレーズ
Check that the request matches the signature
Signature ok
Certificate Details:
:
(認証サーバー証明書の情報)
:
X509v3 Basic Constraints:
CA:TRUE # TRUE であることを確認する
Netscape Cert Type: # Netscape用の設定を確認する
SSL CA, S/MIME CA
:
Write out database with 1 new entries
Data Base Updated
# chmod 700 /home/ssl/CA/private
# chmod 400 /home/ssl/CA/private/cakey.pem
クライアントPCへインストールするため、認証サーバー(CA)証明書をバイナリDERフォーマットに変換します。
# cd /home/ssl/CA
# openssl x509 -inform PEM -in cacert.pem -outform DER -out cacert.der
作成された
cacert.der をクライアントPCにインストールします。
クライアントPCで
cacert.der をダブルクリックします。
(※)クリックすると別画面で拡大画像が開きます。画像は WindowsXP のものです。
 |
証明書の内容を確認し、証明書のインストール(I)... へ進みます。
|
 |
証明書のインポートウィザードが開始されます。
『次へ(N) >』で次へ進みます。
|
 |
証明書を保管するストアに「信頼されたルート証明機関」を指定します。
『次へ(N) >』で次へ進みます。
|
 |
確認画面です。
『完了』で証明書のインポートが開始されます。
|
 |
セキュリティ警告が出ますので、内容を確認します。
『はい(Y)』で、インポートを続行します。
|
 |
完了メッセージです。
|
インターネットブラウザを起動して、インストールされた証明書を確認します。
IE の場合は、ツールバーから
ツール(T) → インターネット オプション(I)... → コンテンツ → 証明書(C)...
で確認できます。
(※)クリックすると別画面で拡大画像が開きます。画像は WindowsXP のものです。
 |
信頼されたルート証明書機関内に存在することを確認します。
|
認証サーバー(CA)証明書の更新
認証サーバー証明書の有効期限が切れそうな場合、認証サーバー(CA)証明書を更新します。
# (有効期限を確認します)
# cd /home/ssl/CA
# openssl x509 -inform PEM -in cacert.pem -noout -text
:
Validity
Not Before: 有効期限(開始日時)
Not After : 有効期限(終了日時)
:
# (有効期限を更新します)
# openssl req -config /home/ssl/ca.cnf -new -x509 -days 3650 -key private/cakey.pem -out cacert.pem
Enter pass phrase for private/cakey.pem:認証サーバー(CA)証明書のパスフレーズ
:
-----
# (以下は、現認証サーバーと同じ内容を入力します)
Country Name (2 letter code) [JP]:[enter]
State or Province Name (full name) [Tokyo]:[enter]
Locality Name (eg, city) [Setagaya-ku]:[enter]
Organization Name (eg, company) [System House ACT]:[enter]
Organizational Unit Name (eg, section) [Certification Authority]:[enter]
Common Name (eg, your name or your server's hostname) []:System House ACT CA
Email Address []:認証サーバー管理者のメールアドレス
# (クライアントPCへの再配付用にバイナリDERフォーマットに変換します)
# openssl x509 -inform PEM -in cacert.pem -outform DER -out cacert.der
クライアントPCから古い認証サーバー(CA)証明書を削除し、更新された
cacert.der をクライアントPCにインストールします。
サーバー証明書の作成
Web, Mail, FTP等の各サーバーでセキュア通信(SSL/TLS)を行うためのサーバー証明書を作成します。
サーバー証明書作成用に OpenSSL の定義ファイルをカスタマイズします。
# cd /home/ssl
# cp /etc/pki/tls/openssl.cnf server.cnf 定義ファイルをカスタマイズします
# vi server.cnf
----------(vi ここから)----------
:
[ CA_default ]
dir = /home/ssl/CA # Where everything is kept
:
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = JP # 国名(2文字)
:
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Tokyo # 州名
localityName = Locality Name (eg, city)
localityName_default = Setagaya-ku # デフォルトの市名
0.organizationName = Organization Name (eg, company)
0.organizationName_default = System House ACT # 組織(会社)名
:
organizationalUnitName = Organizational Unit Name (eg, section)
#organizationalUnitName_default =
organizationalUnitName_default = Certification Authority # 組織名
:
[ usr_cert ]
:
# This is OK for an SSL server.
# nsCertType = server
nsCertType = server # サーバー証明書を作成します
:
----------(vi ここまで)----------
# cd /etc/pki/tls/misc
# cp CA CA.server スクリプトをカスタマイズします
# vi CA.server
----------(vi ここから)----------
:
SSLEAY_CONFIG="-config /home/ssl/server.cnf" # 定義ファイルの場所を指定します
DAYS="-days 365" # 1 year
:
----------(vi ここまで)----------
# (サーバー証明申請書、サーバー証明書、サーバー秘密鍵の保管場所を作成します)
# mkdir /home/ssl/server
# chmod 400 /home/ssl/server
サーバー秘密鍵と証明申請書(Certificate Signing Request:CSR)を生成します。
ここでは、
メールサーバー を例にします。
# mkdir /home/ssl/server/mail サーバー証明書の生成・保管場所を作成します
# chmod 400 /home/ssl/server/mail
# cd /home/ssl/server/mail
# /etc/pki/tls/misc/CA.server -newreq
Generating a 1024 bit RSA private key
.....++++++
............................................................++++++
writing new private key to 'newkey.pem'
Enter PEM pass phrase:サーバー証明書に設定するパスフレーズ
Verifying - Enter PEM pass phrase:サーバー証明書に設定するパスフレーズ(再入力)
:
Country Name (2 letter code) [JP]:[enter]
State or Province Name (full name) [Tokyo]:[enter]
Locality Name (eg, city) [Setagaya-ku]:[enter]
Organization Name (eg, company) [System House ACT]:[enter]
Organizational Unit Name (eg, section) [Certification Authority]:[enter]
Common Name (eg, your name or your server's hostname) []:mail.system-act.com サーバーのFQDN
Email Address []:サーバ管理者のメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[enter]
An optional company name []:[enter]
Request (and private key) is in newreq.pem
サーバー証明申請書に認証サーバー(CA)の署名を行いサーバー証明書を生成します。
# cd /home/ssl/mail/web
# /etc/pki/tls/misc/CA.server -sign
Using configuration from /home/ssl/server.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバー(CA)のパスフレーズ
Check that the request matches the signature
Signature ok
Certificate Details:
:
(証明申請書の内容)
:
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
:
(署名済証明書の内容)
:
Signed certificate is in newcert.pem
# mv newreq.pem server.req
# mv newcert.pem server.crt
パスフレーズ付きサーバー秘密鍵を作成します。
# cd /home/ssl/server/mail
# openssl rsa -in newkey.pem -out server.key
Enter pass phrase for newreq.pem:サーバー証明書のパスフレーズ
writing RSA key
# chmod 400 server.key
# rm newkey.pem
サーバー証明書の更新
サーバー証明書の有効期限が切れそうな場合は、現在のサーバー証明書を失効させ、新たにサーバー証明書を作成します。
まず、最初に失効処理を行います。
# (証明書を失効させます)
# cd /home/ssl/server/mail
# openssl ca -config /home/ssl/ca.cnf -gencrl -revoke server.crt
Using configuration from /home/ssl/ca.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバーのパスフレーズ
-----BEGIN X509 CRL-----
:
(証明書の内容)
:
-----END X509 CRL-----
Revoking Certificate 04.
Data Base Updated
# (失効の確認を行います)
# cat /home/ssl/CA/index.txt
:
R 101013064153Z 101018060302Z 04 ~(略)~
# R(Revoke) : 失効しています
# 101013064153Z : 有効期限(UTC)です
# 101018060302Z : 失効処理を行った日時(UTC)です
:
# (証明書失効リスト CRL:Certificate Revocation List を作成します)
# openssl ca -config /home/ssl/ca.cnf -gencrl -out /home/ssl/CA/crl/ca.crl
Using configuration from /home/ssl/ca.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバーのパスフレーズ
# (証明書失効リストを確認します)
# openssl crl -in /home/ssl/CA/crl/ca.crl -text
Certificate Revocation List (CRL):
:
Revoked Certificates:
:
Serial Number: 04
Revocation Date: Oct 18 06:03:02 2010 GMT
Signature Algorithm: sha1WithRSAEncryption
:
-----BEGIN X509 CRL-----
:
-----END X509 CRL-----
新たにサーバー証明書を作成します。
なお、ここでは、既存のサーバー証明申請書を使用して、有効期限の延長で作成することにします。
# cd /home/ssl/server/mail
# (既存のサーバー証明申請書に認証サーバー(CA)の署名を行いサーバー証明書を生成します)
# (失効させたサーバー申請書の有効期限から1年間の延長させています)
# openssl ca -config /home/ssl/server.cnf -policy policy_anything -out newcert.pem \
> -startdate 101013064153Z -enddate 111013064153Z \
> -infiles server.req
Using configuration from /home/ssl/server.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバーのパスフレーズ
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 5 (0x5)
Validity
Not Before: Oct 13 06:41:53 2010 GMT 有効期間開始日時
Not After : Oct 13 06:41:53 2011 GMT 有効期間終了日時
:
(証明申請書の内容)
:
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
# mv -f newcert.pem server.crt
作成された
server.crt をサーバーの既存サーバー証明書に置き換えます。
なお、新しいサーバー証明書を有効にするためには、
サーバーの再起動が必要です。
クライアント証明書の作成
サーバーアクセスのクライアント認証を行うため、クライアント証明書を作成します。
クライアント証明書作成用に OpenSSL の定義ファイルをカスタマイズします。
# cd /home/ssl
# cp /etc/pki/tls/openssl.cnf client.cnf
# vi client.cnf
----------(vi ここから)----------
:
[ CA_default ]
dir = /home/ssl/CA # Where everything is kept
:
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = JP # 国名(2文字)
:
stateOrProvinceName_default = Tokyo # 州名
localityName = Locality Name (eg, city)
localityName_default = Setagaya-ku # デフォルトの市名
:
0.organizationName_default = System House ACT # 組織(会社)名
:
#organizationalUnitName_default =
organizationalUnitName_default = Certification Authority # 組織名
:
[ usr_cert ]
:
# For normal client use this is typical
# nsCertType = client, email
nsCertType = client, email # コメントを外します
:
----------(vi ここまで)----------
# cd /etc/pki/tls/misc
# cp CA CA.client スクリプトをカスタマイズします
# vi CA.client
----------(vi ここから)----------
:
SSLEAY_CONFIG="-config /home/ssl/client.cnf" # 定義ファイルの場所を指定します
DAYS="-days 365"
:
----------(vi ここまで)----------
クライアント証明書の秘密鍵と証明申請書(Certificate Signing Request:CSR)を生成します。
証明書の格納場所を
/home/ssl/client にしています。
# mkdir /home/ssl/client クライアント証明書の生成・保管場所を作成します
# chmod 400 /home/ssl/client
# cd /home/ssl/client
# /etc/pki/tls/misc/CA.client -newreq
Generating a 1024 bit RSA private key
.....................................++++++
.......................................++++++
writing new private key to 'newkey.pem'
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) [JP]:[enter]
State or Province Name (full name) [Tokyo]:[enter]
Locality Name (eg, city) [Setagaya-ku]:[enter]
Organization Name (eg, company) [System House ACT]:[enter]
Organizational Unit Name (eg, section) [Certification Authority]:[enter]
Common Name (eg, your name or your server's hostname) []:クライアント名
Email Address []:証明書管理者のメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[enter]
An optional company name []:[enter]
Request (and private key) is in newreq.pem
# mv newkey.pem クライアント名.key
# chmod 400 クライアント名.key
証明申請書に認証サーバー(CA)の署名を行い証明書を生成します。
# cd /home/ssl/client
# /etc/pki/tls/misc/CA.client -sign
Using configuration from /home/ssl/client.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバーのパスフレーズ
Check that the request matches the signature
Signature ok
Certificate Details:
:
(証明申請書の内容)
(認証サーバー証明書の情報)
:
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
:
(署名済証明書の内容)
:
Signed certificate is in newcert.pem
# mv -f newcert.pem クライアント名.crt
# chmod 644 クライアント名.crt
# 失効処理用に証明申請書を保存しておきます
# mv -f newreq.pem クライアント名.req
証明書、秘密鍵、認証サーバー(CA)証明書のセットを PKCS#12 形式で作成します。
# openssl pkcs12 -export -in クライアント名.crt -inkey クライアント名.key \
> -certfile /home/ssl/CA/private/cakey.pem \
> -out クライアント名.p12
Enter pass phrase for objsign.key:クライアント証明書に設定したパスフレーズ
Enter Export Password:クライアント証明書をインストールする際のパスフレーズ
Verifying - Enter Export Password:クライアント証明書をインストールする際のパスフレーズ(再入力)
作成された
クライアント名.p12 をクライアントPCにインストールします。
クライアント証明書の失効処理
クライアント証明書の紛失や秘密鍵が漏れてしまった場合、速やかにクライアント証明書を失効させる必要があります。
また、クライアント証明書の更新時においても、旧クライアント証明書を失効させます。
# cd /home/ssl/client
# (証明書を失効させます)
# openssl ca -config /home/ssl/client.cnf -gencrl -revoke クライアント名.crt
Using configuration from /home/ssl/client.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバー(CA)のパスフレーズ
-----BEGIN X509 CRL-----
:
(証明書の内容)
:
-----END X509 CRL-----
Revoking Certificate 08.
Data Base Updated
# (失効の確認を行います)
# cat /home/ssl/CA/index.txt
:
R 110225081359Z 101216090900Z 08 ~(略)~
# R(Revoke) : 失効しています
# 110225081359Z : 有効期限(UTC)です
# 101216090900Z : 失効処理を行った日時(UTC)です
:
# (証明書失効リスト CRL:Certificate Revocation List を作成します)
# openssl ca -config /home/ssl/ca.cnf -gencrl -out /home/ssl/CA/crl/ca.crl
Using configuration from /home/ssl/ca.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバー(CA)のパスフレーズ
# (証明書失効リストを確認します)
# openssl crl -in /home/ssl/CA/crl/ca.crl -text
Certificate Revocation List (CRL):
:
Revoked Certificates:
:
Serial Number: 08
Revocation Date: Dec 16 09:09:00 2010 GMT
Signature Algorithm: sha1WithRSAEncryption
:
-----BEGIN X509 CRL-----
:
-----END X509 CRL-----
クライアント証明書の更新
クライアント証明書の更新は、旧クライアント証明書を失効させ、新たにクライアント証明書を作成することにより行います。
クライアント証明書においては、既存のクライアント証明申請書を使用することなく、新たにクライアント証明申請書から作成を行います。
デジタル署名用証明書の作成
Microsoft Office の VBA コードに署名するため、デジタル署名用証明書を作成します。
デジタル署名用証明書作成用に OpenSSL の定義ファイルをカスタマイズします。
# cd /home/ssl
# cp /etc/pki/tls/openssl.cnf objsign.cnf
# vi objsign.cnf
----------(vi ここから)----------
:
[ CA_default ]
dir = /home/ssl/CA # Where everything is kept
:
default_days = 1825 # 有効期間(5年)
:
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = JP # 国名(2文字)
:
stateOrProvinceName_default = Tokyo # 州名
localityName = Locality Name (eg, city)
localityName_default = Setagaya-ku # デフォルトの市名
:
0.organizationName_default = System House ACT # 組織(会社)名
:
#organizationalUnitName_default =
organizationalUnitName_default = Certification Authority # 組織名
:
[ usr_cert ]
:
# For an object signing certificate this would be used.
# nsCertType = objsign
nsCertType = objsign # コメントを外します
:
----------(vi ここまで)----------
# cd /etc/pki/tls/misc
# cp CA CA.objsign スクリプトをカスタマイズします
# vi CA.objsign
----------(vi ここから)----------
:
SSLEAY_CONFIG="-config /home/ssl/objsign.cnf" # 定義ファイルの場所を定義します
DAYS="-days 365"
:
----------(vi ここまで)----------
デジタル署名用証明書の秘密鍵と証明申請書(Certificate Signing Request:CSR)を生成します。
証明書の格納場所を
/home/ssl/objsign にしています。
# mkdir /home/ssl/objsign クライアント証明書の生成・保管場所を作成します
# chmod 400 /home/ssl/objsign
# cd /home/ssl/objsign
# /etc/pki/tls/misc/CA.objsign -newreq
Generating a 1024 bit RSA private key
....++++++
.........++++++
writing new private key to 'newkey.pem'
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) [JP]:[enter]
State or Province Name (full name) [Tokyo]:[enter]
Locality Name (eg, city) [Setagaya-ku]:[enter]
Organization Name (eg, company) [System House ACT]:[enter]
Organizational Unit Name (eg, section) [Certification Authority]:[enter]
Common Name (eg, your name or your server's hostname) []:System House ACT VBA Authority
Email Address []:証明書管理者のメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[enter]
An optional company name []:[enter]
Request is in newreq.pem, private key is in newkey.pem
# mv newkey.pem objsign.key
# chmod 400 objsign.key
証明申請書に認証サーバー(CA)の署名を行い証明書を生成します。
# cd /home/ssl/objsign
# /etc/pki/tls/misc/CA.objsign -sign
Using configuration from /home/ssl/objsign.cnf
Enter pass phrase for /home/ssl/CA/private/cakey.pem:認証サーバー(CA)のパスフレーズ
Check that the request matches the signature
Signature ok
Certificate Details:
:
(証明申請書の内容)
:
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
:
(署名済証明書の内容)
:
Signed certificate is in newcert.pem
# mv -f newcert.pem objsign.crt
証明書、秘密鍵、認証サーバー(CA)証明書のセットを PKCS#12形式 で作成します。
# openssl pkcs12 -export -in objsign.crt -inkey objsign.key \
> -certfile /home/ssl/CA/private/cakey.pem \
> -out vbacert.p12
Enter pass phrase for objsign.key:デジタル署名用証明書のパスフレーズ
Enter Export Password:デジタル署名用証明書をインストール際のパスフレーズ
Verifying - Enter Export Password:デジタル署名用証明書をインストール際のパスフレーズ(再入力)
作成された
vbacert.p12 を利用者の環境にインストールします。
フィードバック
記事の内容についてのご質問、ご指摘、その他ご意見等は、Weblog/Twitter にて受け付けております。
System House ACT Weblog 内記事 : サーバー構築・運用 OpenSSL
トラックバックまたはコメントにてお寄せください。
Twitter では 宛につぶやいてください。
また、
こちら から、この記事についてつぶやくことができます。
Copyright © 2004-2013 System House ACT. All Rights Reserved.