如何正确安装发给我的证书?

And*_*ius 4 firefox vpn certificate ssl cisco-vpn-client

我尝试了各种方法来安装证书,但似乎 linux 没有看到它或其他东西是错误的。

.pfx必须能够通过 vpn 连接到另一台服务器(需要使用 Cisco AnyConnect)。我尝试将其转换为.pem,然后将该文件添加到/usr/share/ca-certs(在其中创建新目录或直接将其放入),然后运行`update-ca-certificates。我总是得到这样的回应:

Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Run Code Online (Sandbox Code Playgroud)

然后尝试使用 Cisco AnyConnect 进行连接,会出现此错误: 'Certificate validation error

我设法导入证书的唯一方法是通过 Firefox。我在Your Certificates.

然后再次尝试使用 Cisco AnyConnect 进行连接,它会给我这个错误:

The AnyConnect package on the secure gateway could not be located. You may be experiencing network connectivity issues. Please try connecting again.
Run Code Online (Sandbox Code Playgroud)

然后我在 Firefox 中打开了导入的证书并看到了这条消息:

could not verify this certificate because the issuer is not trusted.

所以进入权威我找到了颁发给我这个证书并编辑为可信的人,勾选所有选项。现在它显示它已通过 ssl 客户端证书、电子邮件签名者证书、SSL 证书颁发机构、状态响应者证书验证。

但是,尝试使用 cisco anyconnect 进行连接时,仍会出现未找到安全网关的错误。

我不知道我还能做些什么来解决这个问题。

我还在这里写了另一个相关问题。那个更多是关于正确配置 vpn,而这个更多关于正确安装证书。

相关问题的链接:https : //askubuntu.com/questions/484096/setting-up-vpn-connection-with-cisco-anyconnect-the-anyconnect-package-on-the

PS我使用的是 Ubuntu 14.04

小智 5

明显的误导性错误The AnyConnect package on the secure gateway could not be located...意味着 AnyConnect 实际上确实使用了您希望它使用的证书。

如果您的目标是让 VPN 连接按预期工作,那么正确安装供 AnyConnect 使用的证书就不是问题。

在这种情况下如何使 VPN 连接实际工作低于您最初问题的答案。


你的问题的答案:

AnyConnect 检查证书文件的各个位置,包括 Web 浏览器使用的位置。

使问题复杂化的是,需要检查不同类型的证书文件,并且所有证书文件都应进入专用于其类型的目录,以便 AnyConnect 查看它们。

在 AnyConnect 期望找到的位置手动安装证书

在你的情况下这样做:

openssl pkcs12 -in source.pfx -out exported.pem -nokeys
openssl pkcs12 -in source.pfx -out exported.key -nocerts
Run Code Online (Sandbox Code Playgroud)

使用以.pem.key文件开头的相同名称。

它会要求您提供.pfx文件传递以获取.pem.key文件。

它会要求您为.key文件设置通行证。应该有pass重复提示并且没有错误。AnyConnect 将在按下连接按钮后要求此通过,但在显示用于连接身份验证的登录/通过字段之前。

在您的用户主目录中或/opt创建这些目录:

.cisco/certificates/client
.cisco/certificates/client/private
Run Code Online (Sandbox Code Playgroud)

您必须手动创建这些。AnyConnect 的安装程序仅创建/opt/.cisco/certificates/ca目录。

.pem文件放在手动创建的第一个目录中,将.key文件放在第二个目录中。

现在 AnyConnect 应该能够按预期使用这些,前提是所有目录和文件都具有正确的访问权限。

这些目录在 Cisco 的文档(为 Mac 和 Linux 创建 PEM 证书存储)的某处提到。

看到同样的错误不要感到惊讶The AnyConnect package on the secure gateway could not be located...。参见下文。


如何使 VPN 连接真正按照您希望的方式工作:

在我的情况下,到目前为止,仅使用具有相同密钥文件的 OpenConnect:

如上所述创建.pem.key文件,

从此站点执行第 4步和第 5

哪个是:

apt-get install network-manager-openconnect-gnome
Run Code Online (Sandbox Code Playgroud)

打开网络连接,转到 VPN 选项卡,单击新建

选择Cisco AnyConnect Compatible VPN (openconnect)

网关: [ vpn.yourcompany.com ]

用户证书: [选择您的导出的.pem]

私钥: [选择您导出的.key]

现在尝试连接

(通过屏幕上时钟旁边可见的网络连接小程序应该可以正常工作)

在 xubuntu 14.04 上对我有用


为什么 AnyConnnect 不起作用而 OpenConnect 起作用?

/var/log/syslog我发现 AnyConnect 尝试从另一端的服务器下载某些内容,但404 error多次下载并因此失败:

(...) acvpnui(...)Description: CTRANSPORT_ERROR_HTTP_RETURNED_ERROR:The HTTP server returned an error code (>= 400) HTTP status code received 404

此错误消息意味着 AnyConnect在成功通过身份验证后尝试从另一端的服务器获取某些信息,但由于文件(显然是其工作所必需的)不可用而断开连接。

看起来 OpenConnect 不需要这个文件。