Tôi muốn có một cách để tìm nạp chứng chỉ ứng dụng khách của người dùng từ cửa hàng chứng chỉ Windows, để xác thực các dịch vụ web được bảo vệ trong các công cụ xử lý địa lý
Trước đây tôi đã thực hiện việc này bằng pythonnet nhưng pythonnet [vẫn là?
Đối với những người trong chúng ta làm việc trong môi trường "cực kỳ có ý thức bảo mật", có thể mở rộng ArcGIS Pro để tích hợp các dịch vụ web được bảo vệ mà không can thiệp vào quy trình làm việc của người dùng và không phải sử dụng phần mềm. NET SDK, là một nhu cầu quan trọng
Python certifi cung cấp bộ sưu tập Chứng chỉ gốc được tuyển chọn kỹ lưỡng của Mozilla để xác thực độ tin cậy của chứng chỉ SSL trong khi xác minh danh tính của máy chủ TLS. Nó đã được lấy từ dự án yêu cầu. Thư viện yêu cầu của Python sử dụng tệp CA của chính nó theo mặc định hoặc sẽ sử dụng gói chứng chỉ của gói certifi nếu được cài đặtCài đặt chứng chỉ Python
Để cài đặt gói python certifi, bạn phải gõ lệnh sau
python3 -m pip install certifi # OR pip install certifi
Nếu bạn đã cài đặt thư viện yêu cầu thì 100% khả năng thư viện certifi cũng đã được cài đặt, nhưng bạn phải kiểm tra nó. Vì vậy, nếu bạn nhấn lệnh sau, nó sẽ cho chúng tôi biết rằng yêu cầu đã được đáp ứng hoặc nó sẽ cài đặt trên máy của bạn
Mặc dù có thể chuyển gói CA của riêng bạn tới các Yêu cầu để ghi đè các CA mặc định, nhưng một số gói của bên thứ ba sử dụng các Yêu cầu ngầm và không có cách nào bạn có thể yêu cầu họ sử dụng vị trí tùy chỉnh để xác minh
Cách cài đặt chứng chỉ Python trên Windows
Để cài đặt certifi Python trên Microsoft Windows
- Nhập cmd vào thanh tìm kiếm và nhấn Enter để mở dòng lệnh
- Nhập python3 -m pip install certifi trong dòng lệnh và nhấn Enter lần nữa. Điều này cài đặt certifi cho cài đặt Python mặc định của bạn
- Lệnh trước có thể không hoạt động nếu bạn có cả Python phiên bản 2 và 3 trên máy tính của mình. Trong trường hợp đó, hãy thử lệnh pip3 install certifi. Nó hiện đã được cài đặt trong hệ thống của bạn
Cách cài đặt chứng chỉ Python trên Linux
Để cài đặt certifi Python trên Linux
- Mở terminal hoặc shell trong hệ điều hành Linux của bạn
- Nhập python3 -m pip install certifi và nhấn Enter
- Nếu nó không hoạt động, hãy thử sử dụng lệnh này. pip3 cài đặt chứng chỉ hoặc python -m pip cài đặt chứng chỉ
Chứng chỉ Python. ở đâu[]
Giấy chứng nhận. hàm where[] giúp chúng ta tìm tham chiếu của gói tổ chức phát hành chứng chỉ [CA] đã cài đặt trong Python.
import certifi print[certifi.where[]]
đầu ra
/Users/krunal/Library/Python/3.8/lib/python/site-packages/certifi/cacert.pem
Bạn cũng có thể tìm thấy cacert. đường dẫn pem từ dòng lệnh bằng lệnh sau
python -m certifi /Users/krunal/Library/Python/3.8/lib/python/site-packages/certifi/cacert.pem
Các trình duyệt và cơ quan cấp chứng chỉ đã kết luận rằng các khóa 1024 bit yếu không thể chấp nhận được đối với các chứng chỉ, đặc biệt là chứng chỉ gốc
Vì lý do tương tự, Mozilla đã loại bỏ bất kỳ điểm yếu nào [i. e. , khóa 1024-bit] từ gói của nó, thay thế nó bằng chứng chỉ mạnh tương đương [i. e. , khóa 2048 bit trở lên] từ cùng một CA
Ghi chú. Certifi không hỗ trợ bất kỳ bổ sung/xóa hoặc sửa đổi nào khác đối với nội dung của kho lưu trữ ủy thác CA.
Nếu bạn đặt các chứng chỉ bổ sung trong tệp gói PEM, bạn có thể sử dụng hai biến môi trường này để ghi đè lên các cửa hàng chứng chỉ mặc định được Python OpenSSL và Yêu cầu sử dụng
SSL_CERT_FILE=/System/Library/OpenSSL/cert.pem REQUESTS_CA_BUNDLE=/System/Library/OpenSSL/cert.pem
Tuy nhiên, chúng tôi có thể nhanh chóng kiểm tra điều này khi tập lệnh của chúng tôi khởi động và tự động cập nhật gói CA với một CA nhất định nếu cần
Trước tiên, chụp CA tùy chỉnh của bạn và lưu nó dưới dạng PEM;
Nếu bạn chỉ có một. chắc chắn,. crt, hoặc. derenSSL
openssl x509 -inform der -in certificate.cer -out certificate.pem
Nếu bạn có nhiều gốc hoặc trung gian tùy chỉnh, bạn có thể thêm tất cả chúng vào một. pem khi bạn chuyển đổi xong tất cả
Kéo chứng chỉ. pem vào thư mục gốc của dự án của bạn
Bây giờ, chúng tôi sẽ thử yêu cầu URL mục tiêu. Trong trường hợp của chúng tôi, đó là API Github và nếu chúng tôi gặp phải lỗi chứng chỉ, hãy cập nhật gói CA đang được Certifi sử dụng.
import certifi import requests try: print['Checking connection to Github...'] test = requests.get['//api.github.com'] print['Connection to Github OK.'] except requests.exceptions.SSLError as err: print['SSL Error. Adding custom certs to Certifi store...'] cafile = certifi.where[] with open['certicate.pem', 'rb'] as infile: customca = infile.read[] with open[cafile, 'ab'] as outfile: outfile.write[customca] print['That might have worked.']
đầu ra
Checking connection to Github... Connection to Github OK.
giải quyết. ModuleNotFoundLỗi. Không có mô-đun nào có tên là “certifi”
ModuleNotFoundError. Không có mô-đun nào có tên ngoại lệ “certifi” được đưa ra khi mô-đun certifi không được cài đặt đúng cách hoặc bạn quên cài đặt gói certifi trong Python
Để giải quyết ModuleNotFoundError. Lỗi không có mô-đun có tên “certifi” trong Python, trước tiên hãy cài đặt thư viện certifi bằng cách sử dụng “python3 -m pip install certifi” hoặc “pip install certifi” trong vỏ hoặc thiết bị đầu cuối của hệ điều hành
Đó là ví dụ về chứng chỉ Python
Bài viết liên quan
Yêu cầu Python nhận được
Python yêu cầu đăng bài
Python urllib. lời yêu cầu. urlopen[]
Bài viết trước Cách in Loại biến trong Python
Bài viết tiếp theo Bộ Python bao gồm. Cách kiểm tra xem tập hợp có chứa phần tử hay không
kranal
https. //appdividend. com/
Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến thức về nhiều nền tảng back-end [e. g. , PHP, Nút. js, Python] và các khung JavaScript giao diện người dùng [e. g. , Góc, Phản ứng và Vue]