feat: v1.3.0 add directory-url support
This commit is contained in:
10
src/acme.rs
10
src/acme.rs
@@ -1,7 +1,7 @@
|
||||
use std::fs;
|
||||
use std::sync::RwLock;
|
||||
use std::collections::BTreeMap;
|
||||
use acme_lib::{Directory, create_p256_key, create_p384_key, create_rsa_key};
|
||||
use acme_lib::{Directory, create_p256_key, create_p384_key, create_rsa_key, DirectoryUrl};
|
||||
use acme_lib::persist::FilePersist;
|
||||
use rust_util::XResult;
|
||||
use crate::util::parse_dns_record;
|
||||
@@ -26,6 +26,7 @@ pub struct AcmeRequest<'a> {
|
||||
pub alt_names: &'a [&'a str],
|
||||
pub algo: X509PublicKeyAlgo,
|
||||
pub mode: AcmeMode,
|
||||
pub directory_url: Option<String>,
|
||||
pub account_dir: &'a str,
|
||||
pub timeout: u64,
|
||||
pub local_public_ip: Option<&'a str>,
|
||||
@@ -58,7 +59,12 @@ pub fn request_acme_certificate(acme_request: AcmeRequest, dns_cleaned_domains:
|
||||
}
|
||||
|
||||
information!("Acme mode: {:?}", acme_request.mode);
|
||||
let url = acme_request.mode.directory_url();
|
||||
let url = if let Some(directory_url) = &acme_request.directory_url {
|
||||
DirectoryUrl::Other(directory_url)
|
||||
} else {
|
||||
acme_request.mode.directory_url()
|
||||
};
|
||||
debugging!("Directory URL: {:?}", url);
|
||||
let persist = FilePersist::new(acme_request.account_dir);
|
||||
let dir = opt_result!(Directory::from_url(persist, url), "Create directory from url failed: {}");
|
||||
let acc = opt_result!(dir.account(acme_request.contract_email), "Directory set account failed: {}");
|
||||
|
||||
Reference in New Issue
Block a user