Python Requests: CA ಬಂಡಲ್ಗಳು verify ನಲ್ಲಿರಬೇಕು, cert ನಲ್ಲಿ ಅಲ್ಲ
ಅನುಮೋದಿತ CA ವಿಶ್ವಾಸ ವಸ್ತುವನ್ನು ಪರಿಶೀಲನಾ ಸಂರಚನೆಯಲ್ಲಿ ಇರಿಸಿ, ಪ್ರಮಾಣಪತ್ರ ದೋಷವನ್ನು ಕ್ಲೈಂಟ್ನ ಖಾಸಗಿ ಕೀಲಿಯ ವಿನಂತಿಯಾಗಿ ಪರಿಗಣಿಸುವ ಬದಲು.
ಸಹೋದ್ಯೋಗಿಯೊಬ್ಬರು ಸಂಸ್ಥೆಯ CA ಪ್ರಮಾಣಪತ್ರವನ್ನು ನಿಮಗೆ ನೀಡುತ್ತಾರೆ. Requests cert ಎಂಬ ಪ್ಯಾರಾಮೀಟರ್ ನೀಡುತ್ತದೆ. ಹೆಸರುಗಳು ಹೊಂದಿಕೆಯಾಗುವಂತೆ ಕಾಣುತ್ತವೆ, ಆದರೆ ಅವು ವಿಭಿನ್ನ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸುತ್ತವೆ.
| ಸೆಟ್ಟಿಂಗ್ | ಉದ್ದೇಶ |
|---|---|
verify | ಎದುರಿಸುವ ಪಕ್ಷವನ್ನು ಪರಿಶೀಲಿಸಲು ಬಳಸುವ ವಿಶ್ವಾಸ ವಸ್ತುವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ |
cert | ಕ್ಲೈಂಟ್ ದೃಢೀಕರಣ ಅಗತ್ಯವಿದ್ದಾಗ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಅದರ ಖಾಸಗಿ ಕೀಲಿಯೊಂದಿಗೆ ಪ್ರಸ್ತುತಪಡಿಸುತ್ತದೆ |
ಅನುಮೋದಿತ ಪ್ರತಿಬಂಧಕ CAಗಾಗಿ, Requests ಕಾರ್ಯಾಚರಣೆ ಉದ್ದೇಶಿತ CA ಬಂಡಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)ಇಲ್ಲಿ routes ಅಪ್ಲಿಕೇಶನ್ನ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ರಾಕ್ಸಿ ಮ್ಯಾಪಿಂಗ್ ಆಗಿದೆ. ಮಾರ್ಗವು ಈ ಕ್ಲೈಂಟ್ಗೆ ಸರಿಯಾದ ಓದಬಹುದಾದ ವಿಶ್ವಾಸ ಬಂಡಲ್ ಅನ್ನು ಹೆಸರಿಸಬೇಕು. ಸಂಪರ್ಕ ವಿಫಲವಾದ ಕಾರಣದಿಂದಷ್ಟೇ ಆಯ್ಕೆ ಮಾಡಿದ ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ವೆಬ್ಸೈಟ್ ಪ್ರಮಾಣಪತ್ರ ಇದಲ್ಲ.
ಪರಿಸರ ಚರ REQUESTS_CA_BUNDLE ಇನ್ನೊಂದು ಬೆಂಬಲಿತ ವಿಶ್ವಾಸ ಇನ್ಪುಟ್. ಅದು ನಿಷ್ಪರಿಣಾಮಕಾರಿ ಎನಿಸಿದರೆ ನಿಜವಾದ ಕಳುಹಿಸುವ ಮಾರ್ಗವನ್ನು ಪರಿಶೀಲಿಸಿ; ಸಿದ್ಧಪಡಿಸಿದ ವಿನಂತಿ ಕಾರ್ಯಪ್ರವಾಹಗಳು ಮತ್ತು ಸ್ಪಷ್ಟ ಸೆಟ್ಟಿಂಗ್ಗಳು ಪರಿಸರ ಸಂರಚನೆ ಹೇಗೆ ವಿಲೀನಗೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಿಸಬಹುದು.
ನಿಮಗೆ CAಯ ಖಾಸಗಿ ಕೀಲಿ ಅಗತ್ಯವಿರಬಾರದು
ಕ್ಲೈಂಟ್ ಅನುಮೋದಿತ ನೀಡುಗರನ್ನು ಗುರುತಿಸಲು ಬೇಕಾದದ್ದು ಸಾರ್ವಜನಿಕ CA ಪ್ರಮಾಣಪತ್ರ. ಅದರ ಸಹಿ ಖಾಸಗಿ ಕೀಲಿ ಇನ್ನೊಂದು ಪಕ್ಷದ ಪ್ರಬಲ ರಹಸ್ಯ. ಸಾಮಾನ್ಯ ಪ್ರಾಕ್ಸಿ-ವಿಶ್ವಾಸ ದುರಸ್ತಿಯ ಭಾಗವಾಗಿ ಅದನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಬಳಕೆದಾರರಿಗೆ ಹಂಚಬಾರದು.
ನಿರ್ದಿಷ್ಟ ಗಮ್ಯಸ್ಥಾನ ಅಥವಾ ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂರಚಿಸಿದ TLS ಸಂಬಂಧವು ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಇನ್ನೂ ಕೇಳಬಹುದು. ಅದು ಪ್ರತ್ಯೇಕ ಅಗತ್ಯವಾಗಿದೆ, ಪ್ರತಿ ಪ್ರಮಾಣಪತ್ರ-ಪರಿಶೀಲನಾ ದೋಷದಿಂದ ಊಹಿಸುವ ವಿಷಯವಲ್ಲ.
ಮುಂದಿನ ದೋಷ ಕಾಣಿಸಿದಾಗ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಹೆಸರಿಸಿ: CA ಫೈಲ್ ಲೋಡ್ ಮಾಡುವುದು, ಎದುರಿಸುವ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪರಿಶೀಲಿಸುವುದು, ಅಥವಾ ಕ್ಲೈಂಟ್ ಗುರುತನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುವುದು. ಸಂದೇಶ ಬದಲಾಗುವವರೆಗೆ verify ಮತ್ತು cert ನಡುವೆ ಫೈಲ್ ಸರಿಸುವುದು ಅದರ ಪಾತ್ರವನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ನಂಬಲರ್ಹ ದಾರಿಯಲ್ಲ.