<!DOCTYPE book  PUBLIC "-//OASIS//DTD DocBook V4.1//EN" []>

<book lang="en"><!-- DocBook file was created by LyX 1.2
  See http://www.lyx.org/ for more information -->
<bookinfo>
<title>SSL Certificates HOWTO</title>
<date>V0.5 20 October 2002 </date>

<authorgroup>
<author>
 <firstname>Franck</firstname><surname>Martin</surname>
</author>

<othercredit role="translator" lang="ja">
  <surname>原</surname><firstname>啓介</firstname>
  <contrib>日本語訳</contrib>
  <affiliation>
    <address><email>kshara@mars.dti.ne.jp</email></address>
  </affiliation>
</othercredit>
</authorgroup>


<revhistory>
<revision>
<revnumber>v0.5</revnumber>
<date>2002-10-20</date>
<authorinitials>FM</authorinitials>
<revremark>Adding IPsec information from Nate Carlson, natecars@natecarlson.com / Adding IMAPS and POPS information from Bill Shirley, webnut@telocity.com / Adding WinCrypt information from Colin McKinnon, colin@wew.co.uk</revremark>
</revision>
<revision>
<revnumber>v0.4</revnumber>
<date>2002-06-22</date>
<authorinitials>FM</authorinitials>
<revremark>Various corrections - adding ASCII Art</revremark>
</revision>
<revision>
<revnumber>v0.3</revnumber>
<date>2002-05-09</date>
<authorinitials>FM</authorinitials>
<revremark>Adding x509v3 extension information - Correcting spelling</revremark>
</revision>
<revision>
<revnumber>v0.2</revnumber>
<date>2001-12-06</date>
<authorinitials>FM</authorinitials>
<revremark>Adding openssl.cnf file / Adding CRL info from Averroes, a.averroes@libertysurf.fr / Correcting spelling</revremark>
</revision>
<revision>
<revnumber>v0.1</revnumber>
<date>2001-11-18</date>
<authorinitials>FM</authorinitials>
<revremark>Creation of the HOWTO</revremark>
</revision>
</revhistory>

<abstract>
<para>
<!--
A first hand approach on how to manage a certificate authority (CA), and issue or sign certificates to be used for secure web, secure e-mail, or signing code and other usages.
-->
  認証局(CA, Certificate Authority)の運用の方法や、
安全な Web 接続、e-mail に用いるためにどう証明書を発行し、署名するか、
または、署名入りコードの作り方、その他の使い方についての、最初の入門的解説。
</para>
</abstract>

</bookinfo>

<chapter>
<title><!--Generalities-->一般的知識</title>
<sect1>
<title><!--Introduction-->イントロダクション</title>

<para>
<!--
Dear reader, like myself, you have intensively read the man pages of the applications of the <ulink url="http://www.openssl.org/">OpenSSL</ulink> project, and like myself, you couldn't figure out where to start, and how to work securely with certificates. Here is the answer to most of your questions.
-->
  親愛なる読者諸氏、私と同じように
 <ulink url="http://www.openssl.org/">OpenSSL</ulink> プロジェクトの
アプリケーションの man ページを熱心に読んで、
そしてまた私と同じように、
どこから始めてよいのやら、証明書がどのように安全に働いているのか、
さっぱり分からなかった、そんなあなた。
この文章があなたの質問のほとんどに対する回答です。
</para>

<para>
<!--
This HOWTO will also deal with non-linux applications: there is no use to issue certificates if you can't use them... All applications won't be listed here, but please, send me additional paragraphs and corrections. I can be reached at the following address:<ulink url="mailto: franck@sopac.org">franck@sopac.org</ulink>.
-->
  この HOWTO 文書では linux 用でないアプリケーションも扱います。
と言うのも、それらが使えないなら、発行したところで証明書を使えないからです。
全てのアプリケーションをリストアップしませんが、
追加の章や訂正箇所があれば私に報せてください。
私には以下のアドレスで連絡がつきます：
<ulink url="mailto: franck@sopac.org">franck@sopac.org</ulink>.
</para>

<para>
<!--
This HOWTO is published on <ulink url="http://www.tldp.org/">The Linux Documentation Project</ulink> this is where you will find the lastest version of this document.
-->
  この HOWTO 文書は
<ulink url="http://www.tldp.org/">The Linux Documentation Project</ulink>
において公開されたものです。ここで、この文書の最新版が得られます。
（訳者注：翻訳版は
 <ulink url="http://www.linux.or.jp/JF/">JF Project</ulink>
 で公開されています）
</para>


<sect2><title><!--Disclaimer and Licence-->免責事項とライセンス</title>

<para>
<!--
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-->
  この文書は役に立つだろうとの期待から配布されていますが、
「何の保証もありません」、つまり、
そこから派生する「市場性」や「特定目的適合性」についての保証もありません。
</para>

<para><!--
In short, if the advises given here break the security of your e-commerce application, then tough luck- it's never our fault. Sorry.
-->
  簡単に言うと、ここで書かれているアドバイスによってあなたの
e-コマース・アプリケーションの安全性が破られたとしても、
お気の毒さま、我々のせいではありません。ごめんなさい。
</para>

<para>
<!--
Copyright (c) 2001 by Franck Martin and others from the openssl-users mailing list under GFDL (the <ulink url="http://www.gnu.org/">GNU</ulink> Free Documentation License).
-->
  GFDL (the <ulink url="http://www.gnu.org/">GNU</ulink> Free Documentation License)
の下でのコピーライト (c) 2001 
（Franck Martin と openssl-users メイリングリストの他の参加者による）.
</para>

<para>
<!--
Please freely copy and distribute (sell or give away) this document in any format. It's requested that corrections and/or comments be forwarded to the document maintainer. You may create a derivative work and distribute it provided that you:
-->
  この文書は自由にコピーし、任意のフォーマットで配布
（売るなり、捨てるなり）することができます。
訂正やコメントはこの文書の責任者に報せてください。
この文書から派生した仕事を配布することも、
以下の条件の下で許可されます：
</para>

<orderedlist>
<listitem>
<para>
<!--
Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux Documentation Project) or the like for posting on the Internet. If not the LDP, then let the LDP know where it is available. 
-->
  これから派生したその仕事を（sgml のような最も適切なフォーマットで）
LDP (Linux Documentation Project) か、
またはそのようなインターネット上の公開の場所に送ること。
もしそれが LDP でないときは、LDP にその場所を報せること。
</para>
</listitem>

<listitem>
<para>
<!--
License the derivative work with this same license or use GPL. Include a copyright notice and at least a pointer to the license used. 
-->
  これと同じライセンスで、その派生した仕事をライセンスすること、
または GPL を用いること。
コピーライトの告示と、少なくとも用いられたライセンスへのリンクを含めること。
</para>
</listitem>

<listitem>
<para>
<!--Give due credit to previous authors and major contributors. If you're considering making a derived work other than a translation, it's requested that you discuss your plans with the current maintainer.
-->
  前の著者と主な貢献者への正当なクレジットを含めること。
もし、翻訳以外の派生物を作成しようと考えているならば、
その計画をこの文書の現在の責任者に相談すること。
</para>
</listitem>
</orderedlist>

<para>
<!--
It is also requested that if you publish this HOWTO in hardcopy that you send the authors some samples for 'review purposes' :-). You may also want to send something to cook my noodles ;-)
-->
  もしあなたがこの HOWTO をハードコピーして出版するときには、
著者に「レビュー用」に何部か送ってください ;-)
私がヌードルを料理するのに何かを送ってくれるのもいいですね ;-)
</para>

</sect2>

<sect2><title><!--Prior knowledge-->予備知識</title>

<para>
<!--
As indicated in the introduction, this documents is an hand-on HOWTO, and it is therefore required that you consult the man pages of the OpenSSL software. You should as well read security books to learn how your security could be compromised. Certificates are meant to increase the security of your transactions, it is VERY important that you understand all the security implications of your actions and what security OpenSSL does not provide.
-->
  イントロダクションで述べたように、この文書は手にとって使う HOWTO で、
Open SSL のソフトウェアの man ページを別途、調べてもらう必要があります。
また、セキュリティ関係の本を読んで、
どのようにセキュリティが危険にさらされるのかを学ぶべきでもあります。
証明書は通信の安全性を増加させることを目的としていますが、
あなたが行うこととの係わり合いの全てのセキュリティの問題を理解し、
セキュリティについて Open SSL にできることと、できないことを理解することは、
大変に重要です。
</para>

</sect2>
</sect1>

<sect1>
<title><!--What is SSL and what are Certificates?-->SSL とは何か、証明書とは何か？</title>

<para>
<!--
The Secure Socket Layer protocol was created by Netscape to ensure secure transactions between web servers and browsers. The protocol uses a third party, a Certificate Authority (CA), to identify one end or both end of the transactions. This is in short how it works.
-->
  Secure Socket Layer プロトコルは Netscape 社によって
web サーバとブラウザの間の安全な通信を保証するために作り出されました。
このプロトコルは通信の一方の端、または両端の身元を保証するために、
認証局 (Certificate Authority, CA) と呼ばれる第三者を用います。
以下が簡単なその仕組みです。
</para>

<orderedlist>
<listitem>
<para>
<!--
A browser requests a secure page (usually https://).
-->
  ブラウザがセキュアなページ（通常 https:// ）を要求する。
</para>
</listitem>

<listitem>
<para>
<!--
The web server sends its public key with its certificate.
-->
  その web サーバが、その証明書と一緒にその公開鍵を送る。
</para>
</listitem>

<listitem>
<para>
<!--
The browser checks that the certificate was issued by a trusted party (usually a trusted root CA), that the certificate is still valid and that the certificate is related to the site contacted.
-->
  ブラウザはその証明書が信用が与えられた機関
（通常は信用が与えられたルート認証局(root CA)）によって発行されたものであること、
その証明書がまだ有効であって、そして、
その証明書が接続しようとしているそのサイトと関係づけられていることをチェックする。
</para>
</listitem>

<listitem>
<para>
<!--
The browser then uses the public key, to encrypt a random symmetric encryption key and sends it to the server with the encrypted URL required as well as other encrypted http data.
-->
  そして、ブラウザはその公開鍵を用いてランダムに選んだ対称鍵を暗号化し、
その鍵と要求された URL を暗号化したものを、他の暗号化した http データとともに送る。
</para>
</listitem>

<listitem>
<para>
<!--
The web server decrypts the symmetric encryption key using its private key and uses the symmetric key to decrypt the URL and http data. 
-->
  web サーバは自分の秘密鍵を用いて、送られてきた対称鍵を復号し、
その対称鍵を用いて URL と http データを復号する。
</para>
</listitem>

<listitem>
<para>
<!--
The web server sends back the requested html document and http data encrypted with the symmetric key. 
-->
  web サーバは要求された html ドキュメントと http データを対称鍵で
暗号化して送り返す。
</para>
</listitem>

<listitem>
<para>
<!--
The browser decrypts the http data and html document using the symmetric key and displays the information.
-->
  ブラウザはその http データと html ドキュメントを対称鍵を用いて復号し、
その情報を表示する。
</para>
</listitem>
</orderedlist>

<para>
<!--
Several concepts have to be understood here.
-->
  以上で理解しなくてはならない概念がいくつか出てきました。
</para>

<sect2>
<title><!--Private Key/Public Key:-->秘密鍵と公開鍵：</title>

<para>
<!--
The encryption using a private key/public key pair ensures that the data can be encrypted by one key but can only be decrypted by the other key pair. This is sometime hard to understand, but believe me it works. The keys are similar in nature and can be used alternatively: what one key emcrypts, the other key pair can decrypt. The key pair is based on prime numbers and their length in terms of bits ensures the difficulty of being able to decrypt the message without the key pairs. The trick in a key pair is to keep one key secret (the private key) and to distribute the other key (the public key) to everybody. Anybody can send you an encrypted message, that only you will be able to decrypt. You are the only one to have the other key pair, right? In the opposite , you can certify that a message is only coming from you, because you have encrypted it with you private key, and only the associated public key will decrypt it correctly. Beware, in this case the message is not secured!
 you have only signed it. Everybody has the public key, remember!
-->
  秘密鍵/公開鍵の鍵ペアを用いる暗号化は、
データが一方の鍵で暗号化されると、その対である他方の鍵でしか復号できない、
ということを保証します。
理解するのが難しいですが、私を信じてうまく行くことにしてください。
その鍵は自然にあるものと似ていますが、違う使い方ができます。
つまり、一方の鍵が暗号化すると、その対の鍵で復号化できるのです。
この鍵対は素数の性質に基づいていて、
それらのビット長が対の鍵なしにメッセージを復号する困難さを保証します。
鍵ペアを使う根本のアイデアは、片方の鍵を秘密にしておき（秘密鍵）、
そしてその対の他方の鍵をみんなに公開してしまう（公開鍵）ことです。
だれでもあなたに暗号化したメッセージを送ることが出来て、
あなただけがそれを復号化することが出来るのです。
あなたは対になっている他方の鍵を持っているただ一人の人なのですから。
でしょう？
この逆に、
あるメッセージが確かにあなたから来たものだと保証することもできます。
なぜなら、あなたが自分の秘密鍵で暗号化したものは、
それと対になっている公開鍵だけが正しく復号できるからです。
この場合には、メッセージは安全ではなく、
単にあなたが署名しただけだということに注意してください。
みんながその公開鍵を持っているのだということを忘れずに！
</para>

<para>
<!--
One of the problem left is to know the public key of your correspondent. Usually you will ask him to send you a non confidential signed message that will contains his publick key as well as a certificate.
-->
  残された問題の一つは通信相手の公開鍵を知ることです。
通常は、証明書と同じく公開鍵も含まれた、
秘密でない署名入りメッセージを送ってもらうよう相手に要求します。
</para>

<programlisting>
<![CDATA[Message-->[Public Key]-->Encrypted Message-->[Private Key]-->Message
]]>
</programlisting>

</sect2>


<sect2>
<title><!--The Certificate:-->証明書：</title>

<para>
<!--
How do you know that you are dealing with the right person or rather the right web site. Well, someone has taken great length (if they are serious) to ensure that the web site owners are who they claim to be. This someone, you have to implicitly trust: you have his/her certificate loaded in your browser (a root Certificate). A certificate, contains information about the owner of the certificate, like e-mail address, owner's name, certificate usage, duration of validity, resource location or Distinguished Name (DN) which includes the Common Name (CN) (web site address or e-mail address depending of the usage) and the certificate ID of the person who certifies (signs) this information. It contains also the public key and finally a hash to ensure that the certificate has not been tampered with. As you made the choice to trust the person who signs this certificate, therefore you also trust this certificate. This is a certificate trust tree or certificate path. Usually your brows!
er or application has already loaded the root certificate of well known Certification Authorities (CA) or root CA Certificates. The CA maintains a list of all signed certificates as well as a list of revoked certificates. A certificate is insecure until it is signed, as only a signed certificate cannot be modified. You can sign a certificate using itself, it is called a self signed certificate. All root CA certificates are self signed.
-->
  自分が正しい人物、またはこの場合の方が多いでしょうが、
正しい web サイトとやりとりをしているのだと、
どうすれば知ることが出来るのでしょう。
ええ、web サイトの所有者は彼らが主張している人物たちだと
保証するために、大変な手間をかけています
（もし彼らがセキュリティについて真剣ならばですが）。
この人たちと、その通信相手であるあなたは、暗黙のうちに、
彼、または彼女の証明書（ルート証明書）を自分のブラウザに読み込んでいること、
を仮定しなければなりません。
証明書にはその証明書の所有者の情報、例えば e-mail アドレスや、名前や、
証明書の使用目的、有効期間、情報の場所、または
通常名(Common Name, CN)を含む識別名(Distinguish Name, DN)
（web サイトのアドレスや e-mail アドレスは用法に依存します）、
そしてこの情報に保証を与えた（つまり署名した）人物の証明書 ID が含まれています。
さらに、証明書はその公開鍵を含み、最後に、
その証明書全体が改竄されていないことを保証するためのハッシュ値を含んでいます。
この証明書に署名した人を信用するという選択をした以上、
それゆえにこの証明書の内容も信じることになります。
これは証明書の信用ツリーまたは認証径路と呼ばれるものです。
通常は、あなたのブラウザやアプリケーションは既に、よく知られている
認証機関(Certificate Authorities, CA) のルート証明書か、
ルート認証局証明書(root CA Certificates)を組み込み済みです。
CA（認証局）は全ての署名入り証明書のリストと、
同じように無効になった証明書のリストを維持しています。
署名された証明書だけが改竄不可能なのですから、
証明書はそれが署名されるまでは安全ではありません。
自分自身で自分の証明書に署名することもでき、
これは自己署名証明書と呼ばれています。
全ての root CA（ルート認証局）の証明書は自己署名しています。
</para>

<programlisting>
<![CDATA[Certificate: 
]]><![CDATA[    Data: 
]]><![CDATA[        Version: 3 (0x2) 
]]><![CDATA[        Serial Number: 1 (0x1) 
]]><![CDATA[        Signature Algorithm: md5WithRSAEncryption 
]]><![CDATA[        Issuer: C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=SOPAC Root CA/Email=administrator@sopac.org 
]]><![CDATA[        Validity 
]]><![CDATA[            Not Before: Nov 20 05:47:44 2001 GMT 
]]><![CDATA[            Not After : Nov 20 05:47:44 2002 GMT 
]]><![CDATA[        Subject: C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=www.sopac.org/Email=administrator@sopac.org 
]]><![CDATA[        Subject Public Key Info: 
]]><![CDATA[            Public Key Algorithm: rsaEncryption  
]]><![CDATA[            RSA Public Key: (1024 bit) 
]]><![CDATA[                Modulus (1024 bit): 
]]><![CDATA[                    00:ba:54:2c:ab:88:74:aa:6b:35:a5:a9:c1:d0:5a: 
]]><![CDATA[                    9b:fb:6b:b5:71:bc:ef:d3:ab:15:cc:5b:75:73:36: 
]]><![CDATA[                    b8:01:d1:59:3f:c1:88:c0:33:91:04:f1:bf:1a:b4: 
]]><![CDATA[                    7a:c8:39:c2:89:1f:87:0f:91:19:81:09:46:0c:86: 
]]><![CDATA[                    08:d8:75:c4:6f:5a:98:4a:f9:f8:f7:38:24:fc:bd: 
]]><![CDATA[                    94:24:37:ab:f1:1c:d8:91:ee:fb:1b:9f:88:ba:25: 
]]><![CDATA[                    da:f6:21:7f:04:32:35:17:3d:36:1c:fb:b7:32:9e: 
]]><![CDATA[                    42:af:77:b6:25:1c:59:69:af:be:00:a1:f8:b0:1a: 
]]><![CDATA[                    6c:14:e2:ae:62:e7:6b:30:e9 
]]><![CDATA[                Exponent: 65537 (0x10001) 
]]><![CDATA[         X509v3 extensions: 
]]><![CDATA[             X509v3 Basic Constraints: 
]]><![CDATA[                 CA:FALSE 
]]><![CDATA[             Netscape Comment: 
]]><![CDATA[                 OpenSSL Generated Certificate
]]><![CDATA[             X509v3 Subject Key Identifier:
]]><![CDATA[                 FE:04:46:ED:A0:15:BE:C1:4B:59:03:F8:2D:0D:ED:2A:E0:ED:F9:2F 
]]><![CDATA[             X509v3 Authority Key Identifier:
]]><![CDATA[                 keyid:E6:12:7C:3D:A1:02:E5:BA:1F:DA:9E:37:BE:E3:45:3E:9B:AE:E5:A6 
]]><![CDATA[                 DirName:/C=FJ/ST=Fiji/L=Suva/O=SOPAC/OU=ICT/CN=SOPAC Root CA/Email=administrator@sopac.org 
]]><![CDATA[                 serial:00
]]><![CDATA[
]]><![CDATA[    Signature Algorithm: md5WithRSAEncryption
]]><![CDATA[        34:8d:fb:65:0b:85:5b:e2:44:09:f0:55:31:3b:29:2b:f4:fd: 
]]><![CDATA[        aa:5f:db:b8:11:1a:c6:ab:33:67:59:c1:04:de:34:df:08:57: 
]]><![CDATA[        2e:c6:60:dc:f7:d4:e2:f1:73:97:57:23:50:02:63:fc:78:96: 
]]><![CDATA[        34:b3:ca:c4:1b:c5:4c:c8:16:69:bb:9c:4a:7e:00:19:48:62: 
]]><![CDATA[        e2:51:ab:3a:fa:fd:88:cd:e0:9d:ef:67:50:da:fe:4b:13:c5: 
]]><![CDATA[        0c:8c:fc:ad:6e:b5:ee:40:e3:fd:34:10:9f:ad:34:bd:db:06: 
]]><![CDATA[        ed:09:3d:f2:a6:81:22:63:16:dc:ae:33:0c:70:fd:0a:6c:af:
]]><![CDATA[        bc:5a 
]]><![CDATA[-----BEGIN CERTIFICATE----- 
]]><![CDATA[MIIDoTCCAwqgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBiTELMAkGA1UEBhMCRkox 
]]><![CDATA[DTALBgNVBAgTBEZpamkxDTALBgNVBAcTBFN1dmExDjAMBgNVBAoTBVNPUEFDMQww 
]]><![CDATA[CgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNPUEFDIFJvb3QgQ0ExJjAkBgkqhkiG9w0B 
]]><![CDATA[CQEWF2FkbWluaXN0cmF0b3JAc29wYWMub3JnMB4XDTAxMTEyMDA1NDc0NFoXDTAy 
]]><![CDATA[MTEyMDA1NDc0NFowgYkxCzAJBgNVBAYTAkZKMQ0wCwYDVQQIEwRGaWppMQ0wCwYD 
]]><![CDATA[VQQHEwRTdXZhMQ4wDAYDVQQKEwVTT1BBQzEMMAoGA1UECxMDSUNUMRYwFAYDVQQD 
]]><![CDATA[Ew13d3cuc29wYWMub3JnMSYwJAYJKoZIhvcNAQkBFhdhZG1pbmlzdHJhdG9yQHNv 
]]><![CDATA[cGFjLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAulQsq4h0qms1panB 
]]><![CDATA[0Fqb+2u1cbzv06sVzFt1cza4AdFZP8GIwDORBPG/GrR6yDnCiR+HD5EZgQlGDIYI 
]]><![CDATA[2HXEb1qYSvn49zgk/L2UJDer8RzYke77G5+IuiXa9iF/BDI1Fz02HPu3Mp5Cr3e2 
]]><![CDATA[JRxZaa++AKH4sBpsFOKuYudrMOkCAwEAAaOCARUwggERMAkGA1UdEwQCMAAwLAYJ 
]]><![CDATA[YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
]]><![CDATA[DgQWBBT+BEbtoBW+wUtZA/gtDe0q4O35LzCBtgYDVR0jBIGuMIGrgBTmEnw9oQLl 
]]><![CDATA[uh/anje+40U+m67lpqGBj6SBjDCBiTELMAkGA1UEBhMCRkoxDTALBgNVBAgTBEZp 
]]><![CDATA[amkxDTALBgNVBAcTBFN1dmExDjAMBgNVBAoTBVNPUEFDMQwwCgYDVQQLEwNJQ1Qx 
]]><![CDATA[FjAUBgNVBAMTDVNPUEFDIFJvb3QgQ0ExJjAkBgkqhkiG9w0BCQEWF2FkbWluaXN0 
]]><![CDATA[cmF0b3JAc29wYWMub3JnggEAMA0GCSqGSIb3DQEBBAUAA4GBADSN+2ULhVviRAnw 
]]><![CDATA[VTE7KSv0/apf27gRGsarM2dZwQTeNN8IVy7GYNz31OLxc5dXI1ACY/x4ljSzysQb 
]]><![CDATA[xUzIFmm7nEp+ABlIYuJRqzr6/YjN4J3vZ1Da/ksTxQyM/K1ute5A4/00EJ+tNL3b 
]]><![CDATA[Bu0JPfKmgSJjFtyuMwxw/Qpsr7xa
]]><![CDATA[-----END CERTIFICATE-----
]]>
</programlisting>

<para>
<!--
As You may have noticed, the certificate contains the reference to the issuer, the public key of the owner of this certificate, the dates of validity of this certificate and the signature of the certificate to ensure this certificate hasen't been tampered with. The certificate does not contain the private key as it should never be transmitted in any form whatsoever. This certificate has all the elements to send an encrypted message to the owner (using the public key) or to verify a message signed by the author of this certificate.
-->
  もうお気づきになっているように、
証明書はその発行者への参照を含んでいて、
証明書の所有者の公開鍵、証明書の有効期間と
この証明書が改竄されていないことを保証するための証明書の署名が含まれています。
証明書は秘密鍵を含みません。秘密鍵はどんな形式であろうが
決して誰かに渡すべきでないからです。
この証明書は所有者に暗号化メッセージを送り、
そしてメッセージがこの証明書の所有者によって署名されていることを保証するための、
全ての情報を含んでいます。
</para>
</sect2>

<sect2>
<title><!--The Symmetric key:-->対称鍵：</title>

<para>
<!--
Well, Private Key/Public Key encryption algorithms are great, but they are not usually practical. It is asymmetric because you need the other key pair to decrypt. You can't use the same key to encrypt and decrypt. An algorithm using the same key to decrypt and encrypt is deemed to have a symmetric key. A symmetric algorithm is much faster in doing its job than an asymmetric algorithm. But a symmetric key is potentially highly insecure. If the enemy gets hold of the key then you have no more secret information. You must therefore transmit the key to the other party without the enemy getting its hands on it. As you know, nothing is secure on the Internet. The solution is to encapsulate the symmetric key inside a message encrypted with an asymmetric algorithm. You have never transmitted your private key to anybody, then the message encrypted with the public key is secure (relatively secure, nothing is certain except death and taxes). The symmetric key is also chosen randomly, s!
o that if the symmetric secret key is discovered then the next transaction will be totally different.
-->
  ええ、秘密鍵/公開鍵暗号アルゴリズムは偉大です。しかし、
これは通常使うものとしては現実的でありません。
復号化するためには別の鍵が必要ですから、これは非対称的です。
暗号化と復号化に同じ鍵を使うことはできません。
復号化と暗号化に同じ鍵を用いるアルゴリズムは対称鍵を持つと呼ばれます。
対称なアルゴリズムは非対称なアルゴリズムよりずっと速く仕事をこなします。
しかし、対称鍵は潜在的に非常に危険です。
もし敵がその鍵を手に入れたら、あなたはもはや秘密の情報はなくなります。
ですから、敵の手に渡すことなくその鍵を相手に送らなければなりません。
ご存知のように、インターネット上には安全なものは何一つありません。
この解決策はその対称鍵を非対称アルゴリズムで暗号化したメッセージの
カプセルの中に入れることです。
秘密鍵は決して誰にも渡しませんから、公開鍵で暗号化されたメッセージは安全です
（正確に言えば、比較的安全です。死と税金以外に確かなものは何もないのですから）。
対称鍵はランダムに選ばれますから、
もし対称鍵が発見されても、次の通信では全く異なることになります。
</para>

<programlisting><![CDATA[Symetric Key-->[Public Key]-->Encrypted Symetric Key-->[Private Key]-->Symetric Key
]]></programlisting>

</sect2>

<sect2>
<title><!--Encryption algorithm:-->暗号化アルゴリズム：</title>

<para>
<!--
There are several encryption algorithms available, using symmetric or asymmetric methods, with keys of various lengths. Usually, algorithms cannot be patented, if Henri Poincare had patented his algorithms, then he would have been able to sue Albert Einstein... So algorithms cannot be patented except mainly in USA. OpenSSL is developed in a country where algorithms cannot be patented and where encryption technology is not reserved to state agencies like military and secret services. During the negotiation between browser and web server, the applications will indicate to each other a list of algorithms that can be understood ranked by order of preference. The common preferred algorithm is then chosen. OpenSSL can be compiled with or without certain algorithms, so that it can be used in many countries where restrictions apply. 
-->
  可能な暗号化アルゴリズムには、
色々な鍵の長さの、対称的なもの、非対称的なもの、と様々あります。
通常は、アルゴリズムで特許をとることはできません。
もし、ポアンカレが自分のアルゴリズムの特許をとっていたら、
アインシュタインを訴えることができたでしょう…
そういうわけでアルゴリズムでは特許をとることはできません、
ただしアメリカ合衆国が主な例外です。
OpenSSL は、アルゴリズムで特許がとることができない、
そして暗号化技術が軍や情報機関のような国家機関だけに制限されてはいない
国で開発されています。
ブラウザと web サーバのネゴシエーション（プロトコルのやりとり）の間に、
その双方のアプリケーションは望ましい順番に並べた可能なアルゴリズムのリストを
見せあいます。
そして共通の望ましいアルゴリズムが選ばれます。
OpenSSL は、特定のアルゴリズムを含めたり、除いたりした形でコンパイル可能ですから、
制限が適用されている多くの国でも使えるのです。
</para>
</sect2>


<sect2>
<title><!--The Hash:-->ハッシュ</title>

<para>
<!--
A hash is a number given by a hash function from a message. This is a one way function, it means that it is impossible to get the original message knowing the hash. However the hash will drastically change even for the slightest modification in the message. It is therefore extremely difficult to modify a message while keeping its original hash. It is also called a message digest. Hash functions are used in password mechanisms, in certifying that applications are original (MD5 sum), and in general in ensuring that any message has not been tampered with. It seems that the Internet Enginering Task Force (IETF) prefers SHA1 over MD5 for a number of technical reasons (Cf RFC2459 7.1.2 and 7.1.3).
-->
  ハッシュ（ハッシュ値）
とはハッシュ関数によってメッセージから作られたある数字のことです。
これは一方通行関数で、つまり、
そのハッシュから元のメッセージを得ることが不可能であることを意味しています。
しかし、ハッシュは元のメッセージがほんの少し変更されても劇的に変化します。
よって、そのハッシュを変えないままメッセージを変形することは非常に困難です。
ハッシュはメッセージ要約 (message digest) とも呼ばれます。
ハッシュ関数はパスワード方式の仕組みや、
アプリケーションがオリジナルであることを保証するためや（MD5 チェックサム）、
一般にはメッセージが改竄されていないことを確証するために使われます。
IETF (Internet Engineering Task Force) はいくつかの技術的な理由から
MD5 より SHA1 の方が望ましいハッシュ関数であると考えているようです
（RFC2459 7.1.2. と 7.1.3. を参照のこと）。
</para>

</sect2>


<sect2>
<title><!--Signing:-->署名：</title>

<para>
<!--
Signing a message, means authentifying that you have yourself assured the authenticity of the message (most of the time it means you are the author, but not neccesarily). The message can be a text message, or someone else's certificate. To sign a message, you create its hash, and then encrypt the hash with your private key, you then add the encrypted hash and your signed certificate with the message. The recipient will recreate the message hash, decrypts the encrypted hash using your well known public key stored in your signed certificate, check that both hash are equals and finally check the certificate. 
-->
  メッセージに署名することは、そのメッセージの真正性をあなた自身が保証した、
ということを意味します（ほとんどの場合はあなたが著者でしょうが、
必ずしもそうでなくても構いません）。
そのメッセージは普通のテキストであったり、誰かの証明書であるという場合もあるでしょう。
あなたがメッセージに署名するためには、
まずメッセージのハッシュを作成し、あなたの秘密鍵によってそのハッシュを暗号化して、
その暗号化されたハッシュと署名された証明書をメッセージに添付します。
これを受け取った方は、
メッセージのハッシュを独立に再び作成し、
あなたの署名入りの証明書から取り出したあなたの公開鍵で復号化して元のハッシュを得て、
この二つのハッシュが等しいかどうかをチェックし、
最後に証明書をチェックします。
</para>

<para>
<!--
The other advantage of signing your messages is that you transmit your public key and certificate automatically to all your recipients.
-->
  メッセージに署名する他の利点は、
全ての受け取り手に対して自動的に公開鍵と証明書を送ることになることです。
</para>

<para>
<!--
There are usually 2 ways to sign, encapsulating the text message inside the signature (with delimiters), or encoding the message altogether with the signature. This later form is a very simple encryption form as any software can decrypt it if it can read the embedded public key. The advantage of the first form is that the message is human readable allowing any non complaint client to pass the message as is for the user to read, while the second form does not even allow to read part of the message if it has been tampered with.
-->
  通常、署名には二通りの方法があります。
署名の中にテキストメッセージを（区切り指定文字を入れて）カプセル化する形式と、
メッセージを署名と一緒にコード化してしまう方法です。
後の形式は非常に単純な暗号化で、
埋め込まれた公開鍵を読めればどんなソフトウェアでも復号できます。
最初の形式の利点は、メッセージが人間に読むことができて、
それを読むユーザへとメッセージを渡すクライアントに何の問題も生じない一方、
二番目の形式ではメッセージが改竄されていると、
メッセージの一部を読むことさえできないことです。
</para>

</sect2>


<sect2>
<title><!--PassPhrase:-->パスフレーズ：</title>

<para>
<!--
&ldquo;A passprase is like a password except it is longer&rdquo;. In the early days passwords on Unix system were limited to 8 characters, so the term passphrase for longer passwords. Longer is the password harder it is to guess. Nowadays Unix systems use MD5 hashes which have no limitation in length of the password.
-->
  &ldquo;パスフレーズはパスワードより長いという以外にはパスワードと
同じようなものです&rdquo;。
初期には Unix システムでのパスワードは８文字までに限られていたので、
より長いパスワードをパスフレーズと言うのです。
パスワードが長ければ長いほど、推測するのが難しくなります。
現在の Unix システムでは MD5 を使うことで、
パスワードの長さの制限はなくなっています。
</para>

</sect2>


<sect2>
<title><!--Public Key Infrastructure-->公開鍵基盤 (PKI, Public Key Infrastracture)</title>

<para>
<!--
The Public Key Infrastructure (PKI) is the software management system and database system that allows to sign certifcate, keep a list of revoked certificates, distribute public key,... You can usually access it via a website and/or ldap server. There will be also some people checking that you are who you are... For securing individual applications, you can use any well known commercial PKI as their root CA certificate is most likely to be inside your browser/application. The problem is for securing e-mail, either you get a generic type certificate for your e-mail or you must pay about USD100 a year per certificate/e-mail address. There is also no way to find someone's public key if you have never received a prior e-mail with his certificate (including his public key).
-->
  公開鍵基盤(PKI, Public Key Infrastructure)とは、
証明書に署名し、無効になった証明書のリストを維持し、公開鍵を配布するといったことを
可能にするためのソフトウェアとデータベースのシステムのことです。
通常は、web サイトか ldap サーバ、またはその両方を通じてこれにアクセスします。
そこでは誰かが、あなたが本当にあなたであることをチェックしていることになるでしょう。
個々のアプリケーションの安全性を高めるには、
良く知られた商用の PKI を用いることができます。
これは、おそらくその root CA の証明書が、
ブラウザやアプリケーションに既に組み込まれているからです。
問題点は、安全に e-mail を使いたい場合で、
あなたは e-mail の一般的なタイプの証明書を手に入れるか、
または証明書/e-mail ごとに一年あたり約 100 USドルを払わなくてはなりません。
もし、以前に（公開鍵を含んだ）証明書つきの e-mail を一度も受け取っていないと、
誰かの公開鍵を見つける方法もありません。
</para>

</sect2>

</sect1>


<sect1>
<title><!--What about S/Mime or other protocols?-->S/MIME その他のプロトコルってどんなもの？</title>

<para>
<!--
If SSL was developed for web servers, it can be used to encrypt any protocol. Any protocol can be encapsulated inside SSL. This is used in IMAPS, POPS, SMTPS,... These secure protocols will use a different port than their insecure version. SSL can also be used to encrypt any transaction: there is no need to be in direct (live) contact with the recipient. S/Mime is such protocol, it encapsulates an encrypted message inside a standard e-mail. The message is encrypted using the public key of the recipient. If you are not online with the recipient then you must know its public key. Either you get it from its web site, from a repository, or you request the recipient to e-mail you its public key and certificate (to ensure you are speaking to the right recipient).
-->
  SSL は web サーバのために開発されたので、
任意のプロトコルを暗号化するために用いることが可能です。
どんなプロトコルでも SSL の中にカプセル化できます。
この方法は IMAPS, POPS, SMTPS, ... などで用いられています。
これらの安全性を高めたプロトコルは、
その安全でないバージョンとは異なるポート番号を使っています。
また、SSL はどんな通信を暗号化するのにも使えます。
通信相手と直接の（即時の）接続をする必要はありません。
S/Mime はそんなプロトコルで、通常の e-mail の内側に、
暗号化したメッセージをカプセル化するのです。
メッセージは受け取る相手の公開鍵で暗号化されます。
あなたは web サイトか、レポジトリから公開鍵を手に入れるか、
または公開鍵と証明書を e-mail で送ってもらうように相手に要求します
（証明書は本当に正しい相手に話しかけているか保証するためです）。
</para>

<para>
<!--
In a reverse order, the browser can send its own signed certificate to the web server, as a mean of authentication. But everybody can get the browser certificate on the CA web site. Yes, but the signed certificate has been sent encrypted with the private key, that only the public key can decrypt.
-->
  逆の順序で、ブラウザは自分自身の署名された証明書を、
身元確認用としてweb サーバに送ることができます。
しかし、ブラウザの証明書は誰でも CA web サイトで手に入れることができます。
そうです、しかし送られてきた証明書は秘密鍵で暗号化されていて、
その公開鍵でしか復号できません。
</para>

</sect1>


</chapter>
<chapter>
<title><!--Certificate Management-->証明書の運用</title>

<sect1>
<title><!--Installation-->インストール</title>

<para>
<!--
Nowadays, you do not have to worry too much about installing OpenSSL: most distributions use package management applications. Refer to your distribution documentation, or read the README and INSTALL file inside the OpenSSL tarball. I want also to avoid to make this HOWTO, an installation HOWTO rather than an HOWTO use certificates.
-->
  今では、OpenSSL のインストールについて、そんなに心配する必要はありません。
と言うのも、ほとんどのディストリビューションでは
パッケージ管理アプリケーションを用いているからです。
各ディストリビューションのドキュメントを参照するか、
OpenSSl tarball に含まれている README と INSTALL ファイルを読んでください。
この HOWTO を証明書を扱う HOWTO よりも、
インストール HOWTO にしてしまうことは避けたいと思います。
</para>

<para>
<!--
I describe here some standard installation options which are necessary to know for the samples following. Your installation may differ.
-->
  ここでは、後の例を理解するために知る必要のある
標準的なインストールオプションをいくつか紹介しておきます。
場合によっては変更が必要かもしれません。
</para>

<para>
<!--
The directory for all OpenSSL certificates is /var/ssl/. All commands and paths in this document are issued from this directory, it is not mandatory but it will help the examples.
-->
  全ての OpenSSL 証明書のためのディレクトリは /var/ssl/ です。
この文書の中の全てのコマンドとパスはこのディレクトリから始まっています。
これは必須ではありませんが、以下の例を理解する役に立つでしょう。
</para>

<para>
<!--
OpenSSL by default looks for a configuration file in /usr/lib/ssl/openssl.cnf so always add -config /etc/openssl.cnf to the commands openssl ca or openssl req for instance. I use /etc/openssl.cnf so all my configuration files are all in /etc.
-->
  デフォルトの OpenSSL は /usr/lib/ssl/openssl.cnf で設定ファイルを探します。
ですから例えば、openssl ca や openssl req のコマンドに
常に -config /etc/openssl.cnf を加えてください。
私は /etc/openssl.cnf を用いることにしますので、
私の全ての設定ファイルは /etc 以下にあることになります。
</para>

<para>
<!--
Utilities and other libraries are located in /usr/lib/ssl.
-->
  ユーティリティと他のライブラリは /usr/lib/ssl 以下におかれています。
</para>

<sect2>
<title><!--The CA.pl utility-->CA.pl ユーティリティ</title>

<para>
<!--
Ensure that the utility CA.pl is in an accessible directory such as /usr/sbin. CA.pl can be found inside /usr/lib/ssl directories. CA.pl is a utility that hides the complexity of the openssl command. In all the examples, when I use CA.pl, I will also put the openssl equivalent in brakets.
-->
  ユーティリティ CA.pl が /usr/sbin のようなアクセス可能なディレクトリに
あることを確認してください。
CA.pl は /usr/lib/ssl ディレクトリの中で見つけられます。
CA.pl は openssl コマンドの複雑さを覆い隠すユーティリティです。
以下の全ての例で、私が CA.pl を使うときは、その openssl での等価コマンドを
括弧の中に書くことにします。
</para>

<para>
<--
/usr/sbin/CA.pl needs to be modified to include -config /etc/openssl.cnf in ca and req calls. 
-->
  /usr/sbin/CA.pl は ca と req コールでは -config /etc/openssl.cnf
をつけて変形する必要があります。
</para>

<programlisting>
<![CDATA[#$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"}; 
]]><![CDATA[$SSLEAY_CONFIG="-config /etc/openssl.cnf"; 
]]><![CDATA[#$CATOP="./demoCA"; 
]]><![CDATA[$CATOP="/var/ssl";
]]><![CDATA[
]]>
</programlisting>

</sect2>

<sect2>
<title><!--The openssl.cnf file-->openssl.cnf ファイル</title>

<para>
<!--
/etc/openssl.cnf must be configured accordingly to minimize input entry.
-->
  /etc/openssl.cnf は input エントリーを最小限にするように
適切に設定しなければいけません。
</para>

<programlisting>
<![CDATA[
]]><![CDATA[#---Begin---
]]><![CDATA[# 
]]><![CDATA[# OpenSSL example configuration file. 
]]><![CDATA[# OpenSSL 設定ファイル例
]]><![CDATA[# This is mostly being used for generation of certificate requests. 
]]><![CDATA[# これは主に証明書要求の生成のために使われるもの。
]]><![CDATA[#
]]><![CDATA[
]]><![CDATA[RANDFILE  = $ENV::HOME/.rnd 
]]><![CDATA[oid_file  = $ENV::HOME/.oid 
]]><![CDATA[oid_section  = new_oids
]]><![CDATA[
]]><![CDATA[# To use this configuration file with the "-extfile" option of the 
]]><![CDATA[# "openssl x509" utility, name here the section containing the 
]]><![CDATA[# X.509v3 extensions to use: 
]]><![CDATA[# この設定ファイルを "openssl x509" ユーティリティの "-extfile"
]]><![CDATA[# オプションとともに使うためには、用いる X509v3 拡張を
]]><![CDATA[# 含むセクションにここで名前をつける：
]]><![CDATA[# extensions  = 
]]><![CDATA[# (Alternatively, use a configuration file that has only 
]]><![CDATA[# X.509v3 extensions in its main [= default] section.)
]]><![CDATA[# （または、メインの[=default]セクションで X.509v3 拡張
]]><![CDATA[# だけを持つ設定ファイルを使う）
]]><![CDATA[
]]><![CDATA[[ new_oids ]
]]><![CDATA[
]]><![CDATA[# We can add new OIDs in here for use by 'ca' and 'req'. 
]]><![CDATA[# Add a simple OID like this: 
]]><![CDATA[# ここで 'ca' と 'req' によって用いるための新たな OID らを追加。
]]><![CDATA[# 一つの OID をこのように追加する：
]]><![CDATA[# testoid1=1.2.3.4 
]]><![CDATA[# Or use config file substitution like this: 
]]><![CDATA[# または以下のように設定ファイルの挿入を使う：
]]><![CDATA[# testoid2=${testoid1}.5.6
]]><![CDATA[
]]><![CDATA[#################################################################### 
]]><![CDATA[[ ca ] 
]]><![CDATA[default_ca = CA_default  # The default ca section　デフォルト CA セクション
]]><![CDATA[
]]><![CDATA[#################################################################### 
]]><![CDATA[
]]><![CDATA[[ CA_default ]
]]><![CDATA[dir             = /var/ssl                # Where everything is kept 全てが保存されている場所
]]><![CDATA[certs           = $dir/certs              # Where the issued certs are kept 発行された証明書が保存されている場所
]]><![CDATA[crl_dir         = $dir/crl                # Where the issued crl are kept 発行された crl が保存されている場所
]]><![CDATA[database        = $dir/index.txt          # database index file. データベースインデックスファイル
]]><![CDATA[new_certs_dir   = $dir/newcerts           # default place for new certs.新しい証明書をおくデフォルトの場所
]]><![CDATA[
]]><![CDATA[certificate     = $dir/cacert.pem         # The CA certificate （CA 証明書）
]]><![CDATA[serial          = $dir/serial             # The current serial number 現在のシリアル番号
]]><![CDATA[crl             = $dir/crl.pem            # The current CRL 現在の CRL
]]><![CDATA[private_key     = $dir/private/cakey.pem  # The private key 秘密鍵
]]><![CDATA[RANDFILE        = $dir/private/.rand      # private random number file 秘密の乱数ファイル
]]><![CDATA[x509_extensions = usr_cert                # The extentions to add to the cert 証明書に追加する拡張
]]><![CDATA[
]]><![CDATA[# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs 
]]><![CDATA[# so this is commented out by default to leave a V1 CRL.
]]><![CDATA[# CRL に追加する拡張。注意：Netscape communicator は V2 CRL は受け入れない
]]><![CDATA[# よって、これは V1 CRL を残すためデフォルトでコメントアウト。
]]><![CDATA[# crl_extensions = crl_ext
]]><![CDATA[
]]><![CDATA[default_days    = 365                     # how long to certify for 有効期間
]]><![CDATA[default_crl_days= 7                       # how long before next CRL 次の CRL までの期間
]]><![CDATA[default_md      = sha1                    # which md to use. 用いる md の種類
]]><![CDATA[preserve        = no                      # keep passed DN ordering パスした DN 順序を保存
]]><![CDATA[
]]><![CDATA[# A few difference way of specifying how similar the request should look 
]]><![CDATA[# For type CA, the listed attributes must be the same, and the optional 
]]><![CDATA[# and supplied fields are just that :-) 
]]><![CDATA[# 要求の類似性を特定する二、三の違った方法
]]><![CDATA[# タイプ CA については、リストされた属性は同じでなくてならず、
]]><![CDATA[# 追加されたフィールドと供給されたフィールドはまさにそれで :-)
]]><![CDATA[policy  = policy_match
]]><![CDATA[
]]><![CDATA[# For the CA policy （CA のポリシー）
]]><![CDATA[[ policy_match ] 
]]><![CDATA[countryName            = match 
]]><![CDATA[stateOrProvinceName    = optional 
]]><![CDATA[localityName           = match 
]]><![CDATA[organizationName       = match 
]]><![CDATA[organizationalUnitName = optional 
]]><![CDATA[commonName             = supplied 
]]><![CDATA[emailAddress           = optional
]]><![CDATA[
]]><![CDATA[# For the 'anything' policy 
]]><![CDATA[# At this point in time, you must list all acceptable 'object' 
]]><![CDATA[# types. 
]]><![CDATA[# 「なんでも」ポリシー
]]><![CDATA[# この時点で、全ての受け入れ可能な 'object'タイプをリスト
]]><![CDATA[[ policy_anything ] 
]]><![CDATA[countryName            = optional 
]]><![CDATA[stateOrProvinceName    = optional 
]]><![CDATA[localityName           = optional 
]]><![CDATA[organizationName       = optional 
]]><![CDATA[organizationalUnitName = optional 
]]><![CDATA[commonName             = supplied 
]]><![CDATA[emailAddress           = optional
]]><![CDATA[
]]><![CDATA[#################################################################### 
]]><![CDATA[[ req ] 
]]><![CDATA[default_bits       = 1024 
]]><![CDATA[default_keyfile    = privkey.pem 
]]><![CDATA[distinguished_name = req_distinguished_name 
]]><![CDATA[attributes         = req_attributes 
]]><![CDATA[default_md         = sha1
]]><![CDATA[x509_extensions    = v3_ca # The extentions to add to the self signed cert
]]><![CDATA[                           # 自己署名証明書へ追加される拡張項目
]]><![CDATA[
]]><![CDATA[# Passwords for private keys if not present they will be prompted for 
]]><![CDATA[# 秘密鍵用のパスワード、存在しないとき入力を促される
]]><![CDATA[# input_password = secret 
]]><![CDATA[# output_password = secret
]]><![CDATA[
]]><![CDATA[# This sets a mask for permitted string types. There are several options. 
]]><![CDATA[# 許可される文字列型のためのマスクを設定。以下のような色々なオプションがある。
]]><![CDATA[# default: PrintableString, T61String, BMPString. 
]]><![CDATA[# pkix : PrintableString, BMPString. 
]]><![CDATA[# utf8only: only UTF8Strings. 
]]><![CDATA[# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). 
]]><![CDATA[# MASK:XXXX a literal mask value. 
]]><![CDATA[# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings 
]]><![CDATA[# so use this option with caution! 
]]><![CDATA[# 警告：Netscape の現在のヴァージョンは BMPStrings か UTF8Strings では
]]><![CDATA[# クラッシュするので、このオプションは注意して！
]]><![CDATA[string_mask = nombstr
]]><![CDATA[
]]><![CDATA[# req_extensions = v3_req # The extensions to add to a certificate request
]]><![CDATA[#                           証明書要求に追加する拡張項目
]]><![CDATA[
]]><![CDATA[[ req_distinguished_name ] 
]]><![CDATA[countryName         = Country Name (2 letter code) 
]]><![CDATA[countryName_default = FJ 
]]><![CDATA[countryName_min     = 2 
]]><![CDATA[countryName_max     = 2
]]><![CDATA[ 
]]><![CDATA[stateOrProvinceName         = State or Province Name (full name) #国名・州名（フルネームで）
]]><![CDATA[stateOrProvinceName_default = Fiji
]]><![CDATA[
]]><![CDATA[localityName          = Locality Name (eg, city) # 地方名（市など）
]]><![CDATA[localityName_default  = Suva
]]><![CDATA[
]]><![CDATA[0.organizationName         = Organization Name (eg, company) #組織名（会社など）
]]><![CDATA[0.organizationName_default = SOPAC
]]><![CDATA[
]]><![CDATA[# we can do this but it is not needed normally :-) 
]]><![CDATA[# 可能だが、普通は必要ない :-)
]]><![CDATA[#1.organizationName         = Second Organization Name (eg, company) #第二組織名
]]><![CDATA[#1.organizationName_default = World Wide Web Pty Ltd
]]><![CDATA[
]]><![CDATA[organizationalUnitName         = Organizational Unit Name (eg, section) #組織単位名
]]><![CDATA[organizationalUnitName_default = ITU
]]><![CDATA[
]]><![CDATA[commonName       = Common Name (eg, YOUR name) #通常の名前（あなたの名前など）
]]><![CDATA[commonName_max   = 64
]]><![CDATA[emailAddress     = Email Address #メイルアドレス
]]><![CDATA[emailAddress_max = 40
]]><![CDATA[
]]><![CDATA[# SET-ex3   = SET extension number 3
]]><![CDATA[
]]><![CDATA[[ req_attributes ] 
]]><![CDATA[challengePassword     = A challenge password #チャレンジパスワード
]]><![CDATA[challengePassword_min = 4 
]]><![CDATA[challengePassword_max = 20
]]><![CDATA[
]]><![CDATA[unstructuredName      = An optional company name #オプションの会社名
]]><![CDATA[
]]><![CDATA[[ usr_cert ]
]]><![CDATA[
]]><![CDATA[# These extensions are added when 'ca' signs a request.
]]><![CDATA[# This goes against PKIX guidelines but some CAs do it and some software 
]]><![CDATA[# requires this to avoid interpreting an end user certificate as a CA.
]]><![CDATA[# これらの拡張項目は 'ca' が要求に署名するとき追加される。
]]><![CDATA[# これは PKIX 勧告に反するが、CA にはそうするものもあり、
]]><![CDATA[# ソフトウェアによってはエンドユーザ証明書を CA と解釈するのを避けるため
]]><![CDATA[# 要求するものもある。
]]><![CDATA[
]]><![CDATA[basicConstraints=CA:FALSE
]]><![CDATA[
]]><![CDATA[# Here are some examples of the usage of nsCertType. If it is omitted 
]]><![CDATA[# the certificate can be used for anything *except* object signing.
]]><![CDATA[# ここは nsCertType の使い方の例。もし省略されれば、
]]><![CDATA[# その証明書はオブジェクト署名を *除いて* 何にでも用いることができる。
]]><![CDATA[
]]><![CDATA[# This is OK for an SSL server. 
]]><![CDATA[# SSL サーバのため、これは OK.
]]><![CDATA[# nsCertType   = server
]]><![CDATA[
]]><![CDATA[# For an object signing certificate this would be used. 
]]><![CDATA[# オブジェクト署名証明書のために用いられることも。
]]><![CDATA[# nsCertType = objsign
]]><![CDATA[
]]><![CDATA[# For normal client use this is typical 
]]><![CDATA[# 普通のクライアントの使用では、これは典型的。
]]><![CDATA[# nsCertType = client, email
]]><![CDATA[
]]><![CDATA[# and for everything including object signing: 
]]><![CDATA[# そして、オブジェクト署名を含む全てについて：
]]><![CDATA[# nsCertType = client, email, objsign
]]><![CDATA[
]]><![CDATA[# This is typical in keyUsage for a client certificate. 
]]><![CDATA[# これはクライアントの証明書についての keyUsage では典型的
]]><![CDATA[# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
]]><![CDATA[
]]><![CDATA[# This will be displayed in Netscape's comment listbox. 
]]><![CDATA[# これは Netscape のコメントリストボックスに表示される。
]]><![CDATA[nsComment  = "Certificate issued by https://www.sopac.org/ssl/"
]]><![CDATA[
]]><![CDATA[# PKIX recommendations harmless if included in all certificates. 
]]><![CDATA[# すべての証明書に含まれていれば PKIX 勧告は問題なし。
]]><![CDATA[subjectKeyIdentifier=hash 
]]><![CDATA[
]]><![CDATA[authorityKeyIdentifier=keyid,issuer:always
]]><![CDATA[
]]><![CDATA[# This stuff is for subjectAltName and issuerAltname. 
]]><![CDATA[# Import the email address. 
]]><![CDATA[# この内容は subjectAltName と issuerAltname のため。
]]><![CDATA[# email アドレスをインポート。
]]><![CDATA[# subjectAltName=email:copy
]]><![CDATA[
]]><![CDATA[# Copy subject details 
]]><![CDATA[# 項目の詳細をコピー
]]><![CDATA[# issuerAltName=issuer:copy
]]><![CDATA[
]]><![CDATA[# This is the base URL for all others URL addresses 
]]><![CDATA[# if not supplied
]]><![CDATA[# これは、指定されないときの、全てのほかの URL アドレスの
]]><![CDATA[# ためのベース URL として使われる。
]]><![CDATA[nsBaseUrl  = https://www.sopac.org/ssl/
]]><![CDATA[
]]><![CDATA[# This is the link where to download the latest Certificate
]]><![CDATA[# Revocation List (CRL)
]]><![CDATA[# これは最新の失効証明書リスト(CRL)をダウンロードする
]]><![CDATA[# 場所のリンク
]]><![CDATA[nsCaRevocationUrl = https://www.sopac.org/ssl/sopac-ca.crl
]]><![CDATA[
]]><![CDATA[# This is the link where to revoke the certificate
]]><![CDATA[# これは証明書を破棄（無効化）するための場所のリンク
]]><![CDATA[nsRevocationUrl  = https://www.sopac.org/ssl/revocation.html? 
]]><![CDATA[
]]><![CDATA[# This is the location where the certificate can be renewed
]]><![CDATA[# 証明書を更新するための場所のリンク
]]><![CDATA[nsRenewalUrl  = https://www.sopac.org/ssl/renewal.html? 
]]><![CDATA[
]]><![CDATA[# This is the link where the CA policy can be found
]]><![CDATA[# CA ポリシーがある場所のリンク
]]><![CDATA[nsCaPolicyUrl  = https://www.sopac.org/ssl/policy.html 
]]><![CDATA[
]]><![CDATA[# This is the link where we can get the issuer certificate
]]><![CDATA[# 発行者の証明書がある場所のリンク
]]><![CDATA[issuerAltName = URI:https://www.sopac.org/ssl/sopac.crt
]]><![CDATA[
]]><![CDATA[# This is the link where to get the latest CRL
]]><![CDATA[# 最新の CRL がある場所のリンク
]]><![CDATA[crlDistributionPoints = URI:https://www.sopac.org/ssl/sopac-ca.crl
]]><![CDATA[
]]><![CDATA[[ v3_ca ]
]]><![CDATA[
]]><![CDATA[# Extensions for a typical CA
]]><![CDATA[# 典型的な CA のための拡張項目
]]><![CDATA[
]]><![CDATA[# PKIX recommendation.
]]><![CDATA[# PKIX 勧告の推奨
]]><![CDATA[ 
]]><![CDATA[subjectKeyIdentifier=hash
]]><![CDATA[
]]><![CDATA[authorityKeyIdentifier=keyid:always,issuer:always
]]><![CDATA[
]]><![CDATA[# This is what PKIX recommends but some broken software chokes on critical 
]]><![CDATA[# extensions. 
]]><![CDATA[# PKIX はそう勧めているが、いいかげんなソフトウェアには
]]><![CDATA[# critical 拡張を受け入れないものもある。
]]><![CDATA[# basicConstraints = critical,CA:true 
]]><![CDATA[# So we do this instead. 
]]><![CDATA[# だから代わりにこうする。
]]><![CDATA[basicConstraints = CA:true
]]><![CDATA[
]]><![CDATA[# Key usage: this is typical for a CA certificate. However since it will 
]]><![CDATA[# prevent it being used as an test self-signed certificate it is best 
]]><![CDATA[# left out by default. 
]]><![CDATA[# 鍵の使い方： CA 証明書の場合に典型的。しかしながら、
]]><![CDATA[# テスト用自己署名証明書として用いられるのを妨げるだろうから、
]]><![CDATA[# デフォルトで省いておくのがベスト。
]]><![CDATA[# keyUsage = cRLSign, keyCertSign
]]><![CDATA[
]]><![CDATA[# Some might want this also 
]]><![CDATA[# これも必要な場合もある
]]><![CDATA[# nsCertType = sslCA, emailCA
]]><![CDATA[
]]><![CDATA[# Include email address in subject alt name: another PKIX recommendation 
]]><![CDATA[# 本人の別名に email アドレスを含める： PKIX のまた別の推奨
]]><![CDATA[# subjectAltName=email:copy 
]]><![CDATA[# Copy issuer details 
]]><![CDATA[# 発行者の詳細をコピー
]]><![CDATA[# issuerAltName=issuer:copy
]]><![CDATA[
]]><![CDATA[# RAW DER hex encoding of an extension: beware experts only! 
]]><![CDATA[# 拡張の RAW DER 16進エンコーディング：ご用心、エキスパートのみ！
]]><![CDATA[# 1.2.3.5=RAW:02:03 
]]><![CDATA[# You can even override a supported extension: 
]]><![CDATA[# サポートされた拡張に優先させることも可能
]]><![CDATA[# basicConstraints= critical, RAW:30:03:01:01:FF
]]><![CDATA[
]]><![CDATA[# This will be displayed in Netscape's comment listbox. 
]]><![CDATA[# これが Netscape のコメントリストボックスに表示される。
]]><![CDATA[nsComment  = "Certificate issued by https://www.sopac.org/ssl/"
]]><![CDATA[
]]><![CDATA[# This is the base URL for all others URL addresses 
]]><![CDATA[# if not supplied
]]><![CDATA[# 与えられていないなら
]]><![CDATA[# 他の全ての URL アドレスのための使うベース URL.
]]><![CDATA[nsBaseUrl  = https://www.sopac.org/ssl/
]]><![CDATA[
]]><![CDATA[# This is the link where to download the latest Certificate
]]><![CDATA[# Revocation List (CRL)
]]><![CDATA[# 最新の失効証明書リスト（CRL)をダウンロードするための
]]><![CDATA[# 場所のリンク
]]><![CDATA[nsCaRevocationUrl = https://www.sopac.org/ssl/sopac-ca.crl
]]><![CDATA[
]]><![CDATA[# This is the link where to revoke the certificate
]]><![CDATA[# 証明書を破棄（無効化）するための場所のリンク
]]><![CDATA[nsRevocationUrl  = https://www.sopac.org/ssl/revocation.html? 
]]><![CDATA[
]]><![CDATA[# This is the location where the certificate can be renewed
]]><![CDATA[# 証明書を更新するための更新のリンク
]]><![CDATA[nsRenewalUrl  = https://www.sopac.org/ssl/renewal.html? 
]]><![CDATA[
]]><![CDATA[# This is the link where the CA policy can be found
]]><![CDATA[# CA ポリシーがある場所のリンク
]]><![CDATA[nsCaPolicyUrl  = https://www.sopac.org/ssl/policy.html 
]]><![CDATA[
]]><![CDATA[# This is the link where we can get the issuer certificate
]]><![CDATA[# 発行者の証明書がある場所のリンク
]]><![CDATA[issuerAltName = URI:https://www.sopac.org/ssl/sopac.crt
]]><![CDATA[
]]><![CDATA[# This is the link where to get the latest CRL
]]><![CDATA[# 最新の CRL がある場所のリンク
]]><![CDATA[crlDistributionPoints = URI:https://www.sopac.org/ssl/sopac-ca.crl
]]><![CDATA[
]]><![CDATA[[ crl_ext ]
]]><![CDATA[# CRL extensions. 
]]><![CDATA[# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
]]><![CDATA[# CRL 拡張項目。
]]><![CDATA[# issuerAltName と authorityKeyIdentifier 項目だけが CRL の中で意味を持つ
]]><![CDATA[# issuerAltName=issuer:copy 
]]><![CDATA[authorityKeyIdentifier=keyid:always,issuer:always
]]><![CDATA[
]]><![CDATA[
]]><![CDATA[#----End----
]]>
</programlisting>

<para>
<!--
A few comments on openssl.cnf. 
-->
  openssl.cnf について二、三のコメント。
</para>

<itemizedlist>
<listitem>
<para>
<!--
Variable names can use the suffixes _default for default value, _min for the minimum number of characters required and _max for the maximum number of characters required.
-->
  変数名はデフォルトの値には接尾辞として _default を使え、
要求される文字数の最小値には _min が、
最大値には _max が使える。
</para>
</listitem>

<listitem>
<para>
<!--
The file is composed of &lsqb;Sections&rsqb; of variables.
-->
  このファイルは変数の &lsqb;セクション&rsqb; で構成されている。
</para>
</listitem>

</itemizedlist>

<variablelist>

<varlistentry>

<term>dir:</term>
<listitem>
<para>
<!--
Specifies the base directory.
-->
  ベースになるディレクトリを特定する。
</para>
</listitem>

</varlistentry>

<varlistentry>

<term>default_ca:</term>
<listitem>
<para>
<!--
Specifies which section contains the variables for a default certificate.
-->
  どのセクションがデフォルトの証明書についての変数を含むか特定する。
</para>
</listitem>
</varlistentry>

<varlistentry>

<term>basicConstraints:</term>
<listitem>
<para>
<!--
Defines the usage of the certificate, for instance with CA:TRUE, the certificate is a root CA Certificate.
-->
  証明書の使い方を定義する。例えば、CA:TRUE は、
その証明書が root CA 証明書であること。
</para>

</listitem>
</varlistentry>
</variablelist>

</sect2>


<sect2>

<title><!--Create the Certification Authority-->認証局を作る</title>

<para>
<!--
To create a certification authority, use the command after correctly editing openssl.cnf:
-->
  認証局を作るには、正確に openssl.cnf を編集したのち、以下のコマンドを使います：
</para>

<programlisting>
<![CDATA[CA.pl -newca
]]>
</programlisting>

<para>
<!--
The utility will ask you to select a certificate file to act as you CA certificate or you are prompted to create one. Follow the steps to create one as exrecise. In the next chapter we will overwrite this default created CA to create a new one with a longer life span. CA.pl creates only 365 days certificates.
-->
  このユーティリティはあなたの CA 証明書として発効させる証明書ファイルを選ぶか、
または新たに作るように尋ねてきます。
練習のために以下の手順に従って一つ作ってみましょう。
次の章では、このデフォルトで作成された CA を上書きして、
もっと長く使える新しいものを作成します。
CA.pl は 365 日間の証明書だけしか作ってくれません。
</para>

</sect2>

</sect1>


<sect1>
<title><!--Create a Root Certification Authority Certificate.-->ルート認証局証明書を作る</title>

<programlisting>
<![CDATA[CA.pl -newcert 
]]><![CDATA[(openssl req -config /etc/openssl.cnf -new -x509 -keyout newreq.pem \
]]><![CDATA[-out newreq.pem -days 365) 
]]>
</programlisting>

<para>
<!--
creates a self signed certificate (for Certificate Authority). The resulting file goes into newreq.pem. For the common Name (CN) use something like &ldquo;ACME root Certificate&rdquo;. This file needs to be split into 2 files cacert.pem and private/cakey.pem. The part -RSA PRIVATE KEY- goes into private/cakey.pem while the part -CERTIFICATE- goes into cacert.pem. Delete newreq.pem when finished.
-->
  自己署名証明書を作りましょう（認証局のためです）。
結果のファイルは newreq.pem です。
Common Name (CN) には &ldquo;ACME root Certificate&rdquo; 
のようなものを用います。
このファイルは cacert.pem と private/cakey.pem
 の二つのファイルに分割する必要があります。
-RSA PRIVATE KEY- の部分は pribate/cakey.pem の方に入り、
-CERTIFICATE- の部分は cacert.pem の中に入ります。
作業が終わったら、newreq.pem を削除しましょう。
</para>

<para>
<!--
Now ensure that the file index.txt is empty and that the file serial contains 01.
-->
  さて、index.txt ファイルが空であること、
そのファイルシリアルが 01 を含むことを確認しましょう。
</para>

<para>
<!--
You may want to increase the number of days so that your root certificate and all the certificates signed by this root does not have to be changed when the root certificate expires. I think professional companies work over 5 years to 10 years for their root certificates.
-->
  ルート証明書とこのルートによって署名された全ての証明書は
ルート証明書が失効した時に変更しなければなりませんから、
有効期間を延ばしたいと思うかも知れません。
認証を専門にする会社のルート証明書の標準的な有効期間は、
5 年から 10 年くらいだと思います。
</para>

<programlisting>
<![CDATA[openssl req -config /etc/openssl.cnf -new -x509 -keyout private/cakey.pem \
]]><![CDATA[-out cacert.pem -days 3650
]]>
</programlisting>

<para>
<!--
This last command is better than &ldquo;CA.pl -newcert&rdquo; as it will place the files in the required locations and create a root CA valid for 10 years.
-->
  この最後のコマンドはファイルを要求された場所におき、
10 年間有効なルート CA を作成しますから、
 &ldquo;CA.pl -newcert&rdquo; より良いでしょう。
</para>

<para>
<!--
Now ensure that this self signed root certificate is used only to sign other certificates. The private key is highly sensible, never compromise it, by removing the passphrase that protects it. Some people will place the private key on a floppy and will load it only when signing other certificates. If you computer gets hacked they can't physically get hold of the private key, if it is on a floppy.
-->
  この自己署名ルート証明書は、
他の証明書を署名するためだけに用いられることを肝に銘じて下さい。
秘密鍵は極めて注意深く扱わねばなりません。
それを守っているパスフレーズを削除して、
けっしてこれを漏らしてはいけません。
秘密鍵をフロッピーディスクにおいて、
他の証明書に署名するときにのみ、ロードする人もいるでしょう。
このようにフロッピーに保存しておけば、
もしコンピュータがハックされたときにも、
ハッカーが秘密鍵を手に入れることは物理的に不可能になります。
</para>

<para>
<!--
Now you have a root Certification Authority. Other people need to trust your self-signed root CA Certificate, and therefore download it and register it on their browser.
-->
  これで、ルート認証局を持つことができました。
他の人々にはこの自己署名ルート CA 証明書を信用してもらって、
これをダウンロードし、ブラウザに登録してもらう必要があります。
</para>

<para>
<!--
You will have to type the passphrase each time you want to sign another certificate with it.
-->
  この証明書で他の証明書に署名したいときにはその都度、パスフレーズをタイプ
しなければなりません。
</para>

</sect1>


<sect1>
<title><!--Create a non root Certification Authority Certificate.-->非ルート認証局証明書を作る</title>

<para>
<!--
FIXME because I'm not sure about the procedure.
-->
  この手続きについてはまだ確信がないので、間違いがあったら訂正してください。
</para>

<para>
<!--
It is possible to use any signed certificate to sign any other certificate, provided that the certificate is valid and has been issued with the signing capability. So you can create a certificate request and a private key, make the certificate been signed by a third party and install the signed certificate and private key. The part -PRIVATE KEY- goes into private/cakey.pem while the part -CERTIFICATE- goes into cacert.pem. 
-->
  それが有効で、署名能力を与えられて発行されている限り、
勝手な署名入り証明書を使って、他の証明書に署名することは可能です。
ですから、証明書要求と秘密鍵を作り、
第三者によって証明書に署名してもらい、
署名入り証明書と秘密鍵をインストールすることができます。
-PRIVATE KEY- の部分は private/cakey.pem ファイルに入り、
-CERTIFICATE- の部分は cacert.pem に入ります。
</para>

</sect1>

<sect1>
<title><!--Install the CA root certificate as a Trusted Root Certificate-->信用が与えられたルート証明書として CA ルート証明書をインストールする</title>

<para>
<!--
First strip the certificate from all its text to keep only the -CERTIFICATE- section
-->
  まず、-CERTIFICATE- セクションだけを保存するために
そのテキストから証明書を分離します。
</para>

<programlisting>
<![CDATA[openssl x509 -in cacert.pem -out cacert.crt
]]>
</programlisting>

<para>
<!--
Place this file on your web site as http://mysite.com/ssl/cacert.crt. Your web server should have a mime entry for .crt files. Your certificate is ready to be downloaded by any browser and saved.
-->
  このファイルを http://mysite.com/ssl/cacert.crt のようなあなたの web サイト
上においてください。
その web サーバは .crt ファイルを mime 形式で受付けるよう設定されて
いなければいけません。
これで証明書はブラウザからダウンロードされ、保存されるよう準備されました。
</para>

<para>
<!--
It is important to publish the root CA Certificate on a web site as it is unlikely that people will have it already loaded on their browser. Beware, somebody could fake your web site and fake your root CA Certificate. If you can have more than one way for users to get your certificate, it is unlikely that a hacker will be able to corrupt everything.
-->
  人々が既にブラウザに証明書をダウンロードしているのはありそうにないことですから、
web サイト上にこのルート CA 証明書を公開することは重要です。
誰かがこの web サイトに成り代わって、
このルート CA 証明書をすりかえる可能性があることに注意してください。
証明書を手に入れるための方法をユーザのために複数用意しておけば、
ハッカーが全てを駄目にしてしまうことはまずないでしょう。
</para>

<para>
<!--
Microsoft proposes a windows update feature that will push approved root certificate to internet explorers out there. You can contact Microsoft to have your root certificate added in their database and maybe in their future releases.
-->
  Microsoft は証明されたルート証明書をユーザの internet explorer に送り出す
windows アップデート機能を提唱しています。
Microsoft に自分のルート証明書を彼らのデータベースに付け加えてくれるように
コンタクトを取ることができます。
そして、Microsoft の将来のリリースに入れてくれるかもしれません。
</para>


<sect2>
<title><!--In Netscape/Mozilla-->Netscape/Mozilla では</title>

<para>
<!--
Download the certificate from the web server or from the file system using Netscape. Netscape automatically recognises that it is a root certificate and will propose you to add it in its store. Follow the wizard to install the certifcate. At the end of the wizard you have to specify for which type of application you trust this certifcate: web site security, e-mail signing, or code signing.
-->
  Netscape を用いて、web サーバかファイルシステムから
証明書をダウンロードしてください。
Netscape は、それがルート証明書であることを自動的に認識し、
それを保存するように促すでしょう。
ウィザードに従って証明書をインストールしてください。
ウィザードの最後に、この証明書を信用するアプリケーションのタイプはどれか
特定しなければなりません：
web サイトセキュリティ、e-mail 署名、コード署名などです。
</para>

</sect2>

<sect2>
<title><!--In Galeon-->Galeon では</title>

<para>
<!--
Galeon works like Mozilla as it uses the same HTML rendering engine. However there is no Certificate management tool included in Galeon.
-->
  Galeon は Mozilla と同じ HTML レンダリングエンジンを用いているので、
Mozilla と似た動作をします。
しかし、Galeon には証明書を扱うツールは含まれていません。
</para>

</sect2>

<sect2>
<title><!--In Opera-->Opera では</title>

<para>
<!--FIXME-->準備中。
</para>

</sect2>

<sect2>
<title><!--In Internet Explorer -->Internet Explorer では</title>

<para>
<!--
With your browser, point to the address of the certificate and save the file on your disk. Double click on the file and the Certificate Installation wizard will start. Because the certificate is self signed, Internet explorer will automatically install it in the Trusted root Certificate Authority list. From now on, Internet Explorer won't complain and any Certificate signed with this root CA Certificate will be trusted too.
-->
  ブラウザで証明書のアドレスをクリックして、ディスクにファイルを保存してください。
ファイルをダブルクリックすると証明書インストールウィザードが立ち上がります。
この証明書は自己署名されていますから、Internet Explorer は信用された
ルート認証局として自動的にインストールします。
以降は、Internet Explorer は文句を言わず、
ルート CA 証明書によって署名された証明書も同様に信用するでしょう。
</para>

<para>
<!--
You can also open it from Internet explorer which will display the certificate. Click on the button Install Certificate to launch the Certificate Installation wizard.
-->
  Internet Explorer から証明書を表示させることもできます。
インストール証明書のボタンをクリックすると、
証明書インストールウィザードが立ち上がります。
</para>

</sect2>

</sect1>

<sect1>
<title><!--Certificate management-->証明書の運用</title>

<sect2>
<title><!--Generate and Sign a certificate request -->証明書要求の生成と署名</title>

<programlisting>
<![CDATA[CA.pl -newreq 
]]><![CDATA[(openssl req -config /etc/openssl.cnf -new -keyout newreq.pem -out newreq.pem \
]]><![CDATA[-days 365) 
]]>
</programlisting>

<para>
<!--
creates a new private key and a certificate request and place it as newreq.pem. Enter a Common Name (CN) the main usage of the certificate for instance www.sopac.org if you want to secure the website www.sopac.org, or enter franck@sopac.org if you want to use to secure the e-mails of franck@sopac.org.
-->
  新しい秘密鍵と証明書要求を生成して、newreq.pem として保存します。
Common Name (CN) に証明書の主な使用法を入力します。
例えば、セキュアな web サイト www.sopac.org を持ちたい場合は、
www.sopac.org と入力、
セキュアな e-mail として franck@sopac.org を持ちたい場合は、
franck@sopac.org などです。
</para>

<programlisting>
<![CDATA[CA.pl -sign 
]]><![CDATA[(openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem \
]]><![CDATA[-infiles newreq.pem) 
]]>
</programlisting>

<para>
<!--
will sign the request using the cacert.pem and commit the certificate as newcert.pem. You will need to enter the passphrase of the cacert.pem (your CA Certificate). The file newcerts/xx.pem will be created and index.txt and serial will be updated.
-->
  この cacert.pem を用いて要求に署名をし、
newcert.pem として証明書をコミットすることになります。
この cacert.pem （あなたの CA 証明書）のパスフレーズを入力する必要があります。
newcerts/xx.pem ファイルが作られ、
index.txt と serial がアップデートされます。
</para>

<para>
<!--
You private key is in newreq.pem -PRIVATE KEY- and your certificate is in newcert.pem -CERTIFICATE-
-->
  あなたの秘密鍵は newreq.pem の中の -PRIVATE KEY- に、
証明書は nercert.pem の -CERTIFICATE- に入ります。
</para>

<para>
<!--
A copy of newcert.pem is placed in newcerts/ with an adequate entry in index.txt so that a client can request this information via a web server to ensure the authenticity of the certificate.
-->
  newcert.pem のコピーが index.txt の中の適切なエントリーが作られるとともに
newcerts/ 以下に置かれ、
クライアントは証明書の真正性を確認するために web サーバを通じて
この情報を要求することができるようになります。
</para>

<para>
<!--
Beware of your newreq.pem file, because it contains a certificate request, but also your private key. The -PRIVATE KEY- section is not required when you sign it. So if you request someone else to sign your certificate request, ensure that you have removed the -PRIVATE KEY- section from the file. If you sign someone else certificate request, request from this person its -CERTIFICATE REQUEST- section not its private key.
-->
  newreq.pem ファイルは証明書要求を含んでいますが、
秘密鍵も含んでいますので、取り扱いに注意してください。
-PRIVATE KEY- セクションは署名をするときには不要です。
ですから、誰か他の人にあなたの証明書要求に署名してもらうのなら、
ファイルから -PRIVATE KEY- セクションを取り除いてあることを確認してください。
あなたが誰かの証明書要求に署名するときには、
この人にその秘密鍵ではなく -CERTIFICATE REQUEST- セクションを要求してください。
</para>

</sect2>

<sect2>

<title><!--Revoke a certificate-->証明書の破棄（無効化）</title>

<para>
<!--
To revoke a certificate simply issue the command:
-->
  証明書を破棄（無効化）するには単純に以下のようなコマンドを命令します：
</para>

<programlisting>
<![CDATA[openssl -revoke newcert.pem
]]>
</programlisting>

<para>
<!--
The database is updated and the certificate is marked as revoked. You now need to generate the new revoked list of certificates:
-->
  データベースがアップデートされ、その証明書は失効した(revoked)と印しがつけられます。
ここで、新たな失効証明書リストを生成する必要があります。
</para>

<programlisting>
<![CDATA[openssl ca -gencrl -config /etc/openssl.cnf -out crl/sopac-ca.crl
]]>
</programlisting>

<para>
<!--
This Certificate Revokation List (CRL) file should be made available on your web site.
-->
  この失効証明書リスト(Certificate Revokation List, CRL) ファイルは
あなたの web サイトから取得できるようにしなければなりません。
</para>

<para>
<!--
You may want to add the parameters crldays or crlhours and crlexts when you revoke a certificate. The first two parameters indicate when the next CRL will be updated and the last one will use the crl_exts section in openssl.cnf to produce a CRL v2 instead of a CRL v1.
-->
  証明書を破棄する時に、crldays, crlhours, crlexts のパラメータを
付け加える必要があるかもしれません。
最初の二つのパラメータはいつ次の CRL がアップデートされるかを示し、
最後のものは CRL v1 の代わりに CRL v2 を生成するために、
openssl.cnf で crl_exts セクションを用いることを示しています。
</para>

<programlisting>
<![CDATA[openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext \
]]><![CDATA[-out crl/sopac-ca.crl
]]>
</programlisting>

</sect2>

<sect2>
<title><!--Renew a certificate-->証明書の更新</title>

<para>
<!--
The user sends you its old certificate request or create a new one based on its private key.
-->
  ユーザはあなたにその古い証明書要求を送り、
その秘密鍵に基づいて新しいものを作成します。
</para>

<para>
<!--
First you have to revoke the previous certificate and sign again the certificate request. 
-->
  まずあなたは、以前の証明書を破棄（無効化）し、再び証明書要求に署名しなければなりません。
</para>

<para>
<!--
To find the old certificate, look in the index.txt file for the Distinguished Name (DN) corresponding to the request. Get the serial Number &lt;xx&gt;, and use the file cert/&lt;xx&gt;.pem as certificate for the revocation procedure.
-->
  古い証明書を見つけるには、要求に対応したその識別名 (Distinguished Name, DN)
を index.txt ファイルの中で探します。
シリアル番号 &lt;xx&gt; を得て、破棄手続きのための証明書として
cert/&lt;xx&gt;.pem ファイルを用いてください。
</para>

<para>
<!--
You may want to sign the request manually because you have to ensure that the start date and end date of validity of the new certificate are correct.
-->
  新しい証明書の有効期間の開始日と終了日を正しく設定する必要がありますから、
以下のように手動で証明書に署名しましょう。
</para>

<programlisting>
<![CDATA[openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem \
]]><![CDATA[-infiles newreq.pem -startdate [now] -enddate [previous enddate+365days]
]]>
</programlisting>

<para>
<!--
replace &lsqb;now&rsqb; and &lsqb;previous enddate+365days&rsqb; by the correct values.
-->
  &lsqb;now&rsqb; と &lsqb;previous enddate+365days&rsqb; を
正しい値で置き換えてください。
</para>

</sect2>


<sect2>
<title><!--Display a certificate-->証明書の表示</title>

<para>
<!--
You may have a certificate in its coded form, to read the details of the certificate just issue the following command:
-->
  コード化された形式で証明書を保存しているかも知れませんが、
その場合、証明書の詳細を実際に読むには以下のコマンドを使います：
</para>

<programlisting>
<![CDATA[openssl x509 -in newcert.pem -noout -text
]]>
</programlisting>

</sect2>

<sect2>
<title><!--The index.txt file-->index.txt ファイル</title>

<para>
<!--
In the index.txt file you can find the various certificate managed by OpenSSL. The entries are maked with R for Revoked, V for Valid and E for expired.
-->
  index.txt の中には OpenSSL によって運用される様々な証明書があります。
各エントリは破棄されたもの(Revoked)には R,
有効なもの(Valid)には V, 期限切れのもの(expired)には E と印しがつけられています。
</para>

</sect2>

<sect2>
<title><!--Build your web based Certificate Authority-->web ベースの認証局を立ち上げる</title>

<para>
<!--
There are a few requirements when you are a Certificate Authority (CA):
-->
  あなたが認証局(CA)であるためには以下のような若干の要件があります：
</para>

<orderedlist>
<listitem>
<para>
<!--
You must publish your root CA Certificate, so that it can be widely installed in applications.
-->
  ルート CA 証明書が公開されており、
アプリケーションに広くインストール可能であること。
</para>
</listitem>

<listitem>
<para>
<!--
You must publish the revocation list.
-->
  失効証明書リストが公開されていること。
</para>
</listitem>

<listitem>
<para>
<!--
You must display a certificate detail, provided its serial number
-->
  証明書の詳細、そのシリアル番号を表示すること。
</para>

</listitem>
<listitem>
<para>
<!--
You must provide a form for users to submit certificate requests.
-->
  ユーザが証明書要求を申し込むためのフォームが用意されていること。
</para>

</listitem>
</orderedlist>

<para>
<!--
All these requirements can be done using a web server and some scripting.
-->
  これらの要件は全部 web サーバとスクリプトを用いてできます。
</para>

<para>
<!--
FIXME: some code here for the web interface...
-->
準備中：ここに web インターフェース用のコードを入れる。
</para>

</sect2>

</sect1>

</chapter>

<chapter>
<title><!--Using Certificates in Applications-->アプリケーションで証明書を使う</title>

<sect1>
<title><!--Securing Internet Protocols.-->セキュアなインターネットプロトコル</title>

<sect2>
<title><!--Using a certificate with mod_ssl in apache-->apache の mod_ssl で証明書を使う</title>

<para>
<!--
First never use your self-signed root CA Certificate with any application and especially with apache as it requires you to remove the passphrase on your private key.
-->
  まず第一に、どのアプリケーションでもあなたの自己署名ルート CA 証明書を
絶対に使わないこと。特に apache では、あなたの秘密鍵のパスフレーズを
削除するように要求されるからです。
</para>

<para>
<!--
First generate and sign a certificate request with the Common Name (CN) as www.mysite.com. Remove any extra information to keep only the &#045;&#045;&#045;CERTIFCATE &#045;&#045;&#045; part.
-->
  まず、www.mysite.com のような通常名(Common Name, CN)で証明書要求を
作成し書名します。
---CERTIFICATE--- の部分だけを保存して余計な情報は削除してください。
</para>

<para>
<!--
The key needs to be made insecure, so no password is required when reading the private key. Take the newreq.pem files that contains your private key and remove the passphrase from it. 
-->
  秘密鍵を読むときには何のパスワードも要求されませんから、
鍵を非セキュア（安全でない状態）にする必要があります。
あなたの秘密鍵を含む newreq.pem ファイルを取り出し、
そこからパスフレーズを削除してください。
</para>

<programlisting>
<![CDATA[openssl rsa -in newreq.pem -out wwwkeyunsecure.pem
]]>
</programlisting>

<para>
<!--
Because the key (PRIVATE Key) is insecure, you must know what you are doing: check file permissions, etc... If someone gets its hand on it, your site is compromised (you have been warned). Now you can use the newcert and cakeyunsecure.pem for apache.
-->
  その鍵（PRIVATE Key)は安全でないですから、
あなたは自分が何をしているのかちゃんと分かっている必要があります：
ファイルの許可情報をチェックするとか…
もし誰かがそれを手に入れたら、あなたのサイトの信用が損なわれることになります
（既に警告しましたよ）。
これで、apache 用に newcert と cakeyunsecure.pme が使えるようになりました。

</para>

<para>
<!--
Copy wwwkeyunsecure.pem and newcert.pem in the directory /etc/httpd/conf/ssl/ as wwwkeyunsecure.pem and wwwcert.crt respectively.
-->
  /etc/httpd/conf/ssl/ ディレクトリの wwwkeyunsecure.pem と newcert.pem
をそれぞれ wwwkeyunsecure.pem と wwwcert.crt としてコピーしてください。
</para>

<para>
<!--
Edit /etc/httpd/conf/ssl/ssl.default-vhost.conf.
-->
  /etc/httpd/conf/ssl/ssl.default-vhost.conf を編集します。
</para>

<programlisting>
<![CDATA[---- 
]]><![CDATA[# Server Certificate: 
]]><![CDATA[# サーバの証明書：
]]><![CDATA[# Point SSLCertificateFile at a PEM encoded certificate. If 
]]><![CDATA[# the certificate is encrypted, then you will be prompted for a 
]]><![CDATA[# pass phrase. Note that a kill -HUP will prompt again. A test 
]]><![CDATA[# certificate can be generated with `make certificate' under 
]]><![CDATA[# built time. 
]]><![CDATA[# PEM エンコードされた証明書で SSLCertificateFile を示す。
]]><![CDATA[# もし証明書が暗号化されていれば、パスフレーズを要求されます。
]]><![CDATA[# kill -HUP は再び入力を促すことに注意。ビルド時に、
]]><![CDATA[# 'make certificate' としてテスト証明書を生成可能です。
]]><![CDATA[#SSLCertificateFile conf/ssl/ca.crt 
]]><![CDATA[SSLCertificateFile wwwcert.crt
]]><![CDATA[# Server Private Key: 
]]><![CDATA[# サーバの秘密鍵：
]]><![CDATA[# If the key is not combined with the certificate, use this 
]]><![CDATA[# directive to point at the key file. 
]]><![CDATA[# もしこの鍵が証明書と一緒になっていなければ、この指示で
]]><![CDATA[# 鍵ファイルを示す。
]]><![CDATA[#SSLCertificateKeyFile conf/ssl/ca.key.unsecure 
]]><![CDATA[SSLCertificateKeyFile wwwkeyunsecure.pem 
]]><![CDATA[----
]]>
</programlisting>

<para>
<!--
Stop and start httpd (/etc/rc.d/init.d/httpd stop) ensure that all processes are dead (killall httpd) and start httpd (/etc/rc.d/init.d/httpd start)
-->
  httpd を停止して再スタートし(/etc/rc.d/init.d/httpd stop)、
全てのプロセスが死に(killall httpd)、httpd が開始されたこと
(/etc/rc.d/init.d/httpd start)を確認してください。
</para>

</sect2>

<sect2>
<title><!--Using a certificate with IMAPS-->IMAPS で証明書を使う</title>

<para>
<!--
Read the paragraph on &ldquo;Using a certificate with POPS&rdquo;, for more information.
-->
  &ldquo;Using a certificate with POPS&rdquo; の該当パラグラフを読んでください。
</para>

</sect2>

<sect2>
<title><!--Using a certificate with POPS-->POPS で証明書を使う</title>

<para>
<!--
A pem file for ipop3sd can be created by generating a certificate, unsecuring the private key and combining the two into /etc/ssl/imap/ipop3sd.pem. This is the location where the imap rpm on Mandrake 9.0 expects to find the file. A similar procedure can be used for imap and putting the file in /etc/ssl/imap/imapsd.pem.
-->
  ipop3sd の pem ファイルは証明書を生成し、秘密鍵を非セキュアにして、
この二つを合わせて /etc/ssl/imap/ipop3sd.pem を作ることで作成することができます。
これは Mandrake 9.0 の imap rpm がそのファイルを探す場所です。
同様の手続きを imap についても用いることができ、
その場合はファイルを /etc/ssl/imap/imapsd.pem とします。
</para>

<para>
<!--
The CN should be the name that the mail client connects to (e.g mail.xyz.org). In MS-Outlook, on the server tab, enter for the incoming mail server mail.xyz.org and on the Advanced tab check the &ldquo;This server requires a secure connection (SSL)&rdquo;, this will change the connection port to 995 (imaps). The trusted root CA must be installed in MS Internet Explorer to validate the certificate from mail.xyz.org.
-->
  CN はメイルクライアントが接続する名前（例えば、mail.xyz.org）で
なくてはなりません。MS-Outlook は、サーバタブ上では、
受信メイルサーバ mail.xyz.org へ入り、
アドバンスドタブ上では、
&ldquo;このサーバが安全な接続(SSL)を要求していること&rdquo;をチェックして、
接続を 995 番ポート(imaps)に変更します。
mail.xyz.org からのその証明書を有効にするために、
信用されたルート CA が MS Internet Explorer の中に
インストールされていなければなりません。
</para>

</sect2>

<sect2>
<title><!--Using a certificate with Postfix-->Postfix で証明書を使う</title>

<para><!--FIXME-->準備中</para>

</sect2>

<sect2>
<title><!--Using a certificate with Stunnel-->Stunnel で証明書を使う</title>

<para><!--FIXME-->準備中</para>

</sect2>


<sect2>
<title><!--Generate and Sign a key with Microsoft Key Manager-->Microsoft Key Manager で鍵を生成し署名する </title>

<para>
<!--
In Microsoft Key Manager, select the service you want to create a key for, for instance IMAP (or WWW). Use the wizard to generate a new key. Ensure that the distinguished name won't be identical to previous generated keys, for Instance for the Common Name (CN) use imap.mycompany.com. The wizard will place the request in the file C:&bsol;NewKeyRq.txt. Key Manager shows a Key with a strike to indicate the key is not signed.
-->
  Microsoft Key Manager では、あなたが鍵を作りたいサーヴィス
（例えば IMAP とか WWW など）を選びます。
新しい鍵を生成するにはウィザードを使います。
識別名が以前に生成されている鍵と同じにならないよう注意してください。
例えば、通常名には(Common Name, CN) imap.mycompany.com などを使います。
ウィザードは C:&bsol;NewKeyRq.txt ファイルに要求書をおきます。
Key Manager は鍵を表示して、その鍵が署名されていないことを示して拒絶します。
</para>

<para>
<!--
Import this file in the OpenSSL /var/ssl directory, rename it to newreq.pem and sign the request as usual. 
-->
  このファイルを OpenSSL の /var/ssl ディレクトリに移し、
newreq.pem に名前を変更し、例によって要求に署名します。
</para>

<programlisting>
<![CDATA[CA.pl -sign
]]>
</programlisting>

<para>
<!--
The file newcert.pem is not yet suitable for key manager as it contains some text and the -CERTIFICATE- section. We have to remove the text, the easy way is to do: 
-->
  newcert.pem ファイルはテキストと -CERTIFICATE- セクションを含んでいますから、
Key Manager にとってはまだ適切な形式ではありません。
このテキスト部分を削除しなければなりませんが、以下がその簡単な方法です：
</para>

<programlisting>
<![CDATA[openssl x509 -in newcert.pem -out newcertx509.pem
]]>
</programlisting>

<para>
<!--
Using a text editor is also suitable to delete everything outside the -CERTIFICATE- section.
-->
  テキストエディタを用いて -CERTIFICATE- セクション以外の部分を削除してしまうのも
また適切な手段です。
</para>

<para>
<!--
The newcertx509.pem file now contains only the -CERTIFICATE- section.
-->
  これで newcertx509.pem ファイルは -CERTIFICATE- セクションだけを
含むことになりました。
</para>

<para>
<!--
Export the file newcertx509.pem to the Computer running key Manager and while selecting the key icon in the Key Manager application, right click and click on Install the Key Certificate, select this file, enter the passphrase. The key is now fully functional.
-->
  newcertx509.pem ファイルを Key Manager が走っているコンピュータに転送し、
Key Manager アプリケーションで鍵のアイコンを選んで、
右クリックし、その鍵の証明書の Install をクリックして、
このファイルを選び、パスフレーズを入力します。
これで鍵は完全に機能を発揮するようになりました。
</para>

</sect2>

</sect1>

<sect1>
<title><!--Securing E-mails.-->メイルをセキュアに</title>

<sect2>
<title><!--Generate and use an s/mime certificate -->s/mime 証明書の生成と使用</title>

<para>
<!--
Simply generate and sign a certificate request but with the Common Name (CN) being your e-mail address.
-->
  単に証明書要求を生成して署名するだけですが、
通常名 (Common Name, CN) をあなたのメイルアドレスにしてください。
</para>

<para>
<!--
Now sign your message test.txt (output test.msg) using your certificate newcert.pem and your key newreq.pem: 
-->
  さて、以下のように、あなたのメッセージ test.txt （出力は test.msg）に、
あなたの証明書 newcert.pem と鍵 newreq.pem を用いて書名してください：
</para>

<programlisting>
<![CDATA[openssl smime -sign -in test.txt -text -out test.msg -signer newcert.pem -inkey newreq.pem
]]>
</programlisting>

<para>
<!--
You can now transmit test.msg to anybody, you can use this procedure to make signed advisories, or other signed documents to be published digitally.
-->
  これで test.msg を誰かに送れます。
この方法を使って、署名入りの報告書や、
その他の署名入り文書を電子的に公開することができます。
</para>

</sect2>


<sect2>
<title><!--To use this certificate with MS Outlook -->この証明書を MS Outlook で使うには</title>

<para>
<!--
You need to import it in Outlook as a pkcs12 file. To generate the pkcs12 file from your newcert.pem and newreq.pem:
-->
  これを pkcs12 ファイルとして Outlook に読み込む必要があります。
あなたの newcert.pem と newreq.pem から pkcs12 ファイルを生成するには：
</para>

<programlisting>
<![CDATA[CA.pl -pkcs12 "Franck Martin"
]]><![CDATA[(openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out newcert.p12 \
]]><![CDATA[-name "Franck Martin")
]]>
</programlisting>

<para>
<!--
or use this command to bundle the signing certificate with your pkcs12 file
-->
  のようにするか、または pkecs12 ファイルと一緒に署名入り証明書も含めるために
次のコマンドを使います：
</para>

<programlisting>
<![CDATA[openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -certfile cacert.pem \
]]><![CDATA[-out newcert.p12 -name "Franck Martin"
]]>
</programlisting>

<para>
<!--
Beware this certificate contains your public and private key and is only secured by the passphrase. This is a file not to let into everybody's hand.
-->
  この証明書はあなたの公開鍵と秘密鍵を含んでいること、
それらはパスフレーズによって保護されているだけであることに注意してください。
これはみんなの手に渡してはいけないファイルです。
</para>

<para>
<!--
In MS Outlook go to Tools, Options and Security, Click on the import/export button select to import the newcert.p12 file, enter the export password and the Digital ID &quot;Franck Martin&quot; (That's my name so use your name in the above examples). And Click on Ok.
-->
  MS Outlook でツールの、オプションとセキュリティのところに行き、
newcert.p12 ファイルを読み込ませるために import/export ボタン選択を選び、
エクスポート用のパスワードとデジタル ID &quot;Franck Martin&quot;
を入力します（これは私の名前なので上の例では自分の名前を使ってください）。
そして OK をクリックします。
</para>

<para>
<!--
Now click on the Settings button, MS Outlook should have selected the default setting so just click on New. And finally click on Ok, except if you want to change the default settings. You are ready to send signed e-mails. When you send a signed e-mail the user at the other end will receive your public key, and will therefore be able to send you encrypted e-mails.
-->
  ここでセッティングのボタンをクリックします。
MS Outlook はデフォルトのセッティングを選択したはずですから
新規をクリックするだけです。
デフォルトのセッティングを変更したいのでなければ、
最後に OK をクリックします。
これで署名入りの e-mail を送る用意が整いました。
あなたが署名入りの e-mail を送ると、
宛先のユーザはあなたの公開鍵を受け取るでしょうから、
あなた宛に暗号化した e-mail を送ることが可能になります。
</para>

<para>
<!--
As you have issued this certificate from a self-signed certificate (root CA Certificate), the trust path won't be valid because the application does not know the root CA Certificate. The root CA certificate has to be downloaded and installed. Refer to the chapter &quot;Install the CA root certificate as a Trusted Root Certificate in Internet Explorer&quot;.
-->
  あなたのこの証明書は自己署名証明書（ルート CA 証明書）から発行されたものですから、
信用の径路は有効ではありません。
なぜなら、アプリケーションはそのルート CA 証明書を知らないからです。
このルート CA 証明書がダウンロードされてインストールされていなければなりません。
&quot;Internet Explorer で信用されたルート証明書として CA ルート証明書をインストールする&quot; の章を参照してください。
</para>

<para>
<!--
You can send your message as encrypted signed messages or clear text message. The encryption is not really an encryption as the message contains everything needed to decrypt the message, but it ensures that the recipient won't read the message if he does not have an s/mime compliant reader.
-->
  あなたはメッセージを、
暗号化された署名入りメッセージまたは、平文のテキストメッセージとして送ることができます。
この暗号化は、
そのメッセージ自身が復号に必要な全ての情報を含んでいるという意味で、
実際の暗号化ではありません。
しかし、メッセージの受信者が s/mime を解釈できない場合には、
そのメッセージが読めないという確証が得られます。
</para>

<para>
<!--
Note that early version of MS-Outlook XP will search the Internet to verify the validy of the certificate. It can take several seconds before the e-mail is displayed and several minutes for MS-Outlook XP to timeout when you don't have a full time or on-demand Internet connection. The bug is that this process is exclusive, the whole machine freezes till MS-Outlook XP has finished somehow.
-->
  MS-Outlook XP の初期のバージョンでは証明書の有効性を確証するために
インターネットを検索することに注意してください。
これによって e-mail が表示されるまでに何秒かかかり、
常時かオンデマンドなインターネット接続していないと
MS-Outlook XP がタイムアウトするまでに数分がかかることになります。
問題点はこのプロセスが排他的であることで、
マシン全体が MS-Outolook XP が作業を終えるまでフリーズしてしまいます。
</para>

</sect2>


<sect2>
<title><!--To use this certificate with MS Outlook Express-->MS Outlook Express で証明書を使うには</title>

<para><!--FIXME-->準備中</para>

</sect2>


<sect2>
<title><!--To use this certificate with Netscape Messenger-->Netscape Messenger で証明書を使うには</title>

<para><!--FIXME-->準備中</para>

</sect2>

<sect2>
<title><!--To use this certificate with Evolution-->Evolution で証明書を使うには</title>

<para>
<!--
Evolution 1.0 does not work with S/MIME, but only with PGP. It is planned that Evolution will handle S/MIME in a future release (from the evolution bug database). However in some instances Evolution recognises that the document is clear text signed and displays it correctly, even though it can't check the signature (early versions of Evolution does not understand one of the 3 MIME signature types, unfortunately the one MS-Outlook uses quite often).
-->
  Evolution 1.0 では S/MIME を使えませんが、PGP だけは使えます。
Evolution の将来のリリースでは S/MIME を扱えるようになることが
計画されています（Evolution バグデータベースより）。
しかし、ある場合には Evolution は、
署名をチェックすることが出来ないにも関わらず、
そのドキュメントが署名された平文のテキストであることを認識して、
正しくそれを表示します
（Evolution の初期のバージョンでは 3 つのMIME 署名型の一つを解釈しませんでしたが、
不幸にもそれは MS-Outlook が頻繁に用いるものでした。）
</para>

</sect2>

<sect2>
<title><!--To use this certificate with Balsa-->Balsa で証明書を使うには</title>

<para><!--FIXME-->準備中</para>

</sect2>

<sect2>
<title><!--To use this certifcate with KMail-->KMail で証明書を使うには</title>

<para><!--FIXME-->準備中</para>

</sect2>

</sect1>

<sect1>
<title><!--Securing Files-->ファイルシステムをセキュアに</title>

<sect2>
<title>WinCrypt</title>

<para>
<!--
<ulink url="http://www.wincrypt.de/">WinCrypt</ulink> uses the Microsoft crypto API to encrypt and /or sign files. It will optionnaly create a zip archive of the selected files/folders before signing. It provides a front end to the certificate store, allowing the user to browse the installed certificate store, install and delete certificates and choose the certificate to use for WinCrypt signing.
-->
<ulink url="http://www.wincrypt.de/">WinCrypt</ulink> は
Microsoft crypto API を使ってファイルの暗号化と署名を行います。
また、オプションとして、署名する前に選んだファイルまたはフォルダの
zip アーカイブを作成します。
これは証明書の保存のフロントエンドを提供し、これによって、
ユーザはインストールされた証明書庫(Certificate Store)をブラウズし、
証明書をインストールしたり削除したり、
WinCrypt 署名に用いる証明書を選んだりすることができます。
</para>

<para>
<!--
The procedure for creating a certificate is the same as for Microsoft Outlook. Indeed it uses the same certificate store, you can point WinCrypt to a certificate previously installed for Outlook and vice-versa.
-->
  証明書を作成する手続きは Microsoft Outlook と同様です。
実際、同じ証明書庫を用いていて、既にインストールされた証明書を
Outlook 用に支持することも、その逆も可能です。
</para>

<para>
<!--
It is possible to verify a WinCrypt signed file filename.sgn using:
-->
  Wincrypt 署名ファイル filename.sgn は以下のように署名を検証できます：
</para>

<programlisting>
<![CDATA[openssl smime -verify -inform der -in filename.sgn -CAfile cacert.crt
]]>
</programlisting>

<para>
<!--
To sign a file with openSSL in a compatible format use:
-->
  コンパチブルなフォーマットを用いて、OpenSSL でファイルに署名するには：
</para>

<programlisting>
<![CDATA[openssl smime -sign -outform der -nodetach -out filename.sgn \
]]><![CDATA[-signer certificate.pem -in filename.txt
]]>
</programlisting>

<para>
<!--
To view the structure of a signed file:
-->
  署名されたファイルの構造を見るには：
</para>

<programlisting>
<![CDATA[openssl asn1parse -inform der -in filename.sgn
]]>
</programlisting>

</sect2>

</sect1>

<sect1>
<title><!--Securing Code-->コード（プログラム）をセキュアに</title>

<sect2><title>Micosoft Code</title>

<para>
<!--
You can sign your programs and applet to certify that you are the author of such code. It is important for your customes to trust that nobody has tried to insert a virus or a backdoor inside your code. To authenticate your code you need Microsoft Authenticode SDK. You can get it from the Microsoft web site in the MSDN section.
-->
  プログラムやアプレットに署名して、
そのコードの作成者であることを証明することも可能です。
そのプログラムを使う人々にとっても、
誰もそのコードの中にウィルスやバックドアを挿入していない、
と信用できるのは大事なことです。
コードに信用を与えるには、
Microsoft Authenticode SDK が必要です。
これは Microsoft のサイトの MSDN セクションから手に入れることができます。
</para>

<para>
<!--
Gernerate a certificate as usual but with a Common Name (CN) like &ldquo;ACME Software Cert&rdquo;. Have the certificate signed by the CA and convert it to a pkcs12 format.
-->
  上と同様に証明書を作成しますが、通常名(Common Name, CN)は
&ldquo;ACME Software Cert&rdquo; のようなものにします。
CA によって署名された証明書を手に入れて、それを pkcs12 フォーマットに
変換してください。
</para>

<programlisting>
<![CDATA[CA.pl -newreq
]]><![CDATA[CA.pl -sign
]]><![CDATA[CA.pl -pkcs12 "ACME Software Cert"
]]>
</programlisting>

<para>
<!--
You get a file called newcert.p12 that you import in the Certificate store by clicking on the file when in Windows.
-->
  newcert.p12 と名づけられたファイルができます。Windows の中で、
このファイルをクリックして証明書庫(Certificate Store)の中に移します。
</para>

<para>
<!--
You can now use this certificate for signing your code
-->
  これでプログラムに署名するためのこの証明書が使えるようになりました；
</para>

<programlisting>
<![CDATA[signcode -cn "ACME Software cert" -tr 5 -tw 2 -n "My Application" \
]]><![CDATA[-i http://www.acme.com/myapp/ \
]]><![CDATA[-t http://timestamp.verisign.com/scripts/timstamp.dll myapp.exe
]]>
</programlisting>

<para>
<!--
When you try to install and run your application a dialog will appears with the title &ldquo;My Application&rdquo; and with a link pointed by the -i argument.
-->
  このアプリケーションをインストールするかまたは走らせようとするときは、
&ldquo;My Application&rdquo; と言うタイトルと、
上で -i オプションで与えたリンクの場所が書かれたダイアログが現れます。

</para>

</sect2>

</sect1>

<sect1>
<title>IPSec</title>

<para>
<!--
IPSec is a new protocol that sits on top of IP that provides ad-hoc encrypted links between 2 hosts on the Internet. The IPSec implementation is mandatory for IPv6 and can be added to IPv4. If IPSec is part of IPv6, it does not mean that it is deployed by network managers. IPSec is not simple to implement due to the difficulty of having mechanisms to exchange keys automatically between machines. DNS can help, but it is not mainstream, and well known Certificate Authorities do not yet deliver adequate certification facilities for a wide deployement in the enterprise.
-->
  IPSec は IP の最上位層のプロトコルで、
インターネット上の二つのホストの間にアドホックな暗号化接続を提供するものです。
IPSec の実装は IPv6 では必須で、IPv4 には付け加えることが可能です。
IPSec が IPv6 の一部であると言っても、
ネットワーク管理者から簡単に使えるものだということは意味しません。
IPSec は、マシンの間で自動的に鍵を交換する仕組みを持つ難しさのために、
実装するのが簡単ではありません。
DNS が助けになりますが、これは主流ではありませんし、
よく知られた認証機関は企業での幅広い配備に対して、
適切な証明書の仕組みを未だ配布していません。
</para>

<sect2>
<title>FreeS/WAN</title>

<para>
<!--
<ulink url="http://www.freswan.org/">FreeS/WAN</ulink> is a popular implementation of IPSec for GNU/Linux. At its current version (1.9.7) it needs to be patched to incorporate X.509 capability. You can find a patched version on <ulink url="http://www.freeswan.ca/">this site</ulink>. Some GNU/Linux distrubutions have applied the patch for you so check your package. The advantage of this version is that you can use openssl to create certificates to use with FreeS/WAN and DNS CERT records, but more specifically you can interact with the Microsoft Implementation of IPSec. For more information check <ulink url="http://www.natecarlson.com/linux/ipsec-x509.php">Nate's page</ulink>.
-->
  <ulink url="http://www.freswan.org/">FreeS/WAN</ulink> は IPSec の、
GNU/Linux での人気のある実装です。
その最新のバージョン (1.9.7) では、X.509 を受け入れるためにパッチを
あてる必要があります。
<ulink url="http://www.freeswan.ca/">このサイト</ulink>に
パッチをあてたバージョンがあります。
GNU/Linux のディストリビューションによってはパッチが既に適用されていますので、
パッケージをチェックしてください。
このバージョンの利点は、FreeS/WAN と DNS CERT のために用いる
証明を生成するのに openssl を使うことができることですが、
さらに具体的に言うと IPSec の Microsoft による実装と
うまく通信できるようになります。
さらなる情報については、
<ulink url="http://www.natecarlson.com/linux/ipsec-x509.php">Nate のページ</ulink>
を参照してください。
</para>


<sect3>
<title><!--FreeS/WAN gateway machine-->FreeS/WAN ゲイトウェイ</title>

<para>
<!--
Generate a certificate with the CN beeing the fully qualified domain name of your IPSec gateway: host.example.com. Do not forget to sign the certificate. You have two files newcert.pem and newreq.pem. The file newreq.pem contains the private key and some extra information therefore needs to be edited to contain only the private key. Delete everything outside the &#045;&#045;BEGIN RSA PRIVATE KEY&#045;&#045; and &#045;&#045;END RSA PRIVATE KEY&#045;&#045;. Move the files to the appropriate locations on your gateway machine. Make sure that you do that securely. On my distribution all configuration files for FreeS/WAN are located in /etc/freeswan, it could be different in yours.
-->
  あなたの IPSec ゲイトウェイ（例えば host.example.com）
の完全に権限のあるドメイン名を CN にして証明書を生成してください。
証明書に署名するのを忘れないように。
二つのファイル newcert.pem と newreq.pem があることになります。
newreq.pem ファイルは秘密鍵と余計な情報を含みますから、
秘密鍵だけを含むように編集しておく必要があります。
--BEGIN RSA PRIVATE KEY-- と --END RSA PRIVATE KEY-- の外側を全て削除してください。
ファイルをゲイトウェイマシンの適切な場所に移してください。
これを安全に行うことに気をつけて。
私のディストリビューションでは、FreeS/WAN の設定ファイルは全て
/etc/freeswan におかれていますが、これは状況によって異なるかもしれません。
</para>

<programlisting>
<![CDATA[mv newreq.pem /etc/freeswan/ipsec.d/private/host.example.com.key
]]><![CDATA[mv newcert.pem /etc/freeswan/ipsec.d/host.example.com.pem
]]>
</programlisting>

<para>
<!--
Copy also your root certificate to the FreeS/WAN configuration directory. Copy only the certificate, not the key.
-->
  あなたのルート証明書を FreeS/WAN の設定ディレクトリにコピーしてください。
証明書だけです。鍵はコピーしないように。
</para>

<programlisting>
<![CDATA[mv cacert.pem /etc/freeswan/ipsec.d/cacerts
]]>
</programlisting>

<para>
<!--
Generate a certificate revocation list or copy yours to the right location.
-->
  失効証明書リストを生成し、正しい場所にコピーします。
</para>

<programlisting>
<![CDATA[openssl ca -genrcl -out /etc/freeswan/ipsec.d/crls/crl.pem
]]>
</programlisting>

<para>
<!--
Still on the gateway machine, configure the ipsec.secrets file by including the line:
-->
  さらにゲイトウェイマシン上で、
以下の行を含めることで ipsec.secrets ファイルを設定します：
</para>

<programlisting>
<![CDATA[: RSA host.example.com.key ]]>&ldquo;
<![CDATA[password]]>&rdquo;
<![CDATA[
]]>
</programlisting>

<para>
<!--
The password being the one used to generate the key pair. Configure ipsec.conf as following:
-->
  鍵対を生成したときのパスワードを入力。以下のように ipsec.conf を設定します：
</para>

<programlisting>
<![CDATA[config setup
]]><![CDATA[interfaces=%defaultroute
]]><![CDATA[klipsdebug=none
]]><![CDATA[plutodebug=none
]]><![CDATA[plutoload=%search
]]><![CDATA[plutostart=%search
]]><![CDATA[uniqueids=yes
]]><![CDATA[
]]><![CDATA[conn %default
]]><![CDATA[keyingtries=1
]]><![CDATA[compress=yes
]]><![CDATA[disablearrivalcheck=no
]]><![CDATA[authby=rsasig
]]><![CDATA[leftrsasigkey=%cert
]]><![CDATA[rightrsasigkey=%cert
]]><![CDATA[
]]><![CDATA[conn roadwarrior-net
]]><![CDATA[leftsubnet=<your_subnet>/<your_netmask>
]]><![CDATA[also=roadwarrior
]]><![CDATA[
]]><![CDATA[conn roadwarrior
]]><![CDATA[right=%any
]]><![CDATA[left%defaultroute
]]><![CDATA[leftcert=host.example.com.pem
]]><![CDATA[auto=add
]]><![CDATA[pfs=yes
]]>
</programlisting>

<para>
<!--
As you can see there are 2 connections beeing established, one to the gateway machine and one to the network behind the gateway machine. This is particulary useful if you are operating some kind of firewall/NAT on your gateway machine. The configuration is such that anybody with a valid certificate will be able to connect to the gateway machine.
-->
  お分かりのように、二つの接続が確立しています。
一つはゲイトウェイマシンへ、一つはゲイトウェイマシンの背後のネットワークへ。
これは、もしあなたがゲイトウェイマシン上でファイアーウォール/NAT の類を
設定しているなら特に便利です。
この設定は有効な証明書を持っている人は誰でもゲイトウェイマシンに
接続できるようになっています。
</para>

</sect3>

<sect3>
<title><!--FreeS/WAN client machine-->FreeS/WAN クライアント</title>

<para>
<!--
The procedure is similar, you need to generate a certificate for the client machine with the CN being the fully qualified domain name of the client machine, for instance clienthost.example.com. This certificate must be signed by the same signing authorithy as the gateway certificate. This is how the link will be authorised.
-->
  手続きは同様で、クライアントマシンの完全に権限のあるドメイン名
（例えば client.example.com）を CN にして
クライアントマシンの証明書を生成する必要があります。
この証明書はゲイトウェイの証明書と同じ署名機関に署名されていなければなりません。
これによって、その接続が認証されます。
</para>

<para>
<!--
As with the gateway copy the following files securely to the configuration directories:
-->
  ゲイトウェイのときのように、
以下のファイルを安全に設定用ディレクトリにコピーします。
</para>

<programlisting>
<![CDATA[mv newreq.pem /etc/freeswan/ipsec.d/private/clienthost.example.com.key
]]><![CDATA[mv newcert.pem /etc/freeswan/ipsec.d/clienthost.example.com.pem
]]>
</programlisting>

<para>
<!--
Copy also your root certificate to the FreeS/WAN configuration directory. Copy only the certificate, not the key.
-->
  またあなたのルート証明書も FreeS/WAN 設定ディレクトリにコピーします。
証明書のみで、鍵はコピーしないように。
</para>

<programlisting>
<![CDATA[mv cacert.pem /etc/freeswan/ipsec.d/cacerts
]]>
</programlisting>

<para>
<!--
Generate a certificate revocation list or copy yours to the right location.
-->
  失効証明書リストを生成し、正しい場所にコピーします。
</para>

<programlisting>
<![CDATA[openssl ca -genrcl -out /etc/freeswan/ipsec.d/crls/crl.pem
]]>
</programlisting>

<para>
<!--
Finally you need to copy also the certificate (not the private key) of your gateway machine
-->
  最後にあなたのゲイトウェイマシンに証明書もコピーする
必要があります（秘密鍵はコピーしない）。
</para>

<programlisting>
<![CDATA[mv host.example.com.pem /etc/fresswan/ipsec.d/host.example.com.pem
]]>
</programlisting>

<para>
<!--
Similarly edit your ipsec.secrets file to load the client private key
-->
  同様に、
クライアントの秘密鍵をロードするために ipsec.secrets ファイルを編集します。
</para>

<programlisting>
<![CDATA[: RSA clienthost.example.com.key ]]>&ldquo;<![CDATA[password]]>&rdquo;<![CDATA[
]]>
</programlisting>

<para>
<!--
and edit the ipsec.conf as follows to enable the connection:
-->
  そして、接続を可能にするために以下のように ipsec.conf を編集してください：
</para>

<programlisting>
<![CDATA[config setup
]]><![CDATA[interfaces=%defaultroute
]]><![CDATA[klipsdebug=none
]]><![CDATA[plutodebug=none
]]><![CDATA[plutoload=%search
]]><![CDATA[plutostart=%search
]]><![CDATA[uniqueids=yes
]]><![CDATA[
]]><![CDATA[conn %default
]]><![CDATA[keyingtries=0
]]><![CDATA[compress=yes
]]><![CDATA[disablearrivalcheck=no
]]><![CDATA[authby=rsasig
]]><![CDATA[leftrsasigkey=%cert
]]><![CDATA[rightrsasigkey=%cert
]]><![CDATA[
]]><![CDATA[conn roadwarrior-net
]]><![CDATA[left=(ip of host)
]]><![CDATA[leftsubnet=(gateway_host_subnet)/(gateway_host_netmask)
]]><![CDATA[also=roadwarrior
]]><![CDATA[
]]><![CDATA[conn roadwarrior
]]><![CDATA[left=(ip of host)
]]><![CDATA[leftcert=host.example.com.pem
]]><![CDATA[right=%defaultroute
]]><![CDATA[rightcert=clienthost.example.com.pem
]]><![CDATA[auto=add
]]><![CDATA[pfs=yes
]]>
</programlisting>

<para>
<!--
Now you can start the VPN link
-->
  これで VPN リンクを開始することができます。
</para>

<programlisting>
<![CDATA[ipsec auto --up roadwarrior
]]><![CDATA[ipsec auto --up roadwarrior-net
]]>
</programlisting>

<para>
<!--
To start the link automatically, replace in the configuration file 'auto=add' by 'auto=start'
-->
  自動的にこのリンクを開始するためには、設定ファイルの 'auto=add'
を 'auto=start' に置き換えます。
</para>

</sect3>

<sect3>
<title><!--MS Windows 2000/XP client machine-->MS Windows 2000/XP クライアント</title>

<para>
<!--
The procedure is the same as for the FreeS/WAN client. Generate a certificate with a CN of winhost.example.com, but you will have to convert this certificate into a .p12 file. Follow the procedure in the chapter &ldquo;Using this certificate with MS-Outlook&rdquo; but ensure that the .p12 file is bundled with the root CA certificate: winhost.example.com.p12
-->
  この手続きは FreeS/WAN クライアントと同じです。
winhost.example.com の CN で証明書を生成しますが、
この証明書を .p12 ファイルに変換する必要があります。
&ldquo;MS-Outlook で証明書を使うには&rdquo; の章の手続きに従ってください。
ただし、.p12 ファイルはルート CA 証明書: winhost.example.com.p12 と一緒に
されていることを確認してください。
</para>

<para>
<!--
Additionally note the output of:
-->
  加えて、以下の出力に注意：
</para>

<programlisting>
<![CDATA[openssl x509 -in cacert.pem -noout -subject
]]>
</programlisting>

<para>
<!--
Copy this file securely to the MS-Windows machine.
-->
  このファイルを安全に MS-Windonws マシンにコピーします。
</para>

<para>
<!--
You know need to install Marcus Muller's <ulink url="http://vpn.ebotis.de/">ipsec.exe utility</ulink> in for instance c:&bsol;ipsec directory.
-->
  Marcus Muller 氏の <ulink url="http://vpn.ebotis.de/">ipsec.exe ユーティリティ</ulink>
 を、例えば c:&bsol;ipsec ディレクトリにインストールする必要があります。
</para>

<para>
<!--
Open Microsoft Management Console (MMC), in 'Add/Remove Snap-in' click on 'Add' then click on 'Certificates', then 'Add' Select 'Computer Account', and 'Next'. Select 'Local computer', and 'Finish'. Click on 'IP Security Policy Management', and 'Add'. Select 'Local Computer', and 'Finish' click 'Close' then 'OK'
-->
  コンソール (Micorsoft Management Console, MMC) を開いて、
「追加/削除('Add/Remove Snap-in')」のところで「追加('Add')」をクリックし、
「証明書('Certificates')」をクリックすると、「追加」で
「コンピュータアカウント('Computer Account')」を選び、
そして「次('Next')」に行きます。
「ローカルコンピュータ(Local Computer')」を選んで、
「終了('Finish')」、「閉じる('Close')」をクリックして
最後に「OK」です。
</para>

<para>
<!--
Now you can add the .p12 certificate
-->
  これで .p12 証明書を追加できます。
</para>

<para>
<!--
Click the plus arrow by 'Certificates (Local Computer)' then right-click 'Personal', and click 'All Tasks' then 'Import' click 'Next'. Type the path to the .p12 file (or browse and select the file), and click 'Next'. Type the export password, and click 'Next'. Select 'Automatically select the certificate store based on the type of certificate', and click 'Next'. Click 'Finish', and say yes to any prompts that pop up. Exit the MMC, and save it as a file so you don't have to re-add the Snap In each time.
-->
  プラス矢印を「証明書（ローカルコンピュータ）」でクリックして、
「パーソナル」を右クリック、
そして「全てのタスク」をクリック、そして「インポート」で「次」をクリックします。
.p12 ファイルへのパスをタイプし（またはブラウズしてファイルを選択し）、
「次」をクリックします。
エクスポート用のパスワードをタイプして、「次」をクリックします。
「証明書の種類に基づいて自動的に証明書庫を選択」を選び、
「次」をクリックします。
「終了」をクリックして、ポップアップしたプロンプトに「Yes」と答えます。
MMC を終了して、毎回 Snap In を再追加する必要がないように、
ファイルとして保存します。
</para>

<para>
<!--
Install ipsecpol.exe (Windows 2000) or ipseccmd.exe (Windows XP) as described in the documentation for the ipsec utility. Edit your ipsec.conf (on the windows machine), replacing the &quot;RightCA&quot; with the output of the 'openssl x509 -in cacert.pem -noout -subject'; reformatted as below (you need to change the /'s to commas, and change the name of some of the fields &#045;&#045; just follow the example below):
-->
  ipsecpol.exe (Windows2000) または ipseccmd.exe (Windows XP) を
ipsec ユーティリティのドキュメントに書かれているようにインストールします。
（Windows マシン上で）ipsec.conf ファイルを編集して、
&quot;RightCA&quot; を
'openssl x509 -in cacert.pem -noout -subject' の出力で置き換え、
以下のようにフォーマットし直します。
（以下の例に従って、
/ をコンマに変え、フィールドの名前をいくつか変更する必要があります。）：
</para>

<programlisting>
<![CDATA[conn roadwarrior 
]]><![CDATA[left=%any 
]]><![CDATA[right=(ip_of_remote_system) 
]]><![CDATA[rightca="C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=SOPAC Root"
]]><![CDATA[network=auto 
]]><![CDATA[auto=start 
]]><![CDATA[pfs=yes
]]><![CDATA[
]]><![CDATA[conn roadwarrior-net 
]]><![CDATA[left=%any 
]]><![CDATA[right=(ip_of_remote_system) 
]]><![CDATA[rightsubnet=(your_subnet)/(your_netmask)
]]><![CDATA[rightca="C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=SOPAC Root" 
]]><![CDATA[network=auto 
]]><![CDATA[auto=start 
]]><![CDATA[pfs=yes
]]>
</programlisting>

<para>
<!--
Start the link
-->
  リンクを開始しましょう。
</para>

<para>
<!--
Run the command 'ipsec.exe'. Here's example output:
-->
  'ipsec.exe' コマンドを走らせます。以下が出力の例です：
</para>

<programlisting>
<![CDATA[C:\ipsec>ipsec 
]]><![CDATA[IPSec Version 2.1.4 (c) 2001,2002 Marcus Mueller 
]]><![CDATA[Getting running Config ... 
]]><![CDATA[Microsoft's Windows XP identified 
]]><![CDATA[Host name is: (local_hostname) 
]]><![CDATA[No RAS connections found. 
]]><![CDATA[LAN IP address: (local_ip_address) 
]]><![CDATA[Setting up IPSec ...
]]><![CDATA[
]]><![CDATA[Deactivating old policy... 
]]><![CDATA[Removing old policy...
]]><![CDATA[
]]><![CDATA[Connection roadwarrior: 
]]><![CDATA[MyTunnel : (local_ip_address)
]]><![CDATA[MyNet : (local_ip_address)/255.255.255.255 
]]><![CDATA[PartnerTunnel: (ip_of_remote_system) 
]]><![CDATA[PartnerNet : (ip_of_remote_system)/255.255.255.255 
]]><![CDATA[CA (ID) : C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=SOPAC Root... 
]]><![CDATA[PFS : y 
]]><![CDATA[Auto : start 
]]><![CDATA[Auth.Mode : MD5 
]]><![CDATA[Rekeying : 3600S/50000K 
]]><![CDATA[Activating policy...
]]><![CDATA[
]]><![CDATA[Connection roadwarrior-net: 
]]><![CDATA[MyTunnel : (local_ip_address) 
]]><![CDATA[MyNet : (local_ip_address)/255.255.255.255 
]]><![CDATA[PartnerTunnel: (ip_of_remote_system) 
]]><![CDATA[PartnerNet : (remote_subnet)/(remote_netmask) 
]]><![CDATA[CA (ID) : C=FJ, ST=Fiji, L=Suva, O=SOPAC, OU=ICT, CN=SOPAC Root... 
]]><![CDATA[PFS : y 
]]><![CDATA[Auto : start 
]]><![CDATA[Auth.Mode : MD5 
]]><![CDATA[Rekeying : 3600S/50000K 
]]><![CDATA[Activating policy...
]]><![CDATA[C:\ipsec>
]]>
</programlisting>

<para>
<!--
Now, ping your gateway host. It should say 'Negotiating IP Security' a few times, and then give you ping responses. Note that this may take a few tries; from a T1 hitting a VPN server on a cable modem, it usually takes 3-4 pings. Do the same for the internal network on the remote end, and you should be up!
-->
  ここで、ゲイトウェイホストに ping してみてください。
'Negotiateing IP Security'（「IP セキュリティのネゴシエーションをしています」）
と二三回表示されて、ping の応答が帰ってくるはずです。
これは二三回の試行が必要かもしれないことに注意してください。
T1 からケーブルモデム上の VPN サーバにヒットするのに、
3, 4 回の ping がかかるのが普通です。
リモートエンド上でイントラネットワークについても同じことをしてください。
ちゃんとやり遂げましょう！
</para>

</sect3>

</sect2>

</sect1>

</chapter>

<chapter>
<title><!--Global PKI-->グローバル PKI</title>

<sect1>
<title><!--Current PKIs-->現在の PKI の状況</title>

<para>
<!--
At the moment you have the choice between a commercial PKI or your own PKI. The commercial PKI were created at the beginning to enable secure commerce over the Internet, basically securing HTTP. The pricing of certificates was calculated on a per host basis. The cost is more expensive than for a domain name because of the costs to identify the owner of the certificate (tracability), but also as a percentage into your e-commerce profits. Unfortunately this vision of a host basis has some major limitations. It is still acceptable to have a certificate to secure POP, IMAP, and other protocols, but when you need a certificate for each e-mail box on your network, costs start to skyrocket as well as the administrative burden to register all these certificates to the Certificate Authority and that every year. This problems exists too if you want to use certificates to authenticate clients in client/server applications (Web server, IPsec,..)
-->
  現在、商用の PKI とあなた自身の PKI のどちらを使うかの選択があります。
商用の PKI は最初からインターネット上でのセキュアな商取引、つまり基本的には、
セキュアな HTTP 通信を可能にするために作られました。
証明書の値段はホスト一つあたりベースで計算されています。
そのコストは証明書の所有者を特定するコスト（追跡可能性）の分、
ドメイン名についてはより高価になりますが、
あなたの e-コマースの利益の割合にもよります。
残念ながら、ホストベースのこのバージョンには大きな制限があります。
これは secure POP, IMAP, その他のプロトコルへの証明書を持つことを
受け入れるものの、あなたのネットワークの各メイルボックスごとに
証明書が必要になると、そのコストは天井知らずに上がり始め、
認証局へのこれらの証明書の全てを登録する管理負担も急増し、
これが毎年続いていきます。
クライアント/サーバ型アプリケーションのクライアント
（Web サーバ、IPSec などなど)を認証する証明書を用いるときもやはり同じ問題が生じます。
</para>

<para>
<!--
Why not have a certificate that can sign other certificates? At the moment the only option is to build your own Certificate Authority as described in this document. This allows flexible management of certificates but is limited to the people in your organisation, because people outside your organisation will have to load your root CA certificate to allow smooth operations.
-->
  どうして他の証明書に署名できる証明書をもってはいけないのでしょうか？
この時点での唯一のオプションとして、この文書で紹介したように、
自分自身の認証局を立ててしまうことがあります。
これによって証明書の柔軟な運用が可能になりますが、
適用はあなたの組織の人々に制限されます。
と言うのも、あなたの組織に属さない人々は、
スムーズな操作を可能にするために、
あなたのルート CA 証明書をロードする必要があるからです。
</para>

<para>
<!--
The solution an unique PKI managed by a central authority in a similar format as DNS is managed. This is called a Global PKI.
-->
  DNSが運用されているのと同様のフォーマットで、
中央認証局によって一意の PKI 運営をするという解決法は、
グローバル PKI と呼ばれています。
</para>

</sect1>

<sect1>
<title><!--The need for a Global PKI-->グローバル PKI の必要性</title>

<para>
<!--
In these days and age security on personnal computers has become important, such importance that Bill Gates stated that when Microsoft will have to choose between features and security, they will now choose security.
-->
  最近では、個人のコンピュータのセキュリティが重要になってきていて、
ビル・ゲイツも Microsoft は機能とセキュリティのどちらかを選ぶ必要がある時は、
今やセキュリティの方を選ぶと宣言しています。
</para>

<para>
<!--
This reflections came from the increasing numbers of rogue people on the Internet. Anybody can send you anything, or trick you in installing anything on your computer. The solution is to identify everybody so when you have a problem you can at least blame someone. This is particulary true in the case of SPAM. It is often difficult to find the originator of an unsolicited e-mail and worse to be able to do something to stop this person. What many people have called for is tracability. If you receive some information which is not traceable through a certificate, you may decide to treat this information differently. This is the same concept as caller ID on telephone network. Certifcates offer this capaility for all applicationson the Internet, e-mails (S/MIME), Commerce transactions (HTTPS), Software install (Code Signing),... Unfortunately certificates are not widely used because they cost a lot if they have to be fully deployed. How many users on Yahoo mail, Hotmail, CA Online!
, can afford an e-mail certificate? There are some scheme to offer free e-mails certificates, but they can only certify that an e-mail address exists, they can trace back to a human or a body in the real world.
-->
  この反省はインターネット上のならず者たちの数の増加から来ています。
誰でもあなたに何でも送りつけることができ、あなたのコンピュータに
インストールするように騙すことができます。
この解決策は、あなたに問題が起こったときに、
少なくとも誰かに責任を問えるように、全員の身元を識別することです。
これは SPAM については特に真実です。
しばしば望まぬ e-mail を組織した人間を見つけることも、
さらに悪いことにはこの人物を止めることも困難です。
多くの人々が必要としているものが、この追跡可能性です。
もしあなたが証明書を通して追跡できない情報を受け取ったとすると、
あなたはこの情報を区別して扱うことにするかもしれません。
これは電話ネットワークの呼び出し側 ID と同じ概念です。
証明書はこの能力をインターネット上の全てのアプリケーション、例えば、
e-mail (S/MIME), 商業取引(HTTPS), ソフトウェアのインストール（コード署名）、
などに与えることができます。
残念ながら、証明書は広く使われていません。
と言うのも、完全に配備しなければならないとすれば、
多大のコストがかかってしまうからです。
Yahoo mail, Hotmail, CA Online 
の何人のユーザが e-mail 証明書を持つことができるでしょう。
フリーの e-mail に証明書を提供するスキームは存在しますが、
それはその e-mail アドレスが存在するという確証を与えられるだけで、
現実世界にいる生身の人間まで追跡できるわけではありません。
</para>

<para>
<!--
A global PKI is needed. All the protocols and standards exist, not need to reinvent the wheel. The <ulink url="http://www.ietf.org/">IETF</ulink> has all the mechanice worked out. An LDAP server can store the certificates, a DNS server can reference entry back to certificate stores, HTTP can deliver certificate to applications, S/MIME can secure e-mails,... The problem is now a policy problem or rather a profile problem: select which pieces of this standard should be used to cooperate into a global PKI. Which organisation should provide such service? What level of security/tracability will be achieved?... If one can answer these questions, it will be a step in the right direction and if users buy in, then problem solved...
-->
  グローバル PKI が必要とされています。
必要な全てのプロトコルと標準規格は存在していて、
新たに車輪を再発明するような必要はありません。
<ulink url="http://www.ietf.org/">IETF</ulink> にちゃんと働く
全てのメカニズムがそろっています。
LDAP サーバが証明書を蓄え、DNS サーバが証明書庫への参照を提供し、
HTTP がアプリケーションまで証明書を運び、
S/MIME でセキュアな e-mail 通信を可能にする…という具合です。
今や、問題はポリシーの問題、または、
グローバル PKI と協調させるべきこの標準のどの部品を選ぶのか、
という側面的な問題です。
どこの機関がこのようなサーヴィスを提供するのか？
どれくらいの水準のセキュリティと追跡可能性を達成するのか？
もし誰かがこれらの問題に答えられれば、
正しい方向に一歩進むことになるでしょうし、
ユーザがそれを受け入れてくれれば、問題は解決されるでしょう…
</para>

<para>
<!--
I will keep updated this chapter as the work of the working group on PKI of the <ulink url="http://www.isoc.org/">Internet Society</ulink> progress. The Internet Society is also managing the .org Top Level Domain name, so they have a lot of capabilities at hand to solve this e-mail spamming problem.
-->
  著者は <ulink url="http://www.isoc.org/">Internet Society</ulink>
 の PKI ワーキンググループの作業の進行に沿って、
この章をアップデートして行くつもりです。
Internet Society は .org トップレベルドメイン名を管理してもいますから、
この e-mail スパム問題を解決する大きな能力をその手に持っているわけです。
</para>

</sect1>
</chapter>

<chapter>
<title>日本語版謝辞</title>

<para>
  JF Project の皆さん、特に校正をしていただいた
かねこ(Seiji Kaneko)さんにお礼を申し上げます。
誤字・脱字・誤訳等なにかありましたら &lt;JF@linux.or.jp&gt; 
までお知らせください。
</para>

</chapter>

</book>
