B.3. 代表二进制数据
二进制数据(如 JPEG 镜像)使用两种方法之一(即标准 LDIF 表示法或 base-64 编码)在 LDIF 中表示。
B.3.1. 标准 LDIF Notation 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
标准 LDIF 表示法使用小于(<)符号表示数据是二进制的。例如:
jpegphoto: < file:/path/to/photo
jpegphoto: < file:/path/to/photo
使用这个标准表示法,不需要指定 ldapmodify -b 参数。但是,标准表示法要求在 LDIF 文件或 LDIF 更新语句的开头添加以下行:
version: 1
version: 1
例如:
B.3.2. base-64 Encoding 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
二进制数据可以转换为 base-64,可在 LDIF 文件中用于各种数据,从镜像到 TLS 证书。使用 :: 符号标识基本 64 编码的数据。例如:
jpegPhoto::encoded_data
jpegPhoto::encoded_data
除了二进制数据外,还必须采用 base-64 编码的其他值包括:
- 任何以冒号(:)或空格开头的值。
- 包含非 ASCII 数据的任何值,包括新行。
使用带有 -b 参数的 ldif 命令行工具将二进制数据转换为 LDIF 格式:
ldif -b attribute_name
# ldif -b attribute_name
attribute_name 是提供二进制数据的属性的名称。二进制数据是从标准输入中读取的,结果将写入标准输出。因此,使用重定向运算符来选择输入和输出文件。
ldif 命令行工具将使用任何输入,并使用正确的行继续和适当的属性信息对其进行格式化。ldif 工具还会评估输入是否需要 base-64 编码。例如:
ldif -b jpegPhoto < mark.jpg > out.ldif
# ldif -b jpegPhoto < mark.jpg > out.ldif
本示例采用包含 JPEG 格式的镜像的二进制文件,并将其转换为属性
jpegPhoto
的 LDIF 格式。输出被保存到 out.ldif
。
-b 选项指定 ldif 实用程序应将整个输入解释为单个二进制值。如果不存在,每行都被视为单独的输入值。