Hi all,

I am trying to use XML::Simple to process encrypted (possibly binary) data from 
an XML text file.  The perldoc on XML::Simple doesn't mention anything either 
way about XMLin() and binary data.  The only mention of 'binary' at all in the 
doc is related to XMLout(), saying it can not dump binary data.

Has anyone ever had an success at reading in binary and/or extended characters 
using XML::Simple?

Background:
-----------
Basically, I am :
- Using Crypt:DES_PP and Crypt::CBC to encrypt userids and passwords.
- These encrypted values are stored within a small XML config file.
- I then try and use XML::Simple to process the XML config file and then 
reverse the decryption using Crypt::CBC.

Thing is I get an error once I put the encrpyted text into the XML file:

<snip>
not well-formed (invalid token) at line 14, column 43, byte 559 at 
/usr/lib/perl5/vendor_perl/5.8/cygwin/XML/Parser.pm line 187
 at /usr/lib/perl5/vendor_perl/5.8/cygwin/XML/Parser.pm line 192
        XML::Parser::parse('XML::Parser=HASH(0x105c811c)', 
'*XML::Simple::XML_FILE') called at ../inc/XML/Simple.pm line 334
        XML::Simple::build_tree_xml_parser('XML::Simple=HASH(0x1058a630)', 
'./batch-sql.xml', './batch-sql.xml') called at ../inc/XML/Simple.pm line 277
        XML::Simple::build_tree('XML::Simple=HASH(0x1058a630)', 
'./batch-sql.xml', './batch-sql.xml') called at ../inc/XML/Simple.pm line 220
        XML::Simple::XMLin('XML::Simple=HASH(0x1058a630)', './batch-sql.xml') 
called at C:/My Data/projects/planit/nix/bin/test-xml-encryption.pl line 130
</snip>

I thought if I wrapped the encrypted data in CDATA tags the problem would go 
away, but it hasn't.  The XML file looks like the following (some of this text 
may not display correctly):

<batch-sql>
    <notifications>
        <email-addr type="development">[EMAIL PROTECTED]</email-addr>
    </notifications>
    <directories>
        <directory name="base">..</directory>
        <directory name="inbound">inbound</directory>
        <directory name="working">working</directory>
        <directory name="logs">logs</directory>
    </directories>
    <server>
        <usr><![CDATA[Salted__›;Ôåñ4\jÔa Ú. `1a¯Nˆ%]]></usr>
        <pwd><![CDATA[Salted__Beú´;ˆ,%r|jP§uŒ²˜”]]></pwd>
        <sid>ORACLE_SID</sid>
    </server>
</batch-sql>

I've isolated it to XML::Simple and the encrypted data as I have eliminated the 
following:
- The CDATA tags are not causing the issue, replacing the encrypted text with 
plain text while keeping the CDATA tags and it works
- The Crypt::CBC works fine if I just do the encryption/decryption with 
variables and don't involve the XML file.

I've tried a bunch of different searches on Google about XML::Simple and binary 
data and reading the extended character set, but nothing has come up 
yet...perhaps I'm not asking the question correctly for Google.  Any help would 
be greatly appreciated...


Versions:
---------
Perl 5.8.7
XML::Simple 2.09


tia,

Adym Lincoln
I/S Corporate - I/S Internal Applications
603-245-3744
Ext : 53744
[EMAIL PROTECTED]

...
Basic Math : Music * Audio = Emotion
Adym Math  : Green Day * JBL = Happiness ...
...
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to