| 322 | } |
| 323 | |
| 324 | fn make_test_cert_data() -> CertData { |
| 325 | // Generate a self-signed test certificate using rcgen |
| 326 | use ra_tls::rcgen::{self, CertificateParams, KeyPair}; |
| 327 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; |
| 328 | |
| 329 | let key_pair = KeyPair::generate().expect("failed to generate key pair"); |
| 330 | let mut params = CertificateParams::new(vec!["test.example.com".to_string()]) |
| 331 | .expect("failed to create cert params"); |
| 332 | params.not_after = rcgen::date_time_ymd(2030, 1, 1); |
| 333 | let cert = params |
| 334 | .self_signed(&key_pair) |
| 335 | .expect("failed to generate self-signed cert"); |
| 336 | |
| 337 | let not_after = SystemTime::now() |
| 338 | .duration_since(UNIX_EPOCH) |
| 339 | .unwrap_or_default() |
| 340 | .as_secs() |
| 341 | + Duration::from_secs(365 * 24 * 3600).as_secs(); |
| 342 | |
| 343 | CertData { |
| 344 | cert_pem: cert.pem(), |
| 345 | key_pem: key_pair.serialize_pem(), |
| 346 | not_after, |
| 347 | issued_by: 1, |
| 348 | issued_at: SystemTime::now() |
| 349 | .duration_since(UNIX_EPOCH) |
| 350 | .unwrap_or_default() |
| 351 | .as_secs(), |
| 352 | } |
| 353 | } |
| 354 | |
| 355 | #[test] |
| 356 | fn test_cert_store_basic() { |