openssl / openssl/openssl

New API to get extension by OID is needed.

Open
#5,159 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

backlog fix help wanted triaged: feature
Dominant language
C
Stars
30.8k
Forks
11.5k
Avg merge
10m
Merged PRs (30d)
1

Description

Currently, there is no clean solution to get extension from X509 certificate or OCSP response. The only way is to call OBJ_create() to add OID into openssl to get a NID, then get extension by NID.

Such solution is infeasible if OpenSSL is used on multiple threads because OBJ_create() is not expected to be used on multiple thread. In addition, even if single thread is used, it will make memory allocated by OBJ_create() cannot be freed until OBJ_cleanup() is called, which is expected to be called in the end of application running. If there are lots of extension retrievals based on OID, the memory usage will keep increasing.

A new API to get extension by OID is really needed.

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 reviewing the existing X509 certificate and OCSP response extension lookup entry points, along with OBJ_create(), to understand how OIDs and NIDs are currently handled. The work is done when a public OID-based lookup API addresses the threading and memory-lifetime concerns described without requiring OBJ_create().

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cryptography
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.