Verify RSA-2048 in certificates generated by the real CFSSL engine
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 53/100
Research direction
Start with the existing LibreSign test infrastructure and the certificate tests referenced by #8941, #8983, and #9170. Find how those tests use OpenSSL and CFSSL, then determine how to invoke real CFSSL issuance without adding an implicit dependency to regular PHPUnit suites. Done means a regression test inspects a newly issued leaf certificate and fails unless its public key is RSA-2048, with PHPUnit and Behat still passing.
Written by the indexing model from the issue text.
Description
Context
Issue #8941 introduced regression coverage for the LibreSign certificate profiles using OpenSSL and CFSSL. PR #8983 covers important certificate properties, and PR #9170 verifies RSA-2048 against an existing CFSSL certificate fixture.
The fixture test does not prove that a certificate newly generated by the real CFSSL engine still uses RSA-2048.
Goal
Add an automated regression test that checks the RSA-2048 public key in a leaf certificate issued by the real CFSSL engine.
Acceptance criteria
- Generate a signing certificate using the real CFSSL engine.
- Inspect the issued certificate, not the request or the CFSSL configuration.
- Verify that the public key algorithm is RSA.
- Verify that the public key size is 2048 bits.
- Ensure the test fails if CFSSL issues a certificate with a different algorithm or key size.
- Keep the existing PHPUnit and Behat suites passing.
Implementation notes
Prefer the existing LibreSign test infrastructure. Investigate how to test actual CFSSL issuance without adding an implicit dependency to the regular PHPUnit suites. Do not introduce standalone test scripts, unnecessary workflow changes, new Behat steps or changes to the production API solely for testing.
Out of scope
Changing certificate algorithms, CFSSL configuration, certificate-engine production code, or adding ML-DSA support.
Related
- #8941
- #8983
- #9170
- Dominant language
- PHP
- Stars
- 835
- Forks
- 167
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 388
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from LibreSign/libresign
-
Difficulty 1/5 Under an hour Newbie friendliness 83/100
LibreSign/libresign#9007 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Define LibreSign Behat taxonomy and reusable context conventionsPossibly taken A pull request linked to this issue is open or already merged. Openbackend enhancement php
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
LibreSign/libresign#8284 · 5 comments ·
Maintainers usually reply within 1 day
-
backend php
Difficulty 5/5 Over a week Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
Enable comma and object-property formatting rulesPossibly taken @hifarrer claimed this 1 day ago. Openfrontend good first issue help wanted javascript technical debt
Difficulty 3/5 1-2 days Newbie friendliness 76/100
LibreSign/libresign#9143 · 2 comments ·
Maintainers usually reply within 1 day
All issues in LibreSign/libresign
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
litespeedtech/lscache_wp#1079 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 71/100
Automattic/blocks-engine#3438 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
FriendsOfFlarum/upload#549 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
getgrav/grav-plugin-api#66 ·