SSL
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* [[SSL]]
Secure Socket Layerです。暗号化通信で、いまやこれを使って...
#contents
** 暗号
暗号技術をまず大きく3つに分類して考えます。このあたりが...
機密性:これがふつう思い浮かぶ暗号化です。解読できないよ...
完全性:情報が改ざんされていないことを確認できる技術です。
信頼性:情報を送ってくれた相手が本物かどうかを確認する技...
ではまず通常のやりとりについて考えます。印鑑証明がいるよ...
1.市役所に自分の判子を印鑑登録しにいく
2.市役所から印鑑証明書が発行される。
3.その登録した判子で書類に判子を押す。
4.その書類と印鑑証明書を銀行に提出
5.銀行は書類に押してある判子と印鑑証明書の判子が同じで...
ではコンピュータ上ではどうなるのでしょうか。まず市役所が
認証局(CA)
となります。また判子が
秘密鍵
となり、1の登録しにいくことが、
証明書要求(CSR)
になります。この証明書要求ファイルをベリサイン等(市役所)...
ここで、機密性に当たるのが公開鍵暗号で、機密性はハッシュ...
** 語彙
CA(Certificate Authority) 認証局
CSR(Certificate Signing Request) 証明書署名要求 証明書...
CRL(Certificate Revocation List) 失効したデジタル証明書...
** 証明書作成
/usr/share/ssl
/usr/share/ssl/openssl.cnf サンプル設定ファイル 対話モー...
/usr/share/ssl/misc/CA 認証局証明書作成スクリプト -newc...
とりあえず
yum install openssl-perl
していれてあります。
では、まず、
/usr/share/ssl/openssl.cnf (redhatの場合。openSUSEは/etc...
があるか確認しておきます。(参考:http://moca.wide.ad.jp/n...
では/usr/share/ssl/openssl.cnfを編集します。
#nsCertType = server
のコメントをとって
nsCertType = server
に、また
# nsCertType = sslCA, emailCA
を
nsCertType = sslCA, emailCA
とします。
次に
/usr/share/ssl/misc/CA.pl
を編集します。(openSUSE:CA.sh)
DAYS="-days 365"
を
DAYS="-days 3650"
とすると10年有効になります。
CATOP=./demoCA
は、作成されるディレクトリです。適当に名前を変えておきま...
mkdir /usr/local/mycerts
cd /usr/local/mycerts
としてディレクトリをつくっておいて
/usr/share/ssl/misc/CA.pl -newca
でCAをつります。
linux:~ # /usr/share/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 1024 bit RSA private key
.........++++++
...++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase: パスフレーズ
Verifying - Enter PEM pass phrase:もう一度パスフレーズ
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
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]:Osaka
Locality Name (eg, city) []:Osaka-shi
Organization Name (eg, company) [Internet Widgits Pty Lt...
Organizational Unit Name (eg, section) []:hidekazu
Common Name (eg, YOUR name) []:hidekazu_private
Email Address []:msrx178mk2@hotmail.com
これで作成した場所にdemoCAというディレクトリができてます。
demoCA/
|-- cacert.pem CA用証明書
|-- certs 証明書のディレクトリ
|-- crl CRLのディレクトリ
|-- index.txt クライアント証明書用のDB
|-- newcerts クライアント証明書ディレクトリ
|-- private CAの秘密鍵ディレクトリ
| `-- cakey.pem CAの秘密鍵
`-- serial クライアント証明書のシリアル
ではCA証明書をブラウザにインポートするためのファイルを作...
openssl x509 -inform pem -in ./demoCA/cacert.pem -outfor...
(参考:http://www.aconus.com/~oyaji/www/ssl_client.htm)~
ではサーバの秘密鍵を作成します。
openssl genrsa -out server.key 1024
(des3の場合 openssl md5 *.* > rand.dat
openssl genrsa -rand rand.dat -des3 1024 > server.key )
-genrsa RSA鍵を作成
-des3 DES3アルゴリズム使用
-out 鍵ファイルの名前を指定
-1024 鍵の長さ
では次にCSR(証明書要求)を作成します。&color(red){Organiza...
openssl req -new -days 3650 -key server.key -out server....
(x509の場合 openssl req -new -x509 -days 3650 -key serve...
Country Name (2 letter code) [GB]:JP<リターン>
State or Province Name (full name) [Berkshire]:Osaka
Locality Name (eg, city) [Newbury]:Osaka...
Organization Name (eg, company) [My Company Ltd...
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's...
Email Address []:msrx178mk2@hotmail.com
-req CSRの作成
-new 新規に作成
-x509 X.509形式のCSR作成
-days 証明書の有効期限を設定
-key 先ほど作成した鍵
-out 作成するCSR
では次にサーバ用の証明書に署名して発行する前に、認証局が...
echo 01 > ca-cert.srl
ではサーバ用の証明書(server.crt)を作成します。
openssl x509 -CA demoCA/cacert.pem -CAkey demoCA/private...
これで証明書ができました。apacheで利用する場合は、ssl.con...
SSLCertificateFile /usr/local/mycerts/server.crt
SSLCertificateKeyFile /usr/local/mycerts/server.key
** クライアント用証明書
これを使うとクライアント用の証明書がないマシンがアクセス...
ではクライアントの証明書作成用リクエストファイルを作りま...
cd /usr/local/mycerts
echo 02 > ca-cert.srl
でシリアルをあげておきます。これをしていないとFirefoxでう...
では、クライアント証明書用に/usr/share/ssl/openssl.cnfを...
#nsCertType = server
#nsCertType = sslCA, emailCA
にして、
nsCertType = client, email
としておき、
/usr/share/ssl/misc/CA.pl -newreq
writing new private key to 'newreq.pem'
Enter PEM pass phrase: クライアント用パスフレーズ
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
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]:Osaka
Locality Name (eg, city) []:Osaka-shi
Organization Name (eg, company) [Internet Widgits Pty Lt...
Organizational Unit Name (eg, section) []:user1
Common Name (eg, YOUR name) []:user1
Email Address []:msrx178mk2@hotmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: リターン
An optional company name []: リターン
Request (and private key) is in newreq.pem
これでnewreq.pemができました。
ではクライアントの証明書を作成します。
/usr/share/ssl/misc/CA.pl -sign
sing configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem: CA用...
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
da:8f:3b:9c:bc:4f:69:27
Validity
Not Before: Apr 29 17:21:00 2006 GMT
Not After : Apr 29 17:21:00 2007 GMT
Subject:
countryName = JP
stateOrProvinceName = Osaka
localityName = Osaka-shi
organizationName = soshiki1
organizationalUnitName = user1
commonName = user1
emailAddress = msrx178mk2@hotmai...
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
97:98:28:0C:3C:DB:5A:DB:6A:50:9D:0C:77:BD...
X509v3 Authority Key Identifier:
keyid:65:24:1C:0D:57:53:2A:5A:FC:1C:50:A8...
DirName:/C=JP/ST=Osaka/L=Osaka-shi/O=Priv...
serial:DA:8F:3B:9C:BC:4F:69:26
Certificate is to be certified until Apr 29 17:21:00 200...
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
ここで
TXT_DB error number 2
とかエラーが場合は、demoCA/index.txtとca-cert.srlのシリア...
何度もやり直している場合に起こりやすいので、一度index.txt...
ではこれでnewcert.pemが作成されました。demoCA/index.txtに...
では、pkcs12形式(鍵と証明書を固める)のクライアント用証明...
openssl pkcs12 -export -clcerts -inkey newreq.pem -in ne...
Enter pass phrase for newreq.pem: クライアント用パスフレ...
Enter Export Password: Export用パスフレーズ
Verifying - Enter Export Password:
もしくは
/usr/share/ssl/misc/CA.pl -pkcs12 user1
ではこれをクライアントにインポートしておきます。(参考:htt...
さてここで問題になるのが、newcert.pemとnewreq.pemの2つの...
mkdir back
mv newcert.pem back/user1cert.pem
mv newreq.pem back/user1req.pem
としてバックアップをとってます。
ではapacheで利用する場合は、ssl.confに
SSLCACertificatePath /usr/local/mycerts/demoCA
SSLCACertificateFile /usr/local/mycerts/demoCA/cacert.pem
SSLVerifyClient require
SSLVerifyDepth 10
また特定のURLにだけにしたい場合は、そのディレクティブに
SSLVerifyClient require
SSLVerifyDepth 10
を設定します。
参考:http://japache.infoscience.co.jp/Apache-SSL/docs.html
ではクライアント証明書が必要なURLでphp等のプログラムを動...
[error] SSL Re-negotiation in conjunction with POST metho...
** CAcert
フリーの承認機関です。では、アカウントを作っていきましょ...
登録するとメールがきますので、24時間以内にクリックしてお...
では、My Account>Normal Loginからログインしましょう。ロ...
https://www.cacert.org/help.php?id=4を参考に、
openssl md5 * > rand.dat
openssl genrsa -rand rand.dat -des3 1024 > server.key
openssl req -new -key server.key -out myserver.csr
CAcertのServer Certificatesを選択し、newをクリックするとP...
ではこれをmyserver.crtで保存します。
** TIPS
*** CSRの内容確認
openssl req -in hoge.pem -text
** リンク
- [[OpenSSLについて>http://ash.jp/sec/openssl.htm]]~
- [[SSL用証明書の作成(Linux編)>http://www.aconus.com/~oya...
- [[Apache-SSLの命令>http://japache.infoscience.co.jp/Apa...
http://safe-linux.homeip.net/web/linux-ssl_web2-01.html~
http://safe-linux.homeip.net/web/linux-ssl_web-05.html~
http://www.aconus.com/~oyaji/www/certs_linux.htm~
http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm~
http://www.h7.dion.ne.jp/~matsu/feature/uzumi/ssl/client-...
[[携帯電話とSSLルート証明書>http://triaez.kaisei.org/~kao...
[[5分で絶対に分かるEV SSL証明書>http://www.atmarkit.co.jp...
** 参考書籍
[[SSL/TLS導入ガイドブック>http://www.amazon.co.jp/exec/ob...
前半が大変ためになりました。後半はIISの設定だったんです...
[[UNIX USER 200507>http://www.unixuser.jp/]]~
「SSLで安心Webサービス」がためになりました。CAcertの記事...
終了行:
* [[SSL]]
Secure Socket Layerです。暗号化通信で、いまやこれを使って...
#contents
** 暗号
暗号技術をまず大きく3つに分類して考えます。このあたりが...
機密性:これがふつう思い浮かぶ暗号化です。解読できないよ...
完全性:情報が改ざんされていないことを確認できる技術です。
信頼性:情報を送ってくれた相手が本物かどうかを確認する技...
ではまず通常のやりとりについて考えます。印鑑証明がいるよ...
1.市役所に自分の判子を印鑑登録しにいく
2.市役所から印鑑証明書が発行される。
3.その登録した判子で書類に判子を押す。
4.その書類と印鑑証明書を銀行に提出
5.銀行は書類に押してある判子と印鑑証明書の判子が同じで...
ではコンピュータ上ではどうなるのでしょうか。まず市役所が
認証局(CA)
となります。また判子が
秘密鍵
となり、1の登録しにいくことが、
証明書要求(CSR)
になります。この証明書要求ファイルをベリサイン等(市役所)...
ここで、機密性に当たるのが公開鍵暗号で、機密性はハッシュ...
** 語彙
CA(Certificate Authority) 認証局
CSR(Certificate Signing Request) 証明書署名要求 証明書...
CRL(Certificate Revocation List) 失効したデジタル証明書...
** 証明書作成
/usr/share/ssl
/usr/share/ssl/openssl.cnf サンプル設定ファイル 対話モー...
/usr/share/ssl/misc/CA 認証局証明書作成スクリプト -newc...
とりあえず
yum install openssl-perl
していれてあります。
では、まず、
/usr/share/ssl/openssl.cnf (redhatの場合。openSUSEは/etc...
があるか確認しておきます。(参考:http://moca.wide.ad.jp/n...
では/usr/share/ssl/openssl.cnfを編集します。
#nsCertType = server
のコメントをとって
nsCertType = server
に、また
# nsCertType = sslCA, emailCA
を
nsCertType = sslCA, emailCA
とします。
次に
/usr/share/ssl/misc/CA.pl
を編集します。(openSUSE:CA.sh)
DAYS="-days 365"
を
DAYS="-days 3650"
とすると10年有効になります。
CATOP=./demoCA
は、作成されるディレクトリです。適当に名前を変えておきま...
mkdir /usr/local/mycerts
cd /usr/local/mycerts
としてディレクトリをつくっておいて
/usr/share/ssl/misc/CA.pl -newca
でCAをつります。
linux:~ # /usr/share/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 1024 bit RSA private key
.........++++++
...++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase: パスフレーズ
Verifying - Enter PEM pass phrase:もう一度パスフレーズ
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
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]:Osaka
Locality Name (eg, city) []:Osaka-shi
Organization Name (eg, company) [Internet Widgits Pty Lt...
Organizational Unit Name (eg, section) []:hidekazu
Common Name (eg, YOUR name) []:hidekazu_private
Email Address []:msrx178mk2@hotmail.com
これで作成した場所にdemoCAというディレクトリができてます。
demoCA/
|-- cacert.pem CA用証明書
|-- certs 証明書のディレクトリ
|-- crl CRLのディレクトリ
|-- index.txt クライアント証明書用のDB
|-- newcerts クライアント証明書ディレクトリ
|-- private CAの秘密鍵ディレクトリ
| `-- cakey.pem CAの秘密鍵
`-- serial クライアント証明書のシリアル
ではCA証明書をブラウザにインポートするためのファイルを作...
openssl x509 -inform pem -in ./demoCA/cacert.pem -outfor...
(参考:http://www.aconus.com/~oyaji/www/ssl_client.htm)~
ではサーバの秘密鍵を作成します。
openssl genrsa -out server.key 1024
(des3の場合 openssl md5 *.* > rand.dat
openssl genrsa -rand rand.dat -des3 1024 > server.key )
-genrsa RSA鍵を作成
-des3 DES3アルゴリズム使用
-out 鍵ファイルの名前を指定
-1024 鍵の長さ
では次にCSR(証明書要求)を作成します。&color(red){Organiza...
openssl req -new -days 3650 -key server.key -out server....
(x509の場合 openssl req -new -x509 -days 3650 -key serve...
Country Name (2 letter code) [GB]:JP<リターン>
State or Province Name (full name) [Berkshire]:Osaka
Locality Name (eg, city) [Newbury]:Osaka...
Organization Name (eg, company) [My Company Ltd...
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's...
Email Address []:msrx178mk2@hotmail.com
-req CSRの作成
-new 新規に作成
-x509 X.509形式のCSR作成
-days 証明書の有効期限を設定
-key 先ほど作成した鍵
-out 作成するCSR
では次にサーバ用の証明書に署名して発行する前に、認証局が...
echo 01 > ca-cert.srl
ではサーバ用の証明書(server.crt)を作成します。
openssl x509 -CA demoCA/cacert.pem -CAkey demoCA/private...
これで証明書ができました。apacheで利用する場合は、ssl.con...
SSLCertificateFile /usr/local/mycerts/server.crt
SSLCertificateKeyFile /usr/local/mycerts/server.key
** クライアント用証明書
これを使うとクライアント用の証明書がないマシンがアクセス...
ではクライアントの証明書作成用リクエストファイルを作りま...
cd /usr/local/mycerts
echo 02 > ca-cert.srl
でシリアルをあげておきます。これをしていないとFirefoxでう...
では、クライアント証明書用に/usr/share/ssl/openssl.cnfを...
#nsCertType = server
#nsCertType = sslCA, emailCA
にして、
nsCertType = client, email
としておき、
/usr/share/ssl/misc/CA.pl -newreq
writing new private key to 'newreq.pem'
Enter PEM pass phrase: クライアント用パスフレーズ
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
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]:Osaka
Locality Name (eg, city) []:Osaka-shi
Organization Name (eg, company) [Internet Widgits Pty Lt...
Organizational Unit Name (eg, section) []:user1
Common Name (eg, YOUR name) []:user1
Email Address []:msrx178mk2@hotmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: リターン
An optional company name []: リターン
Request (and private key) is in newreq.pem
これでnewreq.pemができました。
ではクライアントの証明書を作成します。
/usr/share/ssl/misc/CA.pl -sign
sing configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem: CA用...
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
da:8f:3b:9c:bc:4f:69:27
Validity
Not Before: Apr 29 17:21:00 2006 GMT
Not After : Apr 29 17:21:00 2007 GMT
Subject:
countryName = JP
stateOrProvinceName = Osaka
localityName = Osaka-shi
organizationName = soshiki1
organizationalUnitName = user1
commonName = user1
emailAddress = msrx178mk2@hotmai...
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
97:98:28:0C:3C:DB:5A:DB:6A:50:9D:0C:77:BD...
X509v3 Authority Key Identifier:
keyid:65:24:1C:0D:57:53:2A:5A:FC:1C:50:A8...
DirName:/C=JP/ST=Osaka/L=Osaka-shi/O=Priv...
serial:DA:8F:3B:9C:BC:4F:69:26
Certificate is to be certified until Apr 29 17:21:00 200...
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
ここで
TXT_DB error number 2
とかエラーが場合は、demoCA/index.txtとca-cert.srlのシリア...
何度もやり直している場合に起こりやすいので、一度index.txt...
ではこれでnewcert.pemが作成されました。demoCA/index.txtに...
では、pkcs12形式(鍵と証明書を固める)のクライアント用証明...
openssl pkcs12 -export -clcerts -inkey newreq.pem -in ne...
Enter pass phrase for newreq.pem: クライアント用パスフレ...
Enter Export Password: Export用パスフレーズ
Verifying - Enter Export Password:
もしくは
/usr/share/ssl/misc/CA.pl -pkcs12 user1
ではこれをクライアントにインポートしておきます。(参考:htt...
さてここで問題になるのが、newcert.pemとnewreq.pemの2つの...
mkdir back
mv newcert.pem back/user1cert.pem
mv newreq.pem back/user1req.pem
としてバックアップをとってます。
ではapacheで利用する場合は、ssl.confに
SSLCACertificatePath /usr/local/mycerts/demoCA
SSLCACertificateFile /usr/local/mycerts/demoCA/cacert.pem
SSLVerifyClient require
SSLVerifyDepth 10
また特定のURLにだけにしたい場合は、そのディレクティブに
SSLVerifyClient require
SSLVerifyDepth 10
を設定します。
参考:http://japache.infoscience.co.jp/Apache-SSL/docs.html
ではクライアント証明書が必要なURLでphp等のプログラムを動...
[error] SSL Re-negotiation in conjunction with POST metho...
** CAcert
フリーの承認機関です。では、アカウントを作っていきましょ...
登録するとメールがきますので、24時間以内にクリックしてお...
では、My Account>Normal Loginからログインしましょう。ロ...
https://www.cacert.org/help.php?id=4を参考に、
openssl md5 * > rand.dat
openssl genrsa -rand rand.dat -des3 1024 > server.key
openssl req -new -key server.key -out myserver.csr
CAcertのServer Certificatesを選択し、newをクリックするとP...
ではこれをmyserver.crtで保存します。
** TIPS
*** CSRの内容確認
openssl req -in hoge.pem -text
** リンク
- [[OpenSSLについて>http://ash.jp/sec/openssl.htm]]~
- [[SSL用証明書の作成(Linux編)>http://www.aconus.com/~oya...
- [[Apache-SSLの命令>http://japache.infoscience.co.jp/Apa...
http://safe-linux.homeip.net/web/linux-ssl_web2-01.html~
http://safe-linux.homeip.net/web/linux-ssl_web-05.html~
http://www.aconus.com/~oyaji/www/certs_linux.htm~
http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm~
http://www.h7.dion.ne.jp/~matsu/feature/uzumi/ssl/client-...
[[携帯電話とSSLルート証明書>http://triaez.kaisei.org/~kao...
[[5分で絶対に分かるEV SSL証明書>http://www.atmarkit.co.jp...
** 参考書籍
[[SSL/TLS導入ガイドブック>http://www.amazon.co.jp/exec/ob...
前半が大変ためになりました。後半はIISの設定だったんです...
[[UNIX USER 200507>http://www.unixuser.jp/]]~
「SSLで安心Webサービス」がためになりました。CAcertの記事...
ページ名: