首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Openvpn :连接错误:缺少外部PKI别名

Openvpn :连接错误:缺少外部PKI别名
EN

Stack Overflow用户
提问于 2019-12-10 05:33:39
回答 3查看 7.6K关注 0票数 3

我刚安装了openvpn服务器版本2.4.4,它在Windows和Android中运行良好,但在Mac中出错。

代码语言:javascript
运行
复制
Tue Dec 10 10:50:31 2019 OMI Connecting to /Library/Application Support/OpenVPN/sock/ovpn-KTMpKfLsCR5a.sock [unix]
Tue Dec 10 10:50:35 2019 CLIENT_EXCEPTION : connect error: Missing External PKI alias [FATAL-ERR]
Tue Dec 10 10:50:35 2019 >FATAL:CLIENT_EXCEPTION: connect error: Missing External PKI alias

我正在MacOS版本10.4.4和Openvpn客户机2.7.1.100中进行测试。下面是client.ovpn

代码语言:javascript
运行
复制
client
dev tun
proto tcp-client
remote vpn01 9443
resolv-retry infinite
cipher AES-256-CBC
redirect-gateway

# Keys
# Identity
key-direction 1
remote-cert-tls server
auth-user-pass
auth-nocache

# Security
nobind
persist-key
persist-tun
comp-lzo
verb 3

# Proxy ?
# http-proxy cache.univ.fr 3128
<ca>
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIUdu/viXgfwhA+wu0K49vvnXaCyFkwDQYJKoZIhvcNAQEL
BQAwHDEaMBgGA1UEAwwRdnBuMDEuaG9tZWNjYS5jb20wHhcNMTkxMjA5MTA1NTQ5

有什么想法或者是什么导致了这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-26 00:50:18

OpenVPN连接客户端在MacOS上也有同样的问题--我切换到了TunnelBlick客户端软件,并且使用相同的.ovpn文件工作得很好。但是,还没有找到任何关于OpenVPN连接不起作用的线索。

票数 4
EN

Stack Overflow用户

发布于 2020-04-22 14:08:15

外部PKI意味着OpenVPN连接客户端使用“外部证书”与其配置“配置文件”相比较,该配置文件也可以具有内联.ovpn证书。据我理解,这个外部PKI可以是Windows或macOS密钥链证书存储区(或那些移动设备中的证书)中的证书。在Windows的情况下,它很简单,而且可以工作。macOS是另一个故事。

目前(作为2020-04) Catalina是最新的macOS版本,它只有CryptoTokenKit (CTK)框架,Tokend已经消失。当使用硬件安全模块(HSM)、智能卡、USB令牌时,它们不再像使用Tokend那样出现在密钥链中。不明白为什么。如果这个‘外部PKI’真的在寻找来自密钥链的证书,这就是一个问题。

https://openvpn.net/vpn-server-resources/external-public-key-infrastructure-pki/

他说

代码语言:javascript
运行
复制
On the client, the server-locked profile can only be used to make a VPN 
tunnel connection if a suitable client certificate/key pair has already
been installed into the host OS Keychain or certificate/key store. Some 
hardware devices or tokens contain a certificate inside that is registered 
with the certificate store with additional software when the token 
device/card is plugged in.

从页面的其余部分和我在其他地方读到的内容来看,我猜这个丢失的别名是将密钥链中的证书映射到给定连接尝试的名称。你不确定。

据我所知,真正的问题是Connect客户端正在寻找来自Keychain的证书,而苹果向CTK的切换破坏了它。即使这些硬件令牌在系统中工作,它们也不会出现在密钥链中。我正在寻找解决方案来撤销这一改变,然后跌跌撞撞地进入了keychain-pkcs11 11,上面写着:

https://github.com/kenh/keychain-pkcs11/blob/master/man/keychain-pkcs11.man

代码语言:javascript
运行
复制
will provide two virtual PKCS#11 slots. The first slot will provide all
identities that are available from connected SmartCards.  The second slot
will provide an interface to certificates stored in the operating system
Keychain.

这不是我想要的。它提供pkcs#11插件外部的密钥链证书,但不向密钥链填充HSM证书。

一旦你完全确定我是否正确地理解了实际的问题图,更不用说想出解决问题的办法了,你就很难解决问题了。:)

票数 0
EN

Stack Overflow用户

发布于 2020-11-09 12:06:35

您应该尝试编辑您的*.ovpn配置文件:

删除openvpn客户端中的配置文件,然后编辑从服务器导出的.ovpn文件,并在前面添加以下行

client-cert-not-required

我从https://forum.opnsense.org/index.php?topic=14687.0那里得到了这个答案

此错误发生在此之前:

配置文件修改修复了此错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59260833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档