The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WWW::Suffit::RSA - The RSA encryption and signing subclass

SYNOPSIS

    use WWW::Suffit::RSA;

    my $rsa = WWW::Suffit::RSA->new;

    $rsa->keygen(2048);
    my $private_key = $rsa->private_key;
    my $public_key = $rsa->public_key;

    my $b64_cipher_text = $rsa->encrypt("test");
    my $plain_text = $rsa->decrypt($b64_cipher_text);

    my $signature = $rsa->sign("Text", 256) or die $rsa->error;
    $rsa->verify("Text", $signature, 256) or die $rsa->error || "Incorrect signature";

DESCRIPTION

The RSA encryption and signing subclass

This module based on Crypt::OpenSSL::RSA

METHODS

WWW::Suffit::RSA inherits all of the properties and methods from Mojo::Base and implements the following new ones.

decrypt

    my $plain_text = $rsa->decrypt($b64_cipher_text);

Decrypt a base64 short "string" to plain text

encrypt

    my $b64_cipher_text = $rsa->encrypt("test");

Encrypt a short "string" using the public key and returns base64 string

error

    $rsa->error($new_error);
    my $error = $rsa->error;

Sets/gets the error string

keygen

    $rsa->keygen( $key_size );
    my $public_key = $rsa->public_key;
    my $private_key = $rsa->private_key;

Create a new private/public key pair (the public exponent is 65537). The argument is the key size, default is 2048

private_key

The RSA private key to be used in edcoding an asymmetrically signed data

public_key

The RSA public key to be used in decoding an asymmetrically signed data

sign

    my $signature = $rsa->sign($string, $size);

Returns the RSA signature for the given size and string. The "private_key" attribute is used as the private key. The result is not yet base64 encoded. This method is provided mostly for the purposes of subclassing.

verify

    my $bool = $rsa->verify($string, $signature, $size);

Returns true if the given RSA size algorithm validates the given string and signature. The "public_key" attribute is used as the public key. This method is provided mostly for the purposes of subclassing.

DEPENDENCIES

Crypt::OpenSSL::RSA

HISTORY

See Changes file

TO DO

See TODO file

SEE ALSO

Mojolicious, Crypt::OpenSSL::RSA

AUTHOR

Serż Minus (Sergey Lepenkov) https://www.serzik.com <abalama@cpan.org>

COPYRIGHT

Copyright (C) 1998-2023 D&D Corporation. All Rights Reserved

LICENSE

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

See LICENSE file and https://dev.perl.org/licenses/