The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Config::Apple::Profile::Payload::Certificate::PKCS12 - Bundle containing one certificate and its matching private key.

SYNOPSIS

    use Config::Apple::Profile;
    use Config::Apple::Profile::Payload::Certificate::PKCS12;
    
    my $cert = new Config::Apple::Profile::Payload::Certificate::PKCS12;
    $cert->payload->{PayloadIdentifier} = 'local.acme.key.user10';
    $cert->payload->{PayloadDisplayName} = 'Private key & cert';
    $cert->payload->{PayloadDescription} = 'The private key and certificate for employee #10';
    $cert->payload->{PayloadOrganization} = 'Acme, Inc.';
    $cert->payload->{PayloadCertificateFileName} = 'user10.p12'; 
    $cert->payload->{Password} = 'Monkey123'; # DON'T DO THIS IN REAL LIFE!!!
    $cert->payload->{PayloadContent} = '.................'; # Binary data here
    
    my $profile = new Config::Apple::Profile;
    push @{$profile->content}, $cert;
    
    print $profile->export;
    
    

DESCRIPTION

This class implements the PKCS12 type of Certificate payload.

This payload contains a single certificate, and the certificate's private key, in a PKCS#12 container. The container is encrypted with a password.

This payload is used to hold only one certificate. If you have any intermediate certificates, you will need to use a second Certificate payload (either a PEM or a PKCS1) to hold each intermediate certificate.

PAYLOAD KEYS

All of the payload keys defined in Config::Apple::Profile::Payload::Common::Certificate are used by this payload.

This payload has the following additional keys:

Password

This is the password needed to decrypt the PKCS#12 file. If no password is provided, the user will be prompted to enter the password when installing the profile.

WARNING: iOS 7 and 8 seem to have problems with identity certificates that do not have the Password key in the payload. More information, and status, are in https://github.com/akkornel/Config-Apple-Profile/issues/7.

PayloadType

This is fixed to the string com.apple.security.pkcs12.

PayloadVersion

This is fixed to the value 1.

ACKNOWLEDGEMENTS

Refer to Config::Apple::Profile for acknowledgements.

AUTHOR

A. Karl Kornel, <karl at kornel.us>

COPYRIGHT AND LICENSE

Copyright © 2014 A. Karl Kornel.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.