Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS With Certificate Management for PVXS #92

Draft
wants to merge 287 commits into
base: tls
Choose a base branch
from

Conversation

george-mcintyre
Copy link
Contributor

Cert Management
Stapling
OCSP
Cert Status

and use enum
Make sure we have PENDING or EXPIRED when approving certs
Add approve and deny as well as posted revoke
and use enum
Make sure we have PENDING or EXPIRED when approving certs
Add approve and deny as well as posted revoke
and use enum
Make sure we have PENDING or EXPIRED when approving certs
Add approve and deny as well as posted revoke
…n status time is used and the status validity period comes from config. Also don't parse the response in order to post the status, as we've just created the response ourselves so we know its ok
Refactor ocsphelper into certstatus (creator and manager)
EPICS_PVACMS_CERTS_REQUIRE_SUBSCRIPTION env added to comtrol addition of extension to certificates
Refactor out certstatus to be header only so it can be shared
…nces to use the enum instead of uint32_t

Add in certstatusclient and certstatusfactory
george-mcintyre and others added 30 commits January 16, 2025 01:39
…. Updated SQL logic to verify DB existence before initialization and moved certificate DB creation message."
…certificate management logic for improved error handling and efficiency."
…consistency and potential ownership adjustments."
…clarity and functionality, updated APIs and data structures accordingly. Enhanced input validation and error handling in certificate status logic, and reformatted command-line tool usage documentation for better readability."
- Reorganise peer subscription code to be shared in conn.cpp/h
- Reorganise peer statuses and monitors into a map whose keys are kept in the client and server peer connections that love them
- Use status_pv to update certs, only those with a pv can be updated
- Introduced `serial_number_t` type for certificate serials.
- Refactored certificate status monitoring and subscriptions.
- Added TLS support with `PVXS_ENABLE_OPENSSL` flag.
- Improved logging, error handling, and code consistency.
- Fixed typo: 'Vaidity' -> 'Validity'."
- Introduced OpenSSL-based constants for OCSP stapling result codes (`PVXS_OCSP_STAPLING_OK`, `ERR`, `NAK`).
- Enhanced OCSP response and certificate status parsing with additional overloads handling both shared arrays and byte pointers.
- Updated OCSP stapling callbacks (`clientOCSPCallback`, `serverOCSPCallback`) for streamlined memory usage, error handling, and logging improvements.
- Refactored status management, API methods, and validation logic for better modularity and robustness during certificate verification.
- Enabled proper OCSP response caching for server-side stapling."
…de, and update quickstart guide with environment variable setups.
…us Linux distros, replace hardcoded certificate IDs with placeholders, adjust image styling, and remove obsolete TODO in certs/p12filefactory.cpp."
…setup, certificate management, and error messaging. Ensure directory creation in cert utilities and adjust file handling consistency."
…ize command references. Add PATH export for pvxs binaries in multiple sections. Minor text fixes for clarity."
…ize command references. Add PATH export for pvxs binaries in multiple sections. Minor text fixes for clarity."
…flow. Added new CLI options for admin certificate name (--admin-keychain-regen) and centralized parameter handling through `readParameters` function. Updated `createDefaultAdminClientCert` to accept a dynamic admin name."
…d CA initialization handling and error resilience during admin creation."
… including Kerberos integration. Includes user setups, Supervisor configs, and build scripts for Docker images."
… including Kerberos integration. Includes user setups, Supervisor configs, and build scripts for Docker images."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants