opnsense / opnsense/plugins

security/acme-client: Support importing certificate signing requests generated elsewhere

Open
#5,667 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
1.2k
Forks
863
Avg merge
2d 6h
Merged PRs (30d)
10

Description

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.
Though more of a niche scenario, there might be internal systems or services that generate their own CSR's. There is no current UI functionality to support this scenario.

Describe the solution you'd like
An "Import CSR" option, either as it's own button in the Certificates UI, or via the Add Certificate workflow to take an existing CSR but then manage the creation and lifecycle of the subsequent certificate.

Describe alternatives you've considered
Acme.sh already supports this functionality via the --signcsr command: https://github.com/acmesh-official/acme.sh/wiki/Issue-a-cert-from-existing-CSR
I have been able to successfully do this via the OPNsense shell, but it was incredibly awkward and the subsequent certificate is essentially orphaned from the rest.

Additional context
My specific use-case was to support HTTPS on Microsoft Connected Cache for Enterprise, but I'm sure other scenarios exist, and it has been mentioned at least once on the OPNSense forum (though that was 5 years ago): https://forum.opnsense.org/index.php?topic=23056.0

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 Certificates UI and Add Certificate workflow described in the request, then compare their behavior with acme.sh's --signcsr flow. Define how an existing CSR is imported and how the resulting certificate remains managed through the normal lifecycle. Done means a user can import an externally generated CSR and manage its issued certificate without using the shell.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, shell
Domain
backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.