Open
Description
Right now X509Generator
only creates self-signed certificates. I'd like to be able to use a self-signed certificate to create a new certificate from a CSR. If I were to work on some new APIs to do this, does it make any sense to try to add this additional functionality to X509Generator
? I'm imagining ultimately being able to do something like this:
fn generate_server_cert() -> Result<X509> {
let (ca_cert, ca_key) = X509Generator::new().generate().unwrap();
let mut server_key = PKey::new();
server_key.gen(2048);
let csr = X509Generator::new().add_name("CN".to_owned(), "example.com".to_owned()).request(&server_key).unwrap();
X509Generator::new().sign_cert(&ca_key, &csr)
}
X509Generator
seems very awkward for this type of API—it's not clear exactly what its responsibility is. Any suggestions on how to approach this?