Crypt::OpenSSL::Cloner - Clone an existing certificate and sign it with your own CA
my $CA = Crypt::OpenSSL::Cloner->new( dn => { C => 'GB', O => 'CertOnTheFly', OU => "CertOnTheFly Certificate Generation", CN => 'CertOnTheFly Root' }, path => "/my/cert/ca/stuff" ); my ($der_pem,$rsa_key) = $CA->clone_cert($old_der_pem);
This module makes a new fake CA (or loads an existing one, depending on whether the right files are found in its path). It can then produce new certificates based on input from the old ones.
There isn't much to document as this is a 'closed box'; those familiar with X509 and friends are free to look in the source code, and perhaps even teach me a thing or two
Creates a new Crypt::OpenSSL::Cloner object. It takes a hash of options:
path is a mandatory option specifying the location from/to which to load/save the CA PEM and data.
dn is an optional option, it takes a hashref specifying common fields found in an X500(?) distinguished name. If not, the defaults are provided (as in the synopsis)
Clones an existing certificate. It takes one argument, which is a PEM blob. It returns a pair of ($new_pem,$new_rsa_key). You are free to save it, if you wish.
There are some package variables which control some trivial aspects of this module
The preferred algorithm to use for creating new private keys. An appropriate value is one accepted by the Crypt::OpenSSL::CA::X509->sign method.
Keylength to use for private keys. As always, this must be a power of two
What the CA files will be called within the CA directory. They will live there in the format of $CA_BASENAME.pem and $CA_BASENAME.key
Copyright 2011 M. Nunberg
All rights are reserved. Crypt::OpenSSL::Cloner is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
1 POD Error
The following errors were encountered while parsing the POD:
You forgot a '=back' before '=head2'
To install Crypt::OpenSSL::Cloner, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Crypt::OpenSSL::Cloner
CPAN shell
perl -MCPAN -e shell install Crypt::OpenSSL::Cloner
For more information on module installation, please visit the detailed CPAN module installation guide.