小编Anc*_*nca的帖子

OpenSSL 将字符转换为 UTF-8 文字

我在 Php 中运行一个简单的 PKI Web 应用程序,它使用 OpenSSL shell 命令并将信息存储在文本数据库中。我必须处理非 ASCII 输入字符(例如德语)但是当创建新证书时,字段变成

[...] /C=DE/ST=H\xC3\xA4mburg/L=H\xC3\xA4mburg/O=\xC3\x9FBCD/OU=\xC3\xA4BC/ [...]
Run Code Online (Sandbox Code Playgroud)

我已经添加

[req]
utf8                = yes
string_mask         = utf8only
name_opt            = multiline,-esc_msb,utf8
Run Code Online (Sandbox Code Playgroud)

到 OpenSSL 配置文件,证书是使用创建的

openssl req -utf8 [...]
openssl ca -utf8 [...]
Run Code Online (Sandbox Code Playgroud)

该程序写出用于请求和创建用户证书的临时配置文件。我已经检查过,用户配置文件中的字段以及 CA 中的字段都很好。OpenSSL 创建证书时会出现此问题。数据库和证书包含这些代码而不是正确的字符。

我还尝试使用将数据库文件转换为 UTF-8,iconv但该文件仍为 US-ASCII 格式。这种方法file --mime-encoding输出内容更改为 utf-8,但 OpenSSL 继续以与以前相同的方式写入新条目。

我还会提到我正在发送 utf-8 标头并AddDefaultCharset utf-8在虚拟主机中进行设置。区域设置de_DE.utf8在代码和服务器上设置为。

我错过了什么?任何帮助表示赞赏。

unicode openssl

6
推荐指数
1
解决办法
5157
查看次数

标签 统计

openssl ×1

unicode ×1