我遵循(我相信)所有正确的步骤,在我的ASA防火墙上安装了一个可信的证书:
但是,在试图连接时,我继续在浏览器中获取此错误:
安全连接失败在连接到asa.xxx.internal期间发生错误。SSL无法从对等方的证书中提取公钥。错误代码: SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE
我已经用show crypto certificates验证了证书已被正确导入,并显示为与导入的CA相关联。
我在这里做的唯一不太熟悉的事情是使用EC证书,而不是RSA,但这似乎不应该有任何关系。
show run的相关部分:
hostname asa
domain-name xxx.internal
http server enable
crypto ca trustpoint ASDM_TrustPoint0
enrollment terminal
validation-usage ipsec-client ssl-client ssl-server
crl configure
crypto ca trustpoint ASDM_TrustPoint1
keypair ASDM_TrustPoint1
no validation-usage
crl configure
crypto ca trustpool policy
auto-import
crypto ca certificate chain ASDM_TrustPoint0
certificate ca 4e7bf88d72c08d4efa48d3ec658e5a3281b2c6aa
3082028e 30820233 a0030201 0202144e 7bf88d72 b08d4efa 48d3ec65 8e5a3281
...
quit
crypto ca certificate chain ASDM_TrustPoint1
certificate c47d26f97ee247a9
308203d8 3082037e a0030201 02020900 c47d26f9 7ee247a7 300a0608 2a8648ce
...
quit
certificate ca 4e7bf88d72c08d4efa48d3ec658e5a3281b2c6aa
3082028e 30820233 a0030201 0202144e 7bf88d72 b08d4efa 48d3ec65 8e5a3281
quit
ssl server-version tlsv1.2
ssl trust-point ASDM_TrustPoint1 outside发布于 2022-08-21 00:06:28
我终于想出了(度过一个星期六的有趣方式)。
我与openssl s_client连接以查看发生了什么,并从输出中提取了一条错误消息:
验证错误:证书公钥具有显式ECC参数。
所以,我不知道如何解决这个问题。我正在生成密钥并在信息安全SE ( Information )上按这个答案颁发证书。默认值应该是命名曲线,而不是显式参数,但是即使我设置了值,我仍然得到相同的结果。
稍后我会弄清楚这一点,但与此同时,我不得不在ASA上生成一个键,并将其导出以完成证书生成。这是有点烦躁,但它起了作用:
crypto key generate ecdsa label my_private_key elliptic-curve 384
crypto ca trustpoint throwaway
keypair mykey
enrollment self
exit
crypto ca enroll throwaway noconfirm
crypto ca export throwaway pkcs12 foo
no crypto ca trustpoint throwaway noconfirm此时,我在终端上有一个base64 PKCS #12包。我将base64数据(不包括开始行和结束行)复制到服务器上,然后执行此操作以获得密钥:
echo "MIIEDwIBAzCCA8UGC..." | base64 -d | \
openssl pkcs12 -nocerts -nodes -password pass:foo > my.key成功,我有钥匙!我使用它生成证书,并使用前面的键区创建了一个新的信任点:
crypto ca trustpoint my_tls_certificate
enrollment terminal
no ca-check
subject-name CN=asa.xxx.internal
keypair my_private_key
exit
crypto ca enroll my_tls_certificate noconfirm
crypto ca import my_tls_certificate certificate在这一点上,我提供了证书文件(同样没有开始行和结束行),并在一行上提供了“退出”。
最后,我能够使用ssl trust-point my_tls_certificate outside启用证书并成功连接。
https://serverfault.com/questions/1108682
复制相似问题