Skip to content

Creating an X.509 certificate from a CSR #345

Open
@jimmycuadra

Description

@jimmycuadra

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?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions