Crypt::...L::ECDSA(3)
π Crypt::OpenSSL::ECDSA β the manual page, but make it make sense π
okay bestie, so this is the Crypt::...L::ECDSA(3) page β like, the Crypt::OpenSSL::ECDSA module, from the User Contributed Perl Documentation corner of the internet. it's about signing stuff with math that lives on curves. yes, curves. slay. π¦
β¨ NAME β¨
Crypt::OpenSSL::ECDSA β a Perl extension for OpenSSL ECDSA (Elliptic Curve Digital Signature Algorithm). that's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
here's the whole flow, literally exactly like this:
use Crypt::OpenSSL::ECDSA;
$sig = Crypt::OpenSSL::ECDSA::ECDSA_do_sign( $digest, $eckey );
$r = $sig->get_r;
$s = $sig->get_s;
$sig = Crypt::OpenSSL::ECDSA::ECDSA_SIG->new();
$sig->set_r($r);
$sig->set_s($s);
Crypt::OpenSSL::ECDSA::ECDSA_do_verify( $digest, $sig, $eckey );
sign it, grab the r and s, build a fresh sig object, set them back, verify. it's giving β¨ritualβ¨. no cap.
π DESCRIPTION π
so this module gives you an interface to the ECDSA (Elliptic Curve Digital Signature Algorithm) functions inside OpenSSL. that's the whole point. π
Tested against OpenSSL 1.0.2
π Export
None by default. like, zero. nothing comes out to play unless you ask. π
π Exportable constants
these are the constants you can export (iykyk):
ECDSA_F_ECDSA_CHECK
ECDSA_F_ECDSA_DATA_NEW_METHOD
ECDSA_F_ECDSA_DO_SIGN
ECDSA_F_ECDSA_DO_VERIFY
ECDSA_F_ECDSA_SIGN_SETUP
ECDSA_R_BAD_SIGNATURE
ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE
ECDSA_R_ERR_EC_LIB
ECDSA_R_MISSING_PARAMETERS
ECDSA_R_NEED_NEW_SETUP_VALUES
ECDSA_R_NON_FIPS_METHOD
ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED
ECDSA_R_SIGNATURE_MALLOC_FAILED
π CLASS METHODS π
β new
$sig = Crypt::OpenSSL::ECDSA::ECDSA_SIG->new();
Creates a brand-new ECDSA Signature Object. main character energy, freshly born. π
The internal "r" and "s" components? undefined. they haven't found themselves yet. it's a journey. π¦
π« OBJECT METHODS π«
πΈ get_r;
$r = $sig->get_r;
Gets the signature "r" component.
The method returns a string representing a binary integer in network (big-endian) byte order. yes, that byte order. π
πΈ get_s;
$s = $sig->get_s;
Gets the signature "s" component.
The method returns a string representing a binary integer in network (big-endian) byte order. same energy, different letter. β¨
πΈ set_r;
$sig->set_r($r);
Sets the signature "r" component.
The argument is a string representing a binary integer in network (big-endian) byte order.
πΈ set_s;
$sig->set_r($s);
Sets the signature "s" component.
The argument is a string representing a binary integer in network (big-endian) byte order.
not me noticing that theset_sexample callsset_r... the docs said what the docs said and I am simply reporting it, verbatim, exactly as written. π the text under it is definitely aboutset_stho.
π¦ SEE ALSO π¦
- OpenSSL documentation <http://www.openssl.org/> β go read the source of truth, bestie
Crypt::OpenSSL::EC,
π AUTHOR π
Mike McCauley, <mikem@airspayce.com>
π COPYRIGHT AND LICENSE π
Copyright (C) 2014 by Mike McCauley
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.18.1 or, at your option, any later version of Perl 5 you may have available.
π POD ERRORS π
Hey! The above document had some coding errors, which are explained below:
Around line 151:
'=item' outside of any '=over'
Around line 160:
You forgot a '=back' before '=head1'
Around line 162:
'=item' outside of any '=over'
Around line 201:
You forgot a '=back' before '=head1'
okay so the manpage itself is calling itself out π iconic behaviour honestly. we love a self-aware document.
and that's the whole page, bestie π«Ά this was perl v5.42.0, dated 2025-07-25, filed under Crypt::...L::ECDSA(3). go forth and sign responsibly. periodt. π
β¨
π¦ where this page comes from
- fedora 43: perl-Crypt-OpenSSL-ECDSA 0.10-18.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms