openssl 是否理解 link-local IPv6 地址?
Does openssl understand link-local IPv6 address?
我无法理解为什么这个命令不起作用:
openssl s_client -connect [fe80::xxxx:xxxx:xxxx:xxxx]:yyyy
注意:我用 x
混淆了上面的 link 本地地址,但我有一些有效的 link 本地 ipv6 地址。
yyyy
是端口号。
我收到错误:
1995535248:error:02002016:system library:connect:Invalid argument:../crypto/bio/b_sock2.c:108:
1995535248:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:109:
connect:errno=22
我也试过用 single/double 引号,但结果是同样的错误:
openssl s_client -connect '[fe80::xxxx:xxxx:xxxx:xxxx]:yyyy'
我使用的是 OpenSSL 1.1.0f 版本,应该支持 IPv6。
使用 IPv4 地址,有效。
IPv6 link 本地地址需要范围 ID,但您似乎没有。因此您的地址无效,您收到的错误 Invalid argument
确实是问题所在。
要修复它,请添加正确的范围 ID,即您要连接的接口。例如:
# openssl s_client -connect "[fe80::e1f5:ba3f:9ae5:4fe9%wlp5s0]:443"
CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = localhost.localdomain, emailAddress = root@localhost.localdomain
verify error:num=18:self signed certificate
verify return:1
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = localhost.localdomain, emailAddress = root@localhost.localdomain
verify return:1
我无法理解为什么这个命令不起作用:
openssl s_client -connect [fe80::xxxx:xxxx:xxxx:xxxx]:yyyy
注意:我用 x
混淆了上面的 link 本地地址,但我有一些有效的 link 本地 ipv6 地址。
yyyy
是端口号。
我收到错误:
1995535248:error:02002016:system library:connect:Invalid argument:../crypto/bio/b_sock2.c:108:
1995535248:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:109:
connect:errno=22
我也试过用 single/double 引号,但结果是同样的错误:
openssl s_client -connect '[fe80::xxxx:xxxx:xxxx:xxxx]:yyyy'
我使用的是 OpenSSL 1.1.0f 版本,应该支持 IPv6。
使用 IPv4 地址,有效。
IPv6 link 本地地址需要范围 ID,但您似乎没有。因此您的地址无效,您收到的错误 Invalid argument
确实是问题所在。
要修复它,请添加正确的范围 ID,即您要连接的接口。例如:
# openssl s_client -connect "[fe80::e1f5:ba3f:9ae5:4fe9%wlp5s0]:443"
CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = localhost.localdomain, emailAddress = root@localhost.localdomain
verify error:num=18:self signed certificate
verify return:1
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = localhost.localdomain, emailAddress = root@localhost.localdomain
verify return:1