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

NAME

XML::Enc - XML::Enc Encryption Support

VERSION

version 0.10

SYNOPSIS

    my $decrypter = XML::Enc->new(
                                {
                                    key                         => 't/sign-private.pem',
                                    no_xml_declaration          => 1,
                                },
                            );
    $decrypted = $enc->decrypt($xml);

    my $encrypter = XML::Enc->new(
                                {
                                    cert                => 't/sign-certonly.pem',
                                    no_xml_declaration  => 1,
                                    data_enc_method     => 'aes256-cbc',
                                    key_transport       => 'rsa-1_5',

                                },
                            );
    $encrypted = $enc->encrypt($xml);

NAME

XML::Enc - XML Encryption

METHODS

new( ... )

Constructor. Creates an instance of the XML::Enc object

Arguments:

key

Filename of the private key to be used for decryption.

cert

Filename of the public key to be used for encryption.

no_xml_declaration

Do not return the XML declaration if true (1). Return it if false (0). This is useful for decrypting documents without the declaration such as SAML2 Responses.

data_enc_method

Specify the data encryption method to be used. Supported methods are:

Used in encryption. Optional. Default method: aes256-cbc

key_transport

Specify the encryption method to be used for key transport. Supported methods are:

Used in encryption. Optional. Default method: rsa-oaep-mgf1p

oaep_mgf_alg

Specify the Algorithm to be used for rsa-oaep. Supported algorithms are:

Used in encryption. Optional. Default method: mgf1sha1

decrypt( ... )

Main decryption function.

Arguments:

xml

XML containing the encrypted data.

encrypt( ... )

Main encryption function.

Arguments:

xml

XML containing the plaintext data.

AUTHOR

Timothy Legge <timlegge@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by TImothy Legge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.