diff --git a/common/pemstore/src/pemstore.rs b/common/pemstore/src/pemstore.rs index 76ec698e51..88d0fe3ced 100644 --- a/common/pemstore/src/pemstore.rs +++ b/common/pemstore/src/pemstore.rs @@ -86,6 +86,10 @@ impl PemStore { } fn write_pem_file(&self, filepath: PathBuf, data: Vec, tag: String) -> io::Result<()> { + // ensure the whole directory structure exists + if let Some(parent_dir) = filepath.parent() { + std::fs::create_dir_all(parent_dir)?; + } let pem = Pem { tag, contents: data,