<!--
<SECT1 ID="certificates"><TITLE>Publishing digital certificates with LDAP</TITLE>
-->
<SECT1 ID="certificates"><TITLE>LDAP によるデジタル証明書の発行</TITLE>

<!--
<PARA> This section focuses on how to publish digital certificates into an ldap
server. You need to publish digital certificates if you run a Certificaton
Authority. Publishing to LDAP is a simple way to make this information available
in the network .Also many certificate aware software uses LDAP as a preferred
repository for user certificates.
</PARA>
-->
<PARA>この章の焦点は、デジタル証明書を LDAP サーバ内に発行する方法にあります。
Certification Authority (認証局) を運営するならデジタル証明書を発行する必要が
あります。LDAP への発行は、この情報をネットワーク内で利用できるようにする
シンプルな方法のひとつです。また、証明書対応ソフトウェアの多くも、
望ましいレポジトリとして、ユーザ証明書に LDAP を用いています。
</PARA>

<!--
<PARA> This allows to keep users certificates with the rest of the user
information avoiding useless replication of data.
</PARA> 
-->
<PARA>この方法ではユーザ証明書を他のユーザ情報と一緒にしておけるので、
データの無駄な複製が必要なくなります。
</PARA>

<!--
<PARA> To deal with certificates you need a cryptographic toolkit, the one used
here is OpenSSL.  </PARA>
-->
<PARA>証明書を取り扱うには暗号ツールキットが必要です。
ここで使用するのは OpenSSL です。
</PARA>

<!--
<SECT2><TITLE>LDAP Server configuration</TITLE>
-->
<SECT2><TITLE>LDAP サーバの設定</TITLE>

<!--
<PARA> The LDAP server used here is OpenLDAP 2.0.x.</PARA>
-->
<PARA>ここで使用する LDAP サーバは OpenLDAP 2.0.x です。
</PARA>

<!--
<PARA> Your LDAP server must support objectclasses that allows attributes to
store certificates. In particular you need to store in the LDAP server the
Certification Authority certificate, the Certificate Revocation List, the
Authority Revocation List and end users certificates.</PARA>
-->
<PARA>LDAP サーバは、証明書を記録するための属性を持てる<!-- allow -->
objectclass をサポートしていなくてはなりません。
LDAP サーバ内には特に、認証局証明書、証明書破棄リスト、認可破棄リスト、
そしてエンドユーザの証明書を記録しておく必要があります。
</PARA>

<!--
<PARA> The <FILENAME>certificationAuthority</FILENAME> objectclass implements
the <FILENAME>authorityRevocationList</FILENAME>,
<FILENAME>certificateRevocationList</FILENAME> and
<FILENAME>cACertificate</FILENAME> attributes.</PARA>
-->
<PARA><FILENAME>certificationAuthority</FILENAME> という objectclass は
<FILENAME>authorityRevocationList</FILENAME> (つまり認可破棄リスト),
<FILENAME>certificateRevocationList</FILENAME> (証明書破棄リスト),
<FILENAME>cACertificate</FILENAME> (認証局証明書) という属性を実装します。
</PARA>

<!--
<PARA>The <FILENAME>inetOrgPerson</FILENAME> objectclass supports the
usercertificate (binary) attribute.</PARA>
-->
<PARA><FILENAME>inetOrgPerson</FILENAME> という objectclass は
<FILENAME>usercertificate</FILENAME> (ユーザ証明書) という
(バイナリの) 属性をサポートします。
</PARA>

<!--
<PARA>You can also use the mix-in objectclass
<FILENAME>strongAuthenticationUser</FILENAME> to add certificates to non
<FILENAME>inetOrgPerson</FILENAME> entries. </PARA>
-->
<PARA>また、<FILENAME>strongAuthenticationUser</FILENAME> という混合
objectclass を使って、非 <FILENAME>inetOrgPerson</FILENAME> エントリに
証明書を付けることもできます。
</PARA>

<!--
<PARA>
You can include required schemas to OpenLDAP including the following schemas
into your <FILENAME>slapd.conf</FILENAME> file.
</PARA>
-->
<PARA>下記のスキーマを自分の <FILENAME>slapd.conf</FILENAME> ファイルに
含めて、必要なスキーマを OpenLDAP にインクルードしてください<!-- can -->。
</PARA>

<!--
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC"> 
include        /usr/local/etc/openldap/schema/core.schema 
include        /usr/local/etc/openldap/schema/cosine.schema
include        /usr/local/etc/openldap/schema/inetorgperson.schema
</PROGRAMLISTING></PARA>
-->
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC"> 
include        /usr/local/etc/openldap/schema/core.schema 
include        /usr/local/etc/openldap/schema/cosine.schema
include        /usr/local/etc/openldap/schema/inetorgperson.schema
</PROGRAMLISTING></PARA>

</SECT2>


<!--
<SECT2><TITLE>Certificate Publishing</TITLE>
-->
<SECT2><TITLE>証明書の発行</TITLE>

<!--
<PARA> Certificates are encoded using ASN.1 DER (Distingushed Encoding Rules).
So it must be published into the LDAP server as a binary piece of data (using
BER encoding).  </PARA>
-->
<PARA>証明書は ASN.1 の DER (Distinguished Encoding Rules) を使って
エンコード<!-- 「符号化」より一般的？ -->されます。
そのため LDAP サーバ内にはバイナリデータで (BER エンコードで)
発行されなくてはなりません。
</PARA>

<!--
<PARA>
You can convert a pem certificate into der format using openssl
</PARA>
-->
<PARA>PEM 証明書は、このように OpenSSL を使って DER 書式に変換できます。
</PARA>

<!--
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
openssl x509 -outform DER -in incert.pem  -out outcert.der
</PROGRAMLISTING></PARA>
-->
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
openssl x509 -outform DER -in incert.pem  -out outcert.der
</PROGRAMLISTING></PARA>

<!--
<PARA>
Then an LDIF file can be created using the <FILENAME>ldif</FILENAME> utility 
provided with OpenLDAP. The command:
</PARA>
-->
<PARA>そうすると、OpenLDAP によって提供される <FILENAME>ldif</FILENAME>
というユーティリティを使って LDIF ファイルを作成できます。こうです。
</PARA>

<!--
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
ldif -b "usercertificate;binary" < outcert.der   > cert.ldif
</PROGRAMLISTING></PARA>
-->
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
ldif -b "usercertificate;binary" < outcert.der > cert.ldif
</PROGRAMLISTING></PARA>

<!--
<PARA> creates an usercertificate attribute encoded in BASE64. You can add
this certificate to an LDIF entry and then use <FILENAME>ldapmodify</FILENAME>
to add the certificate to an entry. </PARA>
-->
<PARA>このコマンドは BASE64 でエンコードされた usercertificate 属性を
作成します。このように証明書を LDIF エントリに追加できますので、それから
<FILENAME>ldapmodify</FILENAME> を使って (訳注：サーバ上の) エントリに
証明書を追加できます。
</PARA>

<!--
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
ldapmodify -x -W -D "cn=Manager,dc=yourorg,dc=com" -f cert.ldif 
</PROGRAMLISTING></PARA>
-->
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
ldapmodify -x -W -D "cn=Manager,dc=yourorg,dc=com" -f cert.ldif 
</PROGRAMLISTING></PARA>

<!--
<PARA>
Where <FILENAME>cert.ldif</FILENAME> contains something like:
</PARA>
-->
<PARA>この <FILENAME>cert.ldif</FILENAME> は、次のようなものを含んでいます。
</PARA>

<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
dn: cn=user,ou=people,dc=yourorg,dc=com
changetype: modify
add: usercertificate
usercertificate;binary:: MIIC2TCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQQFADBGMQswCQYD
 VQQGEwJJVDENMAsGA1UEChMESU5GTjESMBAGA1UECxMJQXV0aG9yaXR5MRQwEgYDVQQDEwtJTkZO
 IENBICgyKTAeFw05OTA2MjMxMTE2MDdaFw0wMzA4MDExMTE2MDdaMEYxCzAJBgNVBAYTAklUMQ0w
 CwYDVQQKEwRJTkZOMRIwEAYDVQQLEwlBdXRob3JpdHkxFDASBgNVBAMTC0lORk4gQ0EgKDIpMIGf
 MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrHdRKJsobcjXz/OsGjyq8v73DbggG3JCGrQZ9f1Vm
 9RrIWJPwggczqgxwWL6JLPKglxbUjAtUxiZm3fw2kX7FGMUq5JaN/Pk2PT4ExA7bYLnbLGZ9jKJs
 Dh4bNOKrGRIxRO9Ff+YwmH8EQdoVpSRFbBpNnoDIkHLc4DtzB+B4wwIDAQABo4HWMIHTMAwGA1Ud
 EwQFMAMBAf8wHQYDVR0OBBYEFK3QjOXGc4j9LqYEYTn9WvSRAcusMG4GA1UdIwRnMGWAFK3QjOXG
 c4j9LqYEYTn9WvSRAcusoUqkSDBGMQswCQYDVQQGEwJJVDENMAsGA1UEChMESU5GTjESMBAGA1UE
 CxMJQXV0aG9yaXR5MRQwEgYDVQQDEwtJTkZOIENBICgyKYIBADALBgNVHQ8EBAMCAQYwEQYJYIZI
 AYb4QgEBBAQDAgAHMAkGA1UdEQQCMAAwCQYDVR0SBAIwADANBgkqhkiG9w0BAQQFAAOBgQCDs5b1
 jmbIYVq2epd5iDjQ109SJ/V7b6DFw2NIl8CWeDPOOjL1E5M8dnlmCDeTR2TlBxqUZaBBJZPqzFdv
 xpxqsHC0HfkCXAnUe5MaefFNAH9WbxoB/A2pkXtT6WGWed+QsL5wyKJaO4oD9UD5T+x12aGsHcsD
 Cy3EVEaGEOl+/A==
</PROGRAMLISTING></PARA>

<!--
<PARA>
It is also possible to specify the certificate in the LDIF file as:
</PARA>
-->
<PARA>また、LDIF ファイル内で証明書をこのように指定することも可能です。
</PARA>

<!--
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
userCertificate;binary:< file:///path/to/cert.der
</PROGRAMLISTING></PARA>
-->
<PARA><PROGRAMLISTING FORMAT="LINESPECIFIC">
userCertificate;binary:< file:///path/to/cert.der
</PROGRAMLISTING></PARA>

</SECT2>

<!--
<SECT2><TITLE>LDAP Aware Clients</TITLE>
-->
<SECT2><TITLE>LDAP 対応クライアント</TITLE>

<!--
<PARA>Once you stored certificates in the server you may wonder to retrieve
them.</PARA>
-->
<PARA>サーバに証明書を記録してから、
それをどうやって取り出すのか不思議に思うかもしれません。
</PARA>

<!--
<PARA> Among other clients, Netscape has supprt to retrieve certificates
automatically from an LDAP server. Using the Security Panel&#045;&#045;>User
Certificates&#045;&#045;>Search Directory; you can search  for certificates in the LDAP
dierctory and have them automatically installed in your Netscape certificate
database.</PARA>
-->
<PARA>他のクライアントと同様<!-- among -->、Netscape は LDAP サーバから
自動的に証明書を取り出す機能をサポートしています。
「セキュリティ → ユーザ証明書 → ディレクトリを検索」とすることで、
LDAP ディレクトリ内の証明書を検索して、それを Netscape 証明書データベースに
自動でインストールすることができるのです。
</PARA>

<!--
<PARA>Another client that has good support for certificates is  web2ldap <ULINK
URL="http://www.web2ldap.de/">www.web2ldap.de</ULINK> </PARA> 
-->
<PARA>この他に、証明書へのサポートの良いクライアントには
web2ldap (<ULINK URL="http://www.web2ldap.de/">www.web2ldap.de</ULINK>)
があります。
</PARA>

</SECT2>
</SECT1>
