Python yêu cầu cửa hàng chứng chỉ Windows

Nếu sử dụng mô-đun ssl Python [e. g. như là một phần của việc tạo kết nối tới // URL], Python trong cấu hình mặc định của nó sẽ muốn lấy danh sách X đáng tin cậy. 509 / Chứng chỉ SSL để xác minh kết nối

Nếu không tìm thấy danh sách các chứng chỉ đáng tin cậy, bạn có thể gặp phải các lỗi như ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate

Cách Python tìm kiếm chứng chỉ¶

Theo mặc định, Python có thể sẽ gọi ssl.SSLContext.load_default_certs[] để tải các chứng chỉ mặc định

Trên Windows, Python tự động tải chứng chỉ từ kho chứng chỉ Windows. Điều này chỉ nên hoạt động với PyOxidizer

Trên tất cả các nền tảng, Python cố tải chứng chỉ từ các vị trí mặc định được biên dịch vào thư viện OpenSSL đang được sử dụng. Với PyOxidizer, thư viện OpenSSL [hoặc LibreSSL] là một phần của bản phân phối Python được sử dụng để tạo tệp nhị phân

Thư viện OpenSSL mã cứng đường dẫn tìm kiếm chứng chỉ mặc định. Đối với các bản phân phối Python của PyOxidizer, các đường dẫn là

  • [Windows] C:\Program Files\Common Files\SSL\cert.pem [tệp] và

    def make_exe[]:
        dist = default_python_distribution[]
        exe = dist.to_python_executable[name="myapp"]
    
        # Check for newer versions at //pypi.org/project/certifi/.
        exe.add_python_resources[exe.pip_install[["certifi==2020.12.5"]]]
    
        return exe
    
    0 [thư mục]

  • [không phải Windows]

    def make_exe[]:
        dist = default_python_distribution[]
        exe = dist.to_python_executable[name="myapp"]
    
        # Check for newer versions at //pypi.org/project/certifi/.
        exe.add_python_resources[exe.pip_install[["certifi==2020.12.5"]]]
    
        return exe
    
    1 [tệp] và
    def make_exe[]:
        dist = default_python_distribution[]
        exe = dist.to_python_executable[name="myapp"]
    
        # Check for newer versions at //pypi.org/project/certifi/.
        exe.add_python_resources[exe.pip_install[["certifi==2020.12.5"]]]
    
        return exe
    
    2 [thư mục]

Ngoài ra, OpenSSL [chứ không phải LibreSSL] sẽ tìm các biến môi trường

def make_exe[]:
    dist = default_python_distribution[]
    exe = dist.to_python_executable[name="myapp"]

    # Check for newer versions at //pypi.org/project/certifi/.
    exe.add_python_resources[exe.pip_install[["certifi==2020.12.5"]]]

    return exe
3 và
def make_exe[]:
    dist = default_python_distribution[]
    exe = dist.to_python_executable[name="myapp"]

    # Check for newer versions at //pypi.org/project/certifi/.
    exe.add_python_resources[exe.pip_install[["certifi==2020.12.5"]]]

    return exe
4 để tự động đặt tệp và thư mục CA tương ứng

Python có sử dụng cửa hàng Chứng chỉ Windows không?

Trên Windows, Python tự động tải chứng chỉ từ kho chứng chỉ Windows .

Yêu cầu Python có sử dụng SSL không?

Yêu cầu xác minh chứng chỉ SSL cho yêu cầu HTTPS , giống như trình duyệt web. Chứng chỉ SSL là các tệp dữ liệu nhỏ liên kết kỹ thuật số khóa mật mã với thông tin chi tiết của tổ chức. Thông thường, một trang web có chứng chỉ SSL được gọi là trang web an toàn.

Python lưu trữ chứng chỉ SSL ở đâu?

Theo mặc định, mô-đun ssl của Python sử dụng gói chứng chỉ CA hệ thống - /etc/pki/tls/certs/ca-bundle

Chứng chỉ cho Windows được lưu trữ ở đâu?

Kho chứng chỉ này được đặt trong sổ đăng ký dưới thư mục gốc HKEY_LOCAL_MACHINE . Loại kho lưu trữ chứng chỉ này là cục bộ đối với tài khoản người dùng trên máy tính. Kho lưu trữ chứng chỉ này nằm trong sổ đăng ký dưới thư mục gốc HKEY_CURRENT_USER.

Chủ Đề