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

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

我尝试了各种方法来安装证书,但似乎 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....

然后尝试使用 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.

然后我在 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

附言我正在使用 Ubuntu 14.04

答案1

这个明显具有误导性的错误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

.pem对和文件使用相同的名称开头.key

它将要求您提供.pfx文件密码来获取.pem.key文件。

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

在您的用户主目录中或/opt创建以下目录:

.cisco/certificates/client
.cisco/certificates/client/private

您必须手动创建这些。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

做步骤第四第五本网站

哪个是:

apt-get install network-manager-openconnect-gnome

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

选择Cisco AnyConnect 兼容 VPN (openconnect)

网关:[vpn.你的公司.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 不需要这个文件。

相关内容