Provided by: libcrypt-openssl-pkcs12-perl_1.9-1_amd64 bug

NAME

       Crypt::OpenSSL::PKCS12 - Perl extension to OpenSSL's PKCS12 API.

SYNOPSIS

         use Crypt::OpenSSL::PKCS12;

         my $pass   = "your password";
         my $pkcs12 = Crypt::OpenSSL::PKCS12->new_from_file('cert.p12');

         print $pkcs12->certificate($pass);
         print $pkcs12->private_key($pass);

         if ($pkcs12->mac_ok($pass)) {
         ...

         # Creating a file
         $pkcs12->create('test-cert.pem', 'test-key.pem', $pass, 'out.p12', 'friendly name');

         # Creating a string
         my $pksc12_data = $pkcs12->create_as_string('test-cert.pem', 'test-key.pem', $pass, 'friendly name');

VERSION

       This documentation describes version 1.9

DESCRIPTION

       PKCS12 is a file format for storing cryptography objects as a single file or string.
       PKCS12 is commonly used to bundle a private key with its X.509 certificate or to bundle
       all the members of a chain of trust.

       This distribution implements a subset of OpenSSL's PKCS12 API.

SUBROUTINES/METHODS

       ·   new( )

       ·   new_from_string( $string )

       ·   new_from_file( $filename )

           Create a new Crypt::OpenSSL::PKCS12 instance.

       ·   certificate( [$pass] )

           Get the Base64 representation of the certificate.

       ·   private_key( [$pass] )

           Get the Base64 representation of the private key.

       ·   as_string( [$pass] )

           Get the binary represenation as a string.

       ·   mac_ok( [$pass] )

           Verifiy the certificates Message Authentication Code

       ·   changepass( $old, $new )

           Change a certificate's password.

       ·   create( $cert, $key, $pass, $output_file, $friendly_name )

           Create a new PKCS12 certificate. $cert & $key may either be strings or filenames.

           $friendly_name is optional.

       ·   create_as_string( $cert, $key, $pass, $friendly_name )

           Create a new PKCS12 certificate string. $cert & $key may either be strings or
           filenames.

           $friendly_name is optional.

           Returns a string holding the PKCS12 certicate.

EXPORTS

       None by default.

       On request:

       ·   "NOKEYS"

       ·   "NOCERTS"

       ·   "INFO"

       ·   "CLCERTS"

       ·   "CACERTS"

DIAGNOSTICS

       No diagnostics are documented at this time

CONFIGURATION AND ENVIRONMENT

       No special environment or configuration is required.

DEPENDENCIES

       This distribution has the following dependencies

       ·   An installation of OpenSSL, version 1.X.X

       ·   Perl 5.8

SEE ALSO

       ·   OpenSSL(1) (HTTP version with OpenSSL.org
           <https://www.openssl.org/docs/man1.1.1/man1/openssl.html>)

       ·   Crypt::OpenSSL::X509 <https://metacpan.org/pod/Crypt::OpenSSL::X509>

       ·   Crypt::OpenSSL::RSA <https://metacpan.org/pod/Crypt::OpenSSL::RSA>

       ·   Crypt::OpenSSL::Bignum <https://metacpan.org/pod/Crypt::OpenSSL::Bignum>

       ·   OpenSSL.org <https://www.openssl.org/>

       ·   Wikipedia: PKCS12 <https://en.wikipedia.org/wiki/PKCS_12>

       ·   RFC:7292: "PKCS #12: Personal Information Exchange Syntax v1.1"
           <https://datatracker.ietf.org/doc/html/rfc7292>

INCOMPATIBILITIES

       Currently the library only supports OpenSSL 1.X.X

       The library has not been tested with OpenSSL 3.X.X and is not expected to work with this
       version at this time

BUGS AND LIMITATIONS

       Please see the GitHub repository <https://github.com/dsully/perl-crypt-openssl-
       pkcs12/issues> for known issues.

AUTHOR

       ·   Dan Sully, <daniel@cpan.org>

       Current maintainer

       ·   jonasbn

CONTRIBUTORS

       In alphabetical order, contributors, bug reporters and all

       ·   @mmuehlenhoff

       ·   @sectokia

       ·   @SmartCodeMaker

       ·   Alexandr Ciornii, @chorny

       ·   Christopher Hoskin, @mans0954

       ·   Daisuke Murase, @typester

       ·   Darko Prelec, @dprelec

       ·   David Steinbrunner, @dsteinbrunner

       ·   Giuseppe Di Terlizzi, @giterlizzi

       ·   H.Merijn Brand, @tux

       ·   Hakim, @osfameron

       ·   J. Nick Koston, @bdraco

       ·   James Rouzier, @jrouzierinverse

       ·   jonasbn. @jonasbn

       ·   Kelson, @kelson42

       ·   Lance Wicks, @lancew

       ·   Leonid Antonenkov

       ·   Masayuki Matsuki, @songmu

       ·   Mikołaj Zalewski

       ·   Shoichi Kaji

       ·   Slaven Rezić

       ·   Todd Rinaldo, @toddr

LICENSE AND COPYRIGHT

       Copyright 2004-2021 by Dan Sully

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of
       Perl 5 you may have available.