Python Requests: CA ବଣ୍ଡଲ verify ରେ ରହେ, cert ରେ ନୁହେଁ
ଅନୁମୋଦିତ CA ବିଶ୍ୱାସ ସାମଗ୍ରୀକୁ verification କନଫିଗରେସନରେ ରଖନ୍ତୁ, ପ୍ରମାଣପତ୍ର ତ୍ରୁଟିକୁ କ୍ଲାଏଣ୍ଟର ବ୍ୟକ୍ତିଗତ କୀ ପାଇଁ ଅନୁରୋଧ ଭାବରେ ନ ଧରି।
ଜଣେ ସହକର୍ମୀ ଆପଣଙ୍କୁ ସଂସ୍ଥାର 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 ମଧ୍ୟରେ ଫାଇଲ ଘୁଞ୍ଚାଇବା ଏହାର ଭୂମିକା ଚୟନ କରିବାର ବିଶ୍ୱସନୀୟ ଉପାୟ ନୁହେଁ।