我有 OpenSSL 证书颁发机构,并且生成了根证书(自签名)、中间证书(由根证书签名)、服务器证书(由中间证书签名)和客户端证书(由中间证书签名)。
服务器证书上传到我的 Cisco ASA 上(作为身份证书)。另外,我还上传了我的 ASA 根证书和中级证书。
我是否需要在客户端计算机上安装根证书和中间证书?或者客户端证书就足够了?(这适用于应使用客户端证书进行身份验证的 VPN 客户端)
我有 OpenSSL 证书颁发机构,并且生成了根证书(自签名)、中间证书(由根证书签名)、服务器证书(由中间证书签名)和客户端证书(由中间证书签名)。
服务器证书上传到我的 Cisco ASA 上(作为身份证书)。另外,我还上传了我的 ASA 根证书和中级证书。
我是否需要在客户端计算机上安装根证书和中间证书?或者客户端证书就足够了?(这适用于应使用客户端证书进行身份验证的 VPN 客户端)
您有多个 X509 密钥库,有些可能位于不同的位置,有些可能位于同一位置/文件。
对于每个 TLS/SSL 侦听器,您都有一个身份密钥库。其中包含服务的验证密钥、服务的证书以及属于签署该证书的证书链一部分的所有中间证书。顺序应该是服务证书、链、私钥。根证书不应该在这里。
对于每个需要使用客户端证书进行身份验证的 TLS/SSL 客户端,您都有一个类似的身份密钥库,其中包含客户端证书、中间证书、客户端密钥。根证书不应该在这里。
TLS/SSL 客户端的信任密钥库。这将验证服务器证书。它应仅包含服务的根证书。它还可以包含中间证书。但这些可能位于用于中间证书的另一个密钥库中。
TLS/SSL 服务器的信任密钥库,用于验证与其侦听器的每个客户端连接。这应该包含用于签署客户端证书的根证书。
您可能拥有带有已吊销证书的 X509 密钥库。
在您的情况下,客户端和服务器的根证书是相同的。
通常客户端证书是由根 ca 或中间机构颁发给客户端的,所以我认为客户端需要拥有根 ca。否则证书链不完整,客户端证书无法验证。
Cisco AnyConnect 安全移动客户端使用简单证书注册协议 (SCEP) 来配置和续订证书,作为客户端身份验证的一部分。AnyConnect IPsec 和 SSL VPN 连接通过以下方式支持使用 SCEP 进行证书注册:
SCEP 代理:ASA 充当客户端和证书颁发机构 (CA) 之间 SCEP 请求和响应的代理。
CA 必须可供 ASA(而非 AnyConnect 客户端)访问,因为客户端不会直接访问 CA。
注册始终由客户自动发起。无需用户参与。
证书颁发机构要求 支持所有符合 SCEP 的 CA,包括 IOS CS、Windows Server 2003 CA 和 Windows Server 2008 CA。
因此 VPN 客户端安装证书。我绝对推荐使用 SCEP 进行客户端证书注册,这样可以为每个 VPN 用户部署证书,从而节省大量工作。