Skip to content

Commit

Permalink
[FEAT] Certificate Authority for client PKI files re-issuance (#68)
Browse files Browse the repository at this point in the history
* FEAT: [cmn] Add CertReissue signaling event
- Used by CA-enabled gateways to issue client certs/keys

* FEAT: [cli][gw] Enable CA certificate reissue flow
- Gateways can be CA-enabled and send new PKI to clients
- Clients will store PKI for later reuse

* TASK: [doc] Update docs for CA feature

* TASK: [example] New reissue certificate example

* TASK: [cmn][cli][gw] Update Rust dependencies
  • Loading branch information
chewyfish authored Feb 16, 2024
1 parent 3996d07 commit c04fdfe
Show file tree
Hide file tree
Showing 28 changed files with 2,820 additions and 453 deletions.
69 changes: 36 additions & 33 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@ This is early alpha, use with care.
### To-Do

* Add Windows UDP support. Tested: macOS (Big Sur); Fedora 39, Windows 11 (TCP only)
* Enhance gateway for runtime client certificate reissuance (on expiry or on demand)
* Incorporate device posture trust assessment and rules processor for security enforcement
* Build (more) testing: integration, performance, ...
* Strategize non-name resolution (DNS/hosts file/...) approach to handle client hostname verification for TLS-type service connections
* Consider supporting UDP multicast services
* Consider supporting: UDP multicast services, QUIC
* Consider gateway-to-gateway service proxy routing (reasons of proximity, security, ...)
* Consider gateway load-balancing, via client redirect (reasons of load, rollout deployment, ...)
* Accommodate integration to well-known identity provider (IdP) systems/protocols for user authentication and 2FA purposes
Expand Down
2 changes: 1 addition & 1 deletion crates/client/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ pub mod tests {
"client-uid100.key.pem",
];

static TEST_MUTEX: Lazy<Arc<Mutex<bool>>> = Lazy::new(|| Arc::new(Mutex::new(true)));
pub static TEST_MUTEX: Lazy<Arc<Mutex<bool>>> = Lazy::new(|| Arc::new(Mutex::new(true)));

// utils
// =====
Expand Down
3 changes: 2 additions & 1 deletion crates/client/src/gateway/controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,12 @@ impl ControlPlane {
let message_outbox = Arc::new(Mutex::new(VecDeque::new()));

let management_controller = Arc::new(Mutex::new(management::ManagementController::new(
app_config,
app_config.clone(),
service_mgr,
message_outbox.clone(),
)));
let signaling_controller = Arc::new(Mutex::new(signaling::SignalingController::new(
&app_config,
service_mgr,
message_outbox.clone(),
)));
Expand Down
Loading

0 comments on commit c04fdfe

Please sign in to comment.