NAME
XML::Enc - XML::Enc Encryption Support
VERSION
version 0.14
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
- oaep_params
-
Specify the OAEPparams value to use as part of the mask generation function (MGF). It is optional but can be specified for rsa-oaep and rsa-oaep-mgf1p EncryptionMethods.
It is base64 encoded and stored in the XML as OAEPparams.
If specified you MAY specify the oaep_label_hash that should be used. You should note that not all implementations support an oaep_label_hash that differs from that of the MGF specified in the xenc11:MGF element or the default MGF1 with SHA1.
The oaep_label_hash is stored in the DigestMethod child element of the EncryptionMethod.
- oaep_label_hash
-
Specify the Hash Algorithm to use for the rsa-oaep label as specified by oaep_params.
The default is sha1. Supported algorithms are:
- key_name
-
Specify a key name to add to the KeyName element. If it is not specified then no KeyName element is added to the KeyInfo
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) 2024 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.