slackapi / slackapi/python-slack-sdk

Why we don't use certifi root certificates by default?

Open
#1,491 7 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement question
Dominant language
Python
Stars
4k
Forks
857
Avg merge
22h 21m
Merged PRs (30d)
16

Description

Hey there,

Today my colleauge step into the problem with ceritificate that time to time appears with other people who use your client.
You can read about this problem more here:
https://stackoverflow.com/questions/59808346/python-3-slack-client-ssl-sslcertverificationerror

As I see the problem that people have some problem with root certificates on their machine.
Python always had a problem with root certificatates and to solve this problem people started to use the project certifi.

For example you can find usage of this project in the kinda popular library requests
https://github.com/psf/requests/blob/main/src/requests/utils.py#L63
https://github.com/psf/requests/blob/main/src/requests/adapters.py#L294

Do you have any reason to don't use library certifi as requests library uses?

I think it would simplify of using your library everywhere.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the certificate-verification problem described in the Stack Overflow link and compare the referenced requests/utils.py and requests/adapters.py usage of certifi. Trace the SDK's TLS setup to determine the scope of using certifi by default; done means a documented decision and matching implementation or tests for certificate verification behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.