Skip to content

Commit 326d823

Browse files
committed
Fix disappearing namespace bug in _decrypt_encrypted_node
Fixes: GH#10 Signed-off-by: Wesley Schwengle <waterkip@cpan.org>
1 parent 2038d04 commit 326d823

File tree

6 files changed

+160
-8
lines changed

6 files changed

+160
-8
lines changed

Makefile.PL

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ my %WriteMakefileArgs = (
3737
"Import::Into" => 0,
3838
"Test::Lib" => 0,
3939
"Test::More" => 0,
40+
"XML::LibXML::XPathContext" => 0,
4041
"namespace::autoclean" => 0
4142
},
42-
"VERSION" => "0.12",
43+
"VERSION" => "0.13",
4344
"test" => {
4445
"TESTS" => "t/*.t"
4546
}
@@ -62,6 +63,7 @@ my %FallbackPrereqs = (
6263
"Test::Lib" => 0,
6364
"Test::More" => 0,
6465
"XML::LibXML" => 0,
66+
"XML::LibXML::XPathContext" => 0,
6567
"feature" => 0,
6668
"namespace::autoclean" => 0,
6769
"strict" => 0,

cpanfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ on 'test' => sub {
2222
requires "Import::Into" => "0";
2323
requires "Test::Lib" => "0";
2424
requires "Test::More" => "0";
25+
requires "XML::LibXML::XPathContext" => "0";
2526
requires "namespace::autoclean" => "0";
2627
};
2728

lib/XML/Enc.pm

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -367,17 +367,20 @@ sub _decrypt_encrypted_node {
367367
# Sooo.. parse_balanced_chunk breaks when there is a <xml version="1'>
368368
# bit in the decrypted data and thus we have to remove it.
369369
# We try parsing the XML here and if that works we get all the nodes
370-
my $fragment;
371-
eval {
372-
$fragment = $parser->load_xml(string => $decrypted_data)->findnodes('//*')->[0];
373-
};
374-
$fragment = $parser->parse_balanced_chunk($fragment // $decrypted_data);
370+
my $new = eval { $parser->load_xml(string => $decrypted_data)->findnodes('//*')->[0]; };
371+
372+
if ($new) {
373+
$node->addSibling($new);
374+
$node->unbindNode();
375+
return;
376+
}
375377

378+
$decrypted_data = $parser->parse_balanced_chunk($decrypted_data);
376379
if (($node->parentNode->localname //'') eq 'EncryptedID') {
377-
$node->parentNode->replaceNode($fragment);
380+
$node->parentNode->replaceNode($decrypted_data);
378381
return;
379382
}
380-
$node->replaceNode($fragment);
383+
$node->replaceNode($decrypted_data);
381384
return;
382385
}
383386

t/10-asserted-encryption.t

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
use strict;
2+
use warnings;
3+
use Test::More;
4+
use XML::Enc;
5+
use XML::LibXML;
6+
use XML::LibXML::XPathContext;
7+
8+
# Test for https://github.com/perl-net-saml2/perl-XML-Enc/issues/10
9+
my $xml;
10+
{
11+
open my $fh, '<', 't/asserted-encryption.xml';
12+
local $/ = undef;
13+
$xml = <$fh>;
14+
}
15+
16+
my $enc = XML::Enc->new(
17+
{
18+
key => 't/encrypted-sign-private.pem',
19+
no_xml_declaration => 1
20+
}
21+
);
22+
23+
$xml = XML::LibXML->load_xml(string => $xml);
24+
my $xpc = XML::LibXML::XPathContext->new($xml);
25+
$xpc->registerNs('saml', 'urn:oasis:names:tc:SAML:2.0:assertion');
26+
$xpc->registerNs('samlp', 'urn:oasis:names:tc:SAML:2.0:protocol');
27+
$xpc->registerNs('dsig', 'http://www.w3.org/2000/09/xmldsig#');
28+
$xpc->registerNs('xenc', 'http://www.w3.org/2001/04/xmlenc#');
29+
30+
my $decrypted = $enc->decrypt($xml);
31+
ok($decrypted, "Got a decrypted message");
32+
33+
34+
$xml = XML::LibXML->load_xml(string => $decrypted);
35+
$xpc->setContextNode($xml);
36+
37+
my $assertion = $xpc->findnodes('//saml:Assertion');
38+
is($assertion->size, 1, "Found one assertion node");
39+
40+
my $a = $assertion->get_node(1);
41+
my $attr = $a->getAttribute('xmlns:saml');
42+
43+
ok($attr, "Have a saml namespace attribute");
44+
45+
done_testing;

t/asserted-encryption.xml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0"?>
2+
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Destination="https://netsaml2-testapp.local/consumer-post" ID="ID_6a68bd2f-5658-483d-866b-ade256de8c06" InResponseTo="NETSAML2_935c782d5f5e499638a7471b257062b5" IssueInstant="2022-03-27T12:06:56.753Z" Version="2.0">
3+
<saml:Issuer>https://keycloak.local:8443/auth/realms/Foswiki</saml:Issuer>
4+
<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
5+
<dsig:SignedInfo>
6+
<dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
7+
<dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
8+
<dsig:Reference URI="#ID_6a68bd2f-5658-483d-866b-ade256de8c06">
9+
<dsig:Transforms>
10+
<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
11+
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
12+
</dsig:Transforms>
13+
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
14+
<dsig:DigestValue>fFstLDBIowXl43T0OUs6F+HIlF8=</dsig:DigestValue>
15+
</dsig:Reference>
16+
</dsig:SignedInfo>
17+
<dsig:SignatureValue>B6jtNRLa0XrT54hUF38nO5kQwg4b+zDDx1GlYiVKHsRURzz0VycaUDv6j/8JYPDTHeHuCuMsdcn/ppPwGBxK7KUWBiKp9CcGb2OYcyLBNfdZcO/glQX/kfOZCyfW5olmoapA/4Af0sa4bnBlFknfOpHfD+i0M2bNenS79AtlvIGY9ltdJATjeuTneywWAS+N3qh+CLuKde4Gn9UL9VxCZVk5XKga4Tqagv0feQrB1LwvRCqcYfIKzDgsHt2NSYpMyHzPxNgN57T0wGnyGMu5+uex0AMp4oc7o48wsPomxy0OZUHX7mdsk9bUOkf+fBUqlcW4USovacMKGZYDozTNZQ==</dsig:SignatureValue>
18+
<dsig:KeyInfo>
19+
<dsig:X509Data>
20+
<dsig:X509Certificate>MIICnTCCAYUCBgF5YqtQBTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdGb3N3aWtpMB4XDTIxMDUxMjIyMTkyNFoXDTMxMDUxMjIyMjEwNFowEjEQMA4GA1UEAwwHRm9zd2lraTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJMGG6jrdadw/6rnOAGmNtmdIZy116JyocKlsoxg+iQTlRI2e3gelsiOW7rXNIYHH/f4ozQ8F4ba7GxJMNWlrDJFN23Dij521PVqJHsu3ZA8JOP+txMCN22zhCO6OYiWx5P9wm7zWVcfg3sS9564LQ4M7JBQ8tDYxY9RLCDR+sNNd0hWm6SrkEyghqbcxNY+rgXfxLBK5eGXyX1Zk0NLA5XqRg5a8BDz1oUZ6O4c21tVOvV8vqCUtcnx3hWxcBgXizW8pkSQpQiQ96zXquAvDwkLtYnQLV5GQlt6c414A7U4dsAZZCc490rqncfsjDfbFMzj89s/WCtFDOzSa163pqECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAPpeGsBOJN3xGUvtxJqPM2ja3g7G7LiOJGvzZSIOFr50baebsoJNRwL2GDfYUTM1SWDz4UHnGebsme5TTmzjVO3YEvnOMTtVC6/fYYdouAqIJ+cTmmF3Cxd/tOr5fkaPscB0x0+zqWqgBZLo0FVECDMt+DYk1HaQJPxsAXGahUmIIpfIKO7AUx5tD74PR8XeHWyL0w8jg1h8nVtc49P7h08SzmSFY0phJ9plLpSubCsd/1KMPOJ0Dh7kYEaOJOOWwjLggiho5N4KBytpts6HIjmPlKvV7UJEAmQykuhO6PyFfGjwXxpYRTtGa3fZQqu6BztRHDSZQfc+K08VTmAjriw==</dsig:X509Certificate>
21+
</dsig:X509Data>
22+
<dsig:KeyValue>
23+
<dsig:RSAKeyValue>
24+
<dsig:Modulus>kwYbqOt1p3D/quc4AaY22Z0hnLXXonKhwqWyjGD6JBOVEjZ7eB6WyI5butc0hgcf9/ijNDwXhtrsbEkw1aWsMkU3bcOKPnbU9Wokey7dkDwk4/63EwI3bbOEI7o5iJbHk/3CbvNZVx+DexL3nrgtDgzskFDy0NjFj1EsINH6w013SFabpKuQTKCGptzE1j6uBd/EsErl4ZfJfVmTQ0sDlepGDlrwEPPWhRno7hzbW1U69Xy+oJS1yfHeFbFwGBeLNbymRJClCJD3rNeq4C8PCQu1idAtXkZCW3pzjXgDtTh2wBlkJzj3Suqdx+yMN9sUzOPz2z9YK0UM7NJrXremoQ==</dsig:Modulus>
25+
<dsig:Exponent>AQAB</dsig:Exponent>
26+
</dsig:RSAKeyValue>
27+
</dsig:KeyValue>
28+
</dsig:KeyInfo>
29+
</dsig:Signature>
30+
<samlp:Status>
31+
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
32+
</samlp:Status>
33+
<saml:EncryptedAssertion>
34+
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
35+
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
36+
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
37+
<xenc:EncryptedKey>
38+
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
39+
<xenc:CipherData>
40+
<xenc:CipherValue>MhdhEw9xuIVEXqkgoGTG74VRXFhvYzqjcj/pNWCpt+pXnxt30HFgRflfcFQvW5YOWa+bsh0GkWn/OCqCy+F3nx4GCimbVVwm67T9eB2WhEy0fw5ZImKnbG19bogJB/S7OyynKhcNFOl7fsckU9eHvRGSeZJPvw2lpSEAHS1mdOVaA0WGVHHGqtOdV6O1N0+FuNIjcPJ+U2cN3paOndjS8ydn8/qQDXeEYtsI8F5B5oBfQEKlNw9ChtjAy57bQlVbGNCs2wTZM/hofAX0it035pK7iwCO0PKaj3Q65M/zk58tlomjr9SI8cAuwQtRUduauhgwltY5B0nWiQS6UcEHKMcNFOlQHgDdmkAWU31KJ6GzlJGErAj+lt1zRUcK92WyE9ucBJwpNEVaglsU8jlozGcSLRGjN648IjT7IP+kUVFwPX77XCmwUAENs6AH2fThGWC5OH4gUi6uvDahY4R/2EyyyHXpctAJjgHT5rIm5vHx05ZGbGhAJln7+KpQpYyASFXIJpNERt96Sb8ekQwyoPWy8mpw6VK+TwEPmbAK+EeRiFvNDHASlHep7GA7CVVbEZNvsIBp0q+aV53xroHaoOU6N3hnRBGk3lUSnN2C9Vj0+yj4rYLbNgJizR4mlPTa7D3JoMP7kSigZYQ1s75xroDkZ8NFWNqHXUhO4XzVTm0=</xenc:CipherValue>
41+
</xenc:CipherData>
42+
</xenc:EncryptedKey>
43+
</ds:KeyInfo>
44+
<xenc:CipherData>
45+
<xenc:CipherValue>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</xenc:CipherValue>
46+
</xenc:CipherData>
47+
</xenc:EncryptedData>
48+
</saml:EncryptedAssertion>
49+
</samlp:Response>

t/encrypted-sign-private.pem

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
GH7LFqPBJcO0cWiRKpb2IHyGiMFO/lwQ
52+
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)