Palm-Keyring

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    the password.

    If nothing is passed, it forgets the password that it was remembering.

    After a successful password verification the following fields are set

    For v4

        $pdb->{digest}   = the calculated digest used from the key;
        $pdb->{password} = the password that was passed in;

    For v5

        $pdb->{appinfo} = {
            # As described under new() with these additional fields
            cipher     => The index number of the cipher being used
            iter       => Number of iterations for the cipher
            key        => The key that is calculated from the password 
                          and salt and is used to decrypt the records.
            masterhash => the hash of the key that is stored in the 
                          database.  Either set when Loading the database
                          or when setting a new password.
            salt       => the salt that is either read out of the database 
                          or calculated when setting a new password.
        };

  Other overridden subroutines/methods
    ParseAppInfoBlock
        Converts the extra returned by Palm::StdAppInfo::ParseAppInfoBlock()
        into the following additions to $pdb->{appinfo}

            $pdb->{appinfo} = {
                cipher     => The index number of the cipher being used (Not v4)
                iter       => Number of iterations for the cipher (Not v4)
            };

    PackAppInfoBlock
        Reverses ParseAppInfoBlock before sending it on to
        Palm::StdAppInfo::PackAppInfoBlock()

    ParseRecord
        Adds some fields to a record from Palm::StdAppInfo::ParseRecord()

            $rec = {
                name       => Account name
                ivec       => The IV for the encrypted record.  (Not v4)
                encrypted  => the encrypted information
            };

    PackRecord
        Reverses ParseRecord and then sends it through
        Palm::StdAppInfo::PackRecord()

DEPENDENCIES
    Palm::StdAppInfo

    For v4 databases

    Digest::MD5

    Crypt::DES

    For v5 databases

    Digest::HMAC_SHA1

    Digest::SHA1

    Depending on how the database is encrypted

    Crypt::CBC - For any encryption but None

    Crypt::DES_EDE3 - DES_EDE3 encryption

    Crytp::Rijndael - AES encryption schemes

THANKS
    I would like to thank the helpful Perlmonk shigetsu who gave me some
    great advice and helped me get my first module posted.
    <http://perlmonks.org/?node_id=596998>

    I would also like to thank Johan Vromans <jvromans@squirrel.nl> --
    <http://www.squirrel.nl/people/jvromans>. He had his own Palm::KeyRing
    module that he posted a couple of days before mine was ready and he was
    kind enough to let me have the namespace as well as giving me some very
    helpful hints about doing a few things that I was unsure of. He is
    really great.

    And finally, thanks to Jochen Hoenicke <hoenicke@gmail.com> (one of the
    authors of Palm Keyring) for getting me started on the v5 support as
    well as providing help and some subroutines.

BUGS AND LIMITATIONS
    I am sure there are problems with this module. For example, I have not
    done very extensive testing of the v5 databases.

    I am not sure I am 'require module' the best way, but I don't want to
    depend on modules that you don't need to use.

    I am not very happy with the data structures used by Encrypt() and
    Decrypt() for v5 databases, but I am not sure of a better way.

    The v4 compatibility mode does not insert a fake record 0 where normally
    the encrypted password is stored.

    The date validation for packing new dates is very poor.

    I have not gone through and standardized on how the module fails. Some
    things fail with croak, some return undef, some may even fail silently.
    Nothing initializes a lasterr method or anything like that. I need to
    fix all that before it is a 1.0 candidate.

    Please report any bugs or feature requests to "bug-palm-keyring at
    rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I
    will be notified, and then you'll automatically be notified of progress
    on your bug as I make changes.

AUTHOR
    Andrew Fresh <andrew@cpan.org>

LICENSE AND COPYRIGHT
    Copyright 2004, 2005, 2006, 2007 Andrew Fresh, All Rights Reserved.

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

SEE ALSO
    Palm::PDB(3)

    Palm::StdAppInfo(3)

    The Keyring for Palm OS website: <http://gnukeyring.sourceforge.net/>



( run in 2.348 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )