twisted / twisted/twisted

twisted.internet.endpoints._parseSSL and _parseClientSSL should not use OpenSSL APIs

Open
#5,268 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core enhancement new priority-normal
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

glyph's avatar @glyph reported
Trac ID trac#5268
Type enhancement
Created 2011-09-21 05:29:38Z

If #5267 ever gets implemented (and hopefully one day we support even more backends), we will need to make sure that all of our own code goes through those APIs so that OpenSSL is not required. _parseSSL uses DefaultOpenSSLContextFactory directly, and while _parseClientSSL uses ssl.[Private]Certificate.loadPEM, but then accesses the should-be-private 'original' attribute and feeds it to CertificateOptions which is kinda-sorta OpenSSL specific.

Searchable metadata
trac-id__5268 5268
type__enhancement enhancement
reporter__glyph glyph
priority__normal normal
milestone__ 
branch__ 
branch_author__ 
status__new new
resolution__None None
component__core core
keywords__ 
time__1316582978000000 1316582978000000
changetime__1317039075000000 1317039075000000
version__None None
owner__ 

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 by locating twisted.internet.endpoints._parseSSL and _parseClientSSL and read issue #5267 to understand the proposed backend APIs. Trace their use of DefaultOpenSSLContextFactory, ssl.[Private]Certificate.loadPEM, and CertificateOptions. Done means both parsers use backend-neutral APIs without requiring direct OpenSSL access.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.