代码之家  ›  专栏  ›  技术社区  ›  Nishabu

如何在Python3中使用自签名证书

  •  0
  • Nishabu  · 技术社区  · 6 年前

    我已在Windows Server 2012 R2[WSUS Server-10.66.194.98][Dec15.cer]中生成了自签名证书,并在所有“WSUS管理”网站中启用了SSL。现在我想在python代码中使用它来联系服务器。

    Dec15.cer

    我遇到了下面的错误

    这就是我试过的。

    wsusutil.exe配置SSL 10.66.194.98

    然后我将Dec15.cer复制到python根目录。并运行下面的代码

    from requests import Session
    from requests_ntlm import HttpNtlmAuth
    
    user = 'administrator'
    password = '******'
    session = Session()
    session.cert = session.verify = 'Dec15.cer'
    # session.verify = False
    session.auth = HttpNtlmAuth(user, password)
    print(session.get("https://10.66.194.98:8531/ApiRemoting30",
                  verify=session.verify,
                  cert=session.cert))
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Steffen Ullrich    6 年前

    当有问题的证书 Dec15.cer 是自签名证书,它没有基本约束CA:true:

    $ openssl x509 -text -in Dec15.cer 
    ...
        X509v3 extensions:
            X509v3 Key Usage: 
                Key Encipherment, Data Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
    

    但是,正如我在评论中已经说过的,颁发给 verify 参数在 requests 必须是CA证书,即具有基本约束 CA:true