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
    • 最新
    • 标签
主页 / unix / 问题 / 560684
Accepted
Piotr P. Karwasz
Piotr P. Karwasz
Asked: 2020-01-07 11:42:29 +0800 CST2020-01-07 11:42:29 +0800 CST 2020-01-07 11:42:29 +0800 CST

如何使用 OpenSSL 1.1 在 wpa_supplicant 中启用 MD5 证书?

  • 772

由于我升级到 Debian 10,我无法连接到eduroam。事实证明,我的雇主决定使用使用散列函数EAP-TLS签名的客户端证书。MD5

从我在网上可以找到的内容来看,MD5签名证书在 OpenSSL 1.1 版中被禁用,并且wpa_supplicant日志似乎证实了这一点:

wpa_supplicant[718]: EAP: EAP entering state RECEIVED
wpa_supplicant[718]: EAP: Received EAP-Request id=3 method=13 vendor=0 vendorMethod=0
wpa_supplicant[718]: EAP: EAP entering state GET_METHOD
wpa_supplicant[718]: wlp4s0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=13
wpa_supplicant[718]: EAP: Status notification: accept proposed method (param=TLS)
wpa_supplicant[718]: EAP: Initialize selected EAP method: vendor 0 method 13 (TLS)
wpa_supplicant[718]: TLS: using phase1 config options
wpa_supplicant[718]: TLS: Trusted root certificate(s) loaded
wpa_supplicant[718]: OpenSSL: tls_connection_client_cert - SSL_use_certificate_file failed error:140C618E:SSL routines:SSL_use_certificate:ca md too weak
wpa_supplicant[718]: TLS: Failed to set TLS connection parameters
wpa_supplicant[718]: ENGINE: engine deinit
wpa_supplicant[718]: EAP-TLS: Failed to initialize SSL.
wpa_supplicant[718]: wlp4s0: EAP: Failed to initialize EAP method: vendor 0 method 13 (TLS)

OpenSSL 1.1 中有没有办法启用MD5,最好只用于wpa_supplicant?

openssl wpa-supplicant
  • 1 1 个回答
  • 1245 Views

1 个回答

  • Voted
  1. Best Answer
    Piotr P. Karwasz
    2020-01-11T15:38:15+08:002020-01-11T15:38:15+08:00

    为了后代,我最终会阅读 OpenSSL 和 wpa_supplicant 的源代码并找到(部分)解决方案。

    问题是由 OpenSSL 的默认安全回调引起的,它(合理地)在每个级别禁用 MD5 的使用:证书签名和隧道密码套件。我想禁用对客户端证书的检查,因为这不会给我带来任何安全风险(应该关注另一个端点)。但是,如果不替换安全回调就无法做到这一点,这不是一个干净的解决方案。

    因此,在wpa_supplicant中使用弱客户端证书的唯一方法是将安全级别降低到 0。虽然大多数 Google 搜索“ca md too weak”最终建议修改默认OpenSSL配置以包括:

    openssl_conf = <section_default_conf>
    
    [<section_default_conf>]
    ssl_conf = <section_ssl_conf>
    
    [<section_ssl_conf>]
    system_default = <section_system_default>
    
    [<section_system_default>]
    MinProtocol = TLSv1
    CipherString = DEFAULT@SECLEVEL=0
    

    其中<section_default_conf>,<section_ssl_conf>和<section_system_default>是任意名称,这不适用于wpa_supplicant,它会覆盖默认配置。

    为了降低wpa_supplicant的安全级别,我必须向他提供一个配置文件 ( /etc/wpa_supplicant/wpa_supplicant.conf),其中包含:

    openssl_ciphers=DEFAULT@SECLEVEL=0
    

    仅当使用接口参数 ( ) 调用wpa_supplicant时才使用此设置-i <interface>。作为大多数用户,我不直接使用 wpa_supplicant,而是使用 NetworkManager 来完成。在 Debian 上,两者作为服务运行并通过 DBus(或 Unix 套接字)进行通信。

    由于NetworkManager无法将openssl_ciphers参数传递给wpa_supplicant,因此必须通过修改wpa_supplicant.service(through systemctl edit --full wpa_supplicant.service) 对所有 WiFi 连接执行此操作,以便 exec 指令来自:

    ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
    

    阅读:

    ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    

    wlan0(唯一的)WiFi 接口的名称在哪里。

    • 0

相关问题

  • 带有 -servername 的 openssl -showcerts 给出了错误的锚点/根目录?

  • openssl 'genpkey -algorithm RSA' vs. 'genrsa'

  • 手动验证 S/MIME 消息摘要

  • 如何使用 pv 显示 openssl 加密/解密的进度?

  • 对 openssl 加密文件中的盐感到困惑

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve