如何在OpenVPN中处理单个客户端configuration,其中证书的通用名称包含非UTF8字符(如瑞典语名称)?
我看了一下OpenVPN的日志,它说:
10.0.0.6:33157 [l vberg] Peer Connection Initiated with [AF_INET]... l vberg/10.0.0.6:33157 MULTI_sva: pool returned IPv4... l vberg/10.0.0.6:33157 MULTI: Learn: ... l vberg/10.0.0.6:33157 SENT CONTROL [l vberg]: 'PUSH_REPLY...
所以我倾倒了日志的“二进制”表示,这就是它实际上说的:
10.0.0.6:33157 [l\xef\xbf\xbd\xef\xbf\xbdvberg] Peer Connection Initiated with [AF_INET]...
其转化为:
10.0.0.6:33157 [lövberg] Peer Connection Initiated with [AF_INET]...
现在,我/etc/openvpn/ccd/lovberg文件命名为:
/etc/openvpn/ccd/lövberg /etc/openvpn/ccd/lv\xef\xbf\xbd\xef\xbf\xbdberg
但是没有一个可行。 这里简单的解决办法显然是更改证书中的通用名称并重新颁发证书,但是我宁愿在不必这样做的情况下解决此问题。
这可能吗?
编辑:是的,我使用Python,我把日志的输出从tail -f openvpn.log复制到Python中,以获得ö的“二进制”表示。
OpenVPN 2.3.10 i386-openbsd5.9(OpenSSL)
作为一个有教养的猜测:你的例子可能无法正常工作,因为你的控制台和openvpn之间的编码不同。 使用UTF-8或者isolatin1你可能会很幸运。