AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1108682
Accepted
miken32
miken32
Asked: 2022-08-21 10:11:51 +0800 CST2022-08-21 10:11:51 +0800 CST 2022-08-21 10:11:51 +0800 CST

安装自定义证书后客户端错误

  • 772

我已经按照(我相信)在我的 ASA 防火墙上安装可信证书的所有正确步骤:

  • 将公司根权限作为 CA 安装到 ASA
  • 为 ASA 的主机名颁发证书
  • 将证书作为身份证书安装到 ASA
  • 将证书应用到外部接口

但是,我在尝试连接时继续在浏览器中收到此错误:

安全连接失败

连接 asa.xxx.internal 时出错。SSL 无法从对等方的证书中提取公钥。

错误代码:SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE

我已验证show crypto certificates证书已正确导入并显示为与导入的 CA 相关联。

我在这里做的唯一不是 100% 熟悉的事情是使用 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
ssl
  • 0 0 个回答
  • 41 Views

0 个回答

  • Voted
  1. Best Answer
    miken32
    2022-08-21T16:06:28+08:002022-08-21T16:06:28+08:00

    我最终想通了(度过一个星期六的有趣方式。)

    我连接openssl s_client以查看发生了什么,并从输出中提取了一条错误消息:

    验证错误:证书公钥具有显式 ECC 参数

    所以,我不确定如何解决这个问题。我正在根据信息安全 SE 上的这个答案生成密钥并颁发证书。默认值应该命名为曲线,而不是显式参数,但即使我设置了值,我仍然得到相同的结果。


    我稍后会弄清楚,但与此同时,我最终要做的是在 ASA 上生成一个密钥,然后将其导出以生成证书。这有点hacky,但它有效:

    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 数据(不包括 BEGIN 和 END 行)复制到我的服务器并执行此操作以获取密钥:

    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
    

    此时,我提供了证书文件(同样没有 BEGIN 和 END 行),然后单独一行“退出”。

    最后,我能够启用证书ssl trust-point my_tls_certificate outside并成功连接。

    • 1

相关问题

  • 如何使用 Tomcat 5.5 更新 SSL 证书

  • 为 IIS6 自行生成 SSL 证书?

  • plesk 上的域和子域 ssl 访问

  • 如何设置 SSL 邮件服务器?

  • 如何通过 SVN 命令行接受 SSL 证书?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve