B.3. バイナリーデータの表現
JPEG イメージなどのバイナリーデータは、標準の LDIF 表記または base-64 エンコードの 2 つの方法のいずれかを使用して LDIF で表されます。
B.3.1. 標準の LDIF 表記
標準の LDIF 表記は、データがバイナリーであることを示すために、(<) より小さい記号を使用します。以下に例を示します。
jpegphoto: < file:/path/to/photo
この標準表記では、ldapmodify -b パラメーターを指定する必要はありません。ただし、標準の表記法では、LDIF ファイルまたは LDIF 更新ステートメントの先頭に以下の行を追加する必要があります。
version: 1
以下に例を示します。
# ldapmodify -x -D userDN -W version: 1 dn: cn=Barney Fife,ou=People,dc=example,dc=com changetype: modify add: usercertificate usercertificate;binary: < file: BarneysCert
B.3.2. Base-64 でエンコード
バイナリーデータを Base-64 に変換して LDIF ファイルにすることで、イメージから TLS 証明書までさまざまなデータに対応します。ベース 64 でエンコードされたデータは、:: 記号を使用して識別されます。以下に例を示します。
jpegPhoto::encoded_data
バイナリーデータの他に、base-64 でエンコードする必要のあるその他の値には以下が含まれます。
- コロン (:) またはスペースで始まる値。
- ASCII 以外のデータを含む値 (新しい行を含む)。
-b パラメーターで ldif コマンドラインユーティリティーを使用して、バイナリーデータを LDIF 形式に変換します。
# ldif -b attribute_name
attribute_name は、バイナリーデータを指定する属性の名前です。バイナリーデータは標準入力から読み取られ、結果は標準出力に書き込まれます。そのため、入力ファイルと出力ファイルの選択にはリダイレクト演算子を使用します。
ldif コマンドラインユーティリティーは入力を取得し、これを正しい行継続性と適切な属性情報で形式化します。ldif ユーティリティーは、入力に base-64 エンコーディングが必要かどうかも評価します。以下に例を示します。
# ldif -b jpegPhoto < mark.jpg > out.ldif
この例では、JPEG 形式のイメージを含むバイナリーファイルを取得し、属性
jpegPhoto
の LDIF 形式に変換します。出力は out.ldif
に保存されます。
-b オプションは、ldif ユーティリティーが入力全体を単一のバイナリー値として解釈するように指定します。-b が存在しない場合は、各行が個別の入力値であると見なされます。