:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
IO::Socket::SSL::Utils(3pm) - phpMan

Command: man perldoc info search(apropos)  


IO::Socket::SSL::Utils(3pm)    User Contributed Perl Documentation    IO::Socket::SSL::Utils(3pm)



NAME
       IO::Socket::SSL::Utils -- loading, storing, creating certificates and keys

SYNOPSIS
           use IO::Socket::SSL::Utils;
           my $cert = PEM_file2cert('cert.pem');
           my $string = PEM_cert2string($cert);
           CERT_free($cert);

           my $key = KEY_create_rsa(2048);
           PEM_string2file($key);
           KEY_free($key);

DESCRIPTION
       This module provides various utility functions to work with certificates and private keys,
       shielding some of the complexity of the underlying Net::SSLeay and OpenSSL.

FUNCTIONS
       ·   Functions converting between string or file and certificates and keys.  They croak if
           the operation cannot be completed.

           PEM_file2cert(file) -> cert
           PEM_cert2file(cert,file)
           PEM_string2cert(string) -> cert
           PEM_cert2string(cert) -> string
           PEM_file2key(file) -> key
           PEM_key2file(key,file)
           PEM_string2key(string) -> key
           PEM_key2string(key) -> string
       ·   Functions for cleaning up.  Each loaded or created cert and key must be freed to not
           leak memory.

           CERT_free(cert)
           KEY_free(key)
       ·   KEY_create_rsa(bits) -> key

           Creates an RSA key pair, bits defaults to 2048.

       ·   CERT_asHash(cert,[digest_algo]) -> hash

           Extracts the information from the certificate into a hash and uses the given
           digest_algo (default: SHA-256) to determine digest of pubkey and cert.  The resulting
           hash contains:

           subject Hash with the parts of the subject, e.g. commonName, countryName,
                   organizationName, stateOrProvinceName, localityName.

           subjectAltNames
                   Array with list of alternative names. Each entry in the list is of
                   "[type,value]", where "type" can be OTHERNAME, EMAIL, DNS, X400, DIRNAME,
                   EDIPARTY, URI, IP or RID.

           issuer  Hash with the parts of the issuer, e.g. commonName, countryName,
                   organizationName, stateOrProvinceName, localityName.

           not_before, not_after
                   The time frame, where the certificate is valid, as time_t, e.g. can be
                   converted with localtime or similar functions.

           serial  The serial number

           crl_uri List of URIs for CRL distribution.

           ocsp_uri
                   List of URIs for revocation checking using OCSP.

           keyusage
                   List of keyUsage information in the certificate.

           extkeyusage
                   List of extended key usage information from the certificate. Each entry in
                   this list consists of a hash with oid, nid, ln and sn.

           pubkey_digest_xxx
                   Binary digest of the pubkey using the given digest algorithm, e.g.
                   pubkey_digest_sha256 if (the default) SHA-256 was used.

           x509_digest_xxx
                   Binary digest of the X.509 certificate using the given digest algorithm, e.g.
                   x509_digest_sha256 if (the default) SHA-256 was used.

           fingerprint_xxx
                   Fingerprint of the certificate using the given digest algorithm, e.g.
                   fingerprint_sha256 if (the default) SHA-256 was used. Contrary to digest_*
                   this is an ASCII string with a list if hexadecimal numbers, e.g.
                   "73:59:75:5C:6D...".

           ext     List of extensions.  Each entry in the list is a hash with oid, nid, sn,
                   critical flag (boolean) and data (string representation given by
                   X509V3_EXT_print).

           version Certificate version, usually 2 (x509v3)

       ·   CERT_create(hash) -> (cert,key)

           Creates a certificate based on the given hash.  If the issuer is not specified the
           certificate will be self-signed.  The following keys can be given:

           subject Hash with the parts of the subject, e.g. commonName, countryName, ... as
                   described in "CERT_asHash".  Default points to IO::Socket::SSL.

           not_before
                   A time_t value when the certificate starts to be valid. Defaults to current
                   time.

           not_after
                   A time_t value when the certificate ends to be valid. Defaults to current time
                   plus one 365 days.

           serial  The serial number. If not given a random number will be used.

           version The version of the certificate, default 2 (x509v3).

           CA true|false
                   if true declare certificate as CA, defaults to false

           ext [{ sn => .., data => ... }, ... ]
                   List of extensions. The type of the extension can be specified as name with
                   "sn" or as NID with "nid" and the data with "data". These data must be in the
                   same syntax as expected within openssl.cnf, e.g. something like
                   "OCSP;URI=http://...". Additionally the critical flag can be set with
                   "critical =" 1>.

           key key use given key as key for certificate, otherwise a new one will be generated
                   and returned

           issuer_cert cert
                   set issuer for new certificate

           issuer_key key
                   sign new certificate with given key

           issuer [ cert, key ]
                   Instead of giving issuer_key and issuer_cert as separate arguments they can be
                   given both together.

           digest algorithm
                   specify the algorithm used to sign the certificate, default SHA-256.

AUTHOR
       Steffen Ullrich



perl v5.20.2                                2014-10-21                IO::Socket::SSL::Utils(3pm)


/man
rootr.net - man pages