Mark Nunberg
and 1 contributors

NAME

Crypt::OpenSSL::Cloner - Clone an existing certificate and sign it with your own CA

SYNOPSIS

        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);

DESCRIPTION

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

METHODS

new

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)

clone

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.

PACKAGE/CONFIGURATION VARIABLES

There are some package variables which control some trivial aspects of this module

PREFERRED_ALG

The preferred algorithm to use for creating new private keys. An appropriate value is one accepted by the Crypt::OpenSSL::CA::X509->sign method.

PREFERRED_KEYLENGTH

Keylength to use for private keys. As always, this must be a power of two

CA_BASENAME

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

LICENSE & COPYRIGHT

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:

Around line 280:

You forgot a '=back' before '=head2'