You can subscribe to this list here.
2003 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(13) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(50) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2006 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
|
From: <iro...@us...> - 2004-02-16 03:06:43
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/t In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26078/t Removed Files: legacy.t Log Message: remove deprecated methods --- legacy.t DELETED --- |
From: <iro...@us...> - 2004-02-16 02:18:59
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17760 Modified Files: Changes RSA.pm Log Message: version bump - include the format test Index: Changes =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/Changes,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Changes 15 Feb 2004 20:32:26 -0000 1.13 --- Changes 16 Feb 2004 02:11:14 -0000 1.14 *************** *** 1,4 **** --- 1,8 ---- Revision history for Perl extension Crypt::OpenSSL::RSA. + 0.21 Sun Feb 15 2004 21:13:45 + - Include t/format.t in the MANIFEST file, so that it is + actually included in the distribution. + 0.20 Sun Feb 15 2004 15:21:40 - Finally add support for the public key format produced by Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** RSA.pm 15 Feb 2004 20:32:26 -0000 1.29 --- RSA.pm 16 Feb 2004 02:11:14 -0000 1.30 *************** *** 16,20 **** $RSA_PKCS1_OAEP_PADDING); ! $VERSION = '0.20'; bootstrap Crypt::OpenSSL::RSA $VERSION; --- 16,20 ---- $RSA_PKCS1_OAEP_PADDING); ! $VERSION = '0.21'; bootstrap Crypt::OpenSSL::RSA $VERSION; |
From: <iro...@us...> - 2004-02-16 02:16:36
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17241 Modified Files: MANIFEST Log Message: Add format.t Index: MANIFEST =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/MANIFEST,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MANIFEST 24 Feb 2003 02:13:40 -0000 1.5 --- MANIFEST 16 Feb 2004 02:08:52 -0000 1.6 *************** *** 9,10 **** --- 9,11 ---- t/rsa.t t/bignum.t + t/format.t |
From: <iro...@us...> - 2004-02-15 20:39:57
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17383 Modified Files: Changes RSA.pm Log Message: prepare for release Index: Changes =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/Changes,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Changes 27 Apr 2003 22:39:59 -0000 1.12 --- Changes 15 Feb 2004 20:32:26 -0000 1.13 *************** *** 1,4 **** --- 1,9 ---- Revision history for Perl extension Crypt::OpenSSL::RSA. + 0.20 Sun Feb 15 2004 15:21:40 + - Finally add support for the public key format produced by + "openssl rsa -pubout". + - Add comment in readme about locating kerberos files on redhat systems + 0.19 Sun Apr 27 2003 18:33:48 - Revert back to old declaration style so that we no longer Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** RSA.pm 15 Feb 2004 14:20:17 -0000 1.28 --- RSA.pm 15 Feb 2004 20:32:26 -0000 1.29 *************** *** 16,20 **** $RSA_PKCS1_OAEP_PADDING); ! $VERSION = '0.19'; bootstrap Crypt::OpenSSL::RSA $VERSION; --- 16,20 ---- $RSA_PKCS1_OAEP_PADDING); ! $VERSION = '0.20'; bootstrap Crypt::OpenSSL::RSA $VERSION; *************** *** 416,420 **** =head1 AUTHOR ! Ian Robertson, iro...@cp... =head1 SEE ALSO --- 416,421 ---- =head1 AUTHOR ! Ian Robertson, iro...@cp.... For support, please email ! per...@li.... =head1 SEE ALSO |
From: <iro...@us...> - 2004-02-15 20:39:32
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17303 Modified Files: README Log Message: *) document new get_public_key_x509_string method *) add comment about including kerberos headers when building *) update copyright Index: README =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/README,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** README 27 Apr 2003 20:03:53 -0000 1.9 --- README 15 Feb 2004 20:32:01 -0000 1.10 *************** *** 1,9 **** Crypt::OpenSSL::RSA is an XS perl module designed to provide basic RSA functionality. It does this by providing a glue to the RSA functions ! in the openSSL library. In particular, it provides the following functions: new_public_key, new_private_key - create a key from a string generate_key - make a new key ! get_public_key_string, get_private_key_string - save a key to a string encrypt, decrypt, sign, verify, use_pkcs1_oaep_padding, use_pkcs1_padding, --- 1,13 ---- Crypt::OpenSSL::RSA is an XS perl module designed to provide basic RSA functionality. It does this by providing a glue to the RSA functions ! in the OpenSSL library. In particular, it provides the following functions: new_public_key, new_private_key - create a key from a string generate_key - make a new key ! get_private_key_string - save key to a string ! get_public_key_string - save public portion of key to a string ! get_public_key_x509_string - save public portion of key to a string, ! using format compatibe with OpenSSL's ! command-line rsa tool encrypt, decrypt, sign, verify, use_pkcs1_oaep_padding, use_pkcs1_padding, *************** *** 19,26 **** not yet implemented. - There is no support for encrypting text larger than the key-size. - There is no Crypt::CBC support. NOTE: as of version 0.17, the following methods are DEPRECATED: - the no-arg new constructor - use new_from_public_key, --- 23,35 ---- not yet implemented. There is no Crypt::CBC support. + (Reported by Max Baker <ma...@wa...>) For making under Redhat 8 + or 9 you may need to supply the include path to the kerberos header + files when running make + + make C_INCLUDE_PATH=/usr/kerberos/include + + NOTE: as of version 0.17, the following methods are DEPRECATED: - the no-arg new constructor - use new_from_public_key, *************** *** 41,45 **** http://perl-openssl.sourceforge.net/. ! Copyright (c) 2001-2003 Ian Robertson. Crypt::OpenSSL::RSA is free software; you may redistribute it and/or modify it under the same terms as Perl itself. --- 50,54 ---- http://perl-openssl.sourceforge.net/. ! Copyright (c) 2001-2004 Ian Robertson. Crypt::OpenSSL::RSA is free software; you may redistribute it and/or modify it under the same terms as Perl itself. |
From: <iro...@us...> - 2004-02-15 15:10:07
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14975 Modified Files: RSA.xs Log Message: get rid of some unpleasant code duplication Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** RSA.xs 15 Feb 2004 14:52:00 -0000 1.33 --- RSA.xs 15 Feb 2004 15:02:46 -0000 1.34 *************** *** 179,185 **** } ! BIGNUM* maybe_BN_dup(BIGNUM* bn) { ! return bn != NULL ? BN_dup(bn) : NULL; } --- 179,187 ---- } ! SV* bn2sv(BIGNUM* p_bn) { ! return p_bn != NULL ! ? sv_2mortal(newSViv((IV) BN_dup(p_bn))) ! : &PL_sv_undef; } *************** *** 405,416 **** RSA* rsa; rsa = get_RSA_key(rsa_HV); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->n)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->e)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->d)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->p)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->q)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->dmp1)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->dmq1)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->iqmp)))); } --- 407,418 ---- RSA* rsa; rsa = get_RSA_key(rsa_HV); ! XPUSHs(bn2sv(rsa->n)); ! XPUSHs(bn2sv(rsa->e)); ! XPUSHs(bn2sv(rsa->d)); ! XPUSHs(bn2sv(rsa->p)); ! XPUSHs(bn2sv(rsa->q)); ! XPUSHs(bn2sv(rsa->dmp1)); ! XPUSHs(bn2sv(rsa->dmq1)); ! XPUSHs(bn2sv(rsa->iqmp)); } |
From: <iro...@us...> - 2004-02-15 14:59:21
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13136 Modified Files: RSA.xs Log Message: Give more verbose error strings Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** RSA.xs 15 Feb 2004 14:20:17 -0000 1.32 --- RSA.xs 15 Feb 2004 14:52:00 -0000 1.33 *************** *** 15,19 **** #define CHECK_OPEN_SSL(p_result) if (!(p_result)) \ ! croak("OpenSSL error: %s", ERR_reason_error_string(ERR_get_error())); /* convenience hv routines - I'm lazy */ --- 15,20 ---- #define CHECK_OPEN_SSL(p_result) if (!(p_result)) \ ! croak("OpenSSL error in %s at %d: %s", \ ! __FILE__, __LINE__, ERR_reason_error_string(ERR_get_error())); /* convenience hv routines - I'm lazy */ *************** *** 309,312 **** --- 310,314 ---- unsigned long exponent; CODE: + { if (items > 3) { *************** *** 317,320 **** --- 319,323 ---- CHECK_OPEN_SSL(rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL)) set_RSA_key(rsa_HV, rsa); + } SV* *************** *** 464,467 **** --- 467,471 ---- RSA* rsa; CODE: + { if (! is_private(rsa_HV)) { *************** *** 490,493 **** --- 494,498 ---- RETVAL = newSVpv(plaintext, plaintext_length); Safefree(plaintext); + } OUTPUT: RETVAL |
From: <iro...@us...> - 2004-02-15 14:27:39
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6995 Modified Files: RSA.pm RSA.xs Log Message: fix a few places where I was still thinking of it as a pem string instead of an x509 string Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** RSA.pm 13 Feb 2004 23:26:58 -0000 1.27 --- RSA.pm 15 Feb 2004 14:20:17 -0000 1.28 *************** *** 59,63 **** $rsa->get_public_key_string(); print "public key (in X509 format) is:\n", ! $rsa->get_public_key_pem_string(); $rsa_priv->use_md5_hash(); # use_sha1_hash is the default --- 59,63 ---- $rsa->get_public_key_string(); print "public key (in X509 format) is:\n", ! $rsa->get_public_key_x509_string(); $rsa_priv->use_md5_hash(); # use_sha1_hash is the default *************** *** 237,241 **** elsif ($p_key_string =~ /^-----BEGIN PUBLIC KEY-----/) { ! $self->_load_public_pem_key($p_key_string); } else --- 237,241 ---- elsif ($p_key_string =~ /^-----BEGIN PUBLIC KEY-----/) { ! $self->_load_public_x509_key($p_key_string); } else Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** RSA.xs 15 Feb 2004 14:18:17 -0000 1.31 --- RSA.xs 15 Feb 2004 14:20:17 -0000 1.32 *************** *** 244,248 **** void ! _load_public_pem_key(rsa_HV, key_string_SV) HV* rsa_HV; SV* key_string_SV; --- 244,248 ---- void ! _load_public_x509_key(rsa_HV, key_string_SV) HV* rsa_HV; SV* key_string_SV; |
From: <iro...@us...> - 2004-02-15 14:25:37
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6595 Modified Files: RSA.xs Log Message: misc cleanup - removing temporary variables, white space, etc. Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** RSA.xs 13 Feb 2004 23:26:24 -0000 1.30 --- RSA.xs 15 Feb 2004 14:18:17 -0000 1.31 *************** *** 38,47 **** { SV** rsa_ptr_SV_ptr; - RSA* rsa; ! rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if (rsa_ptr_SV_ptr != NULL) { ! RSA_free((RSA*) SvIV (*rsa_ptr_SV_ptr)); hv_delete(rsa_HV, KEY_KEY, strlen(KEY_KEY), G_DISCARD); } --- 38,45 ---- { SV** rsa_ptr_SV_ptr; ! if ((rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY)) != NULL) { ! RSA_free((RSA*) SvIV(*rsa_ptr_SV_ptr)); hv_delete(rsa_HV, KEY_KEY, strlen(KEY_KEY), G_DISCARD); } *************** *** 51,58 **** { SV** rsa_ptr_SV_ptr; - RSA* rsa; ! rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if (rsa_ptr_SV_ptr == NULL) { croak("There is no key set"); --- 49,54 ---- { SV** rsa_ptr_SV_ptr; ! if ((rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY)) == NULL) { croak("There is no key set"); *************** *** 60,64 **** else { ! return (RSA*) SvIV (*rsa_ptr_SV_ptr); } } --- 56,60 ---- else { ! return (RSA*) SvIV(*rsa_ptr_SV_ptr); } } *************** *** 102,106 **** SV* make_rsa_obj(SV* p_proto, RSA* p_rsa) { - RSA* rsa; HV* rsa_HV; rsa_HV = newHV(); --- 98,101 ---- *************** *** 108,115 **** set_hash(rsa_HV, NID_sha1); set_padding(rsa_HV, RSA_PKCS1_OAEP_PADDING); ! return sv_bless(newRV_noinc((SV*) rsa_HV), ! (SvROK(p_proto) ! ? SvSTASH(SvRV(p_proto)) ! : gv_stashsv(p_proto, 1))); } --- 103,109 ---- set_hash(rsa_HV, NID_sha1); set_padding(rsa_HV, RSA_PKCS1_OAEP_PADDING); ! return sv_bless( ! newRV_noinc((SV*) rsa_HV), ! (SvROK(p_proto) ? SvSTASH(SvRV(p_proto)) : gv_stashsv(p_proto, 1))); } *************** *** 267,275 **** PREINIT: BIO* stringBIO; - RSA* rsa; CODE: CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem())) ! rsa = get_RSA_key(rsa_HV); ! PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); RETVAL = extractBioString(stringBIO); --- 261,268 ---- PREINIT: BIO* stringBIO; CODE: CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem())) ! PEM_write_bio_RSAPrivateKey( ! stringBIO, get_RSA_key(rsa_HV), NULL, NULL, 0, NULL, NULL); RETVAL = extractBioString(stringBIO); *************** *** 322,329 **** exponent = (items == 3) ? SvIV(ST(2)) : 65535; ! rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL); ! ! CHECK_OPEN_SSL(rsa) ! set_RSA_key(rsa_HV, rsa); --- 315,319 ---- exponent = (items == 3) ? SvIV(ST(2)) : 65535; ! CHECK_OPEN_SSL(rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL)) set_RSA_key(rsa_HV, rsa); *************** *** 589,593 **** SV* ! sign (rsa_HV, text_SV, ...) HV* rsa_HV; SV* text_SV; --- 579,583 ---- SV* ! sign(rsa_HV, text_SV, ...) HV* rsa_HV; SV* text_SV; *************** *** 632,636 **** void ! verify (rsa_HV, text_SV, sig_SV, ...) HV* rsa_HV; SV* text_SV; --- 622,626 ---- void ! verify(rsa_HV, text_SV, sig_SV, ...) HV* rsa_HV; SV* text_SV; |
From: <iro...@us...> - 2004-02-13 23:33:04
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3008 Modified Files: RSA.pm Log Message: *) Whitespace normalization Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** RSA.pm 13 Feb 2004 23:02:13 -0000 1.26 --- RSA.pm 13 Feb 2004 23:26:58 -0000 1.27 *************** *** 4,10 **** use Carp; ! use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD $RSA_PKCS1_PADDING $RSA_SSLV23_PADDING $RSA_NO_PADDING ! $RSA_PKCS1_OAEP_PADDING ); require Exporter; --- 4,10 ---- use Carp; ! use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD $RSA_PKCS1_PADDING $RSA_SSLV23_PADDING $RSA_NO_PADDING ! $RSA_PKCS1_OAEP_PADDING); require Exporter; *************** *** 13,18 **** @ISA = qw(Exporter DynaLoader); ! @EXPORT = qw( $RSA_PKCS1_PADDING $RSA_SSLV23_PADDING $RSA_NO_PADDING ! $RSA_PKCS1_OAEP_PADDING ); $VERSION = '0.19'; --- 13,18 ---- @ISA = qw(Exporter DynaLoader); ! @EXPORT = qw($RSA_PKCS1_PADDING $RSA_SSLV23_PADDING $RSA_NO_PADDING ! $RSA_PKCS1_OAEP_PADDING); $VERSION = '0.19'; *************** *** 52,57 **** $plaintext = $rsa->encrypt($ciphertext); ! $rsa = Crypt::OpenSSL::RSA->generate_key( 1024 ); # or ! $rsa = Crypt::OpenSSL::RSA->generate_key( 1024, $prime ); print "private key is:\n", $rsa->get_private_key_string(); --- 52,57 ---- $plaintext = $rsa->encrypt($ciphertext); ! $rsa = Crypt::OpenSSL::RSA->generate_key(1024); # or ! $rsa = Crypt::OpenSSL::RSA->generate_key(1024, $prime); print "private key is:\n", $rsa->get_private_key_string(); *************** *** 63,67 **** $rsa_priv->use_md5_hash(); # use_sha1_hash is the default $signature = $rsa_priv->sign($plaintext); ! print "Signed correctly\n" if ( $rsa->verify($plaintext, $signature) ); =head1 DESCRIPTION --- 63,67 ---- $rsa_priv->use_md5_hash(); # use_sha1_hash is the default $signature = $rsa_priv->sign($plaintext); ! print "Signed correctly\n" if ($rsa->verify($plaintext, $signature)); =head1 DESCRIPTION *************** *** 113,117 **** { my $self = shift->_new(); ! $self->load_private_key( @_ ); return $self; } --- 113,117 ---- { my $self = shift->_new(); ! $self->load_private_key(@_); return $self; } *************** *** 132,145 **** sub generate_key { ! if( ref $_[0] ) { warn "use of generate_key as an instance method instead of as a constructor has been deprecated."; my $self = shift; ! $self->_generate_key( @_ ); } else { my $self = shift->_new(); ! $self->_generate_key( @_ ); return $self; } --- 132,145 ---- sub generate_key { ! if (ref $_[0]) { warn "use of generate_key as an instance method instead of as a constructor has been deprecated."; my $self = shift; ! $self->_generate_key(@_); } else { my $self = shift->_new(); ! $self->_generate_key(@_); return $self; } *************** *** 160,166 **** sub new_key_from_parameters { ! my( $proto, $n, $e, $d, $p, $q ) = @_; return $proto->_new_key_from_parameters ! ( map { $_ ? $_->pointer_copy() : 0 } $n, $e, $d, $p, $q ); } --- 160,166 ---- sub new_key_from_parameters { ! my($proto, $n, $e, $d, $p, $q) = @_; return $proto->_new_key_from_parameters ! (map { $_ ? $_->pointer_copy() : 0 } $n, $e, $d, $p, $q); } *************** *** 175,181 **** sub import_random_seed { ! until ( _random_status() ) { ! _random_seed( Crypt::OpenSSL::Random::random_bytes(20) ); } } --- 175,181 ---- sub import_random_seed { ! until (_random_status()) { ! _random_seed(Crypt::OpenSSL::Random::random_bytes(20)); } } *************** *** 299,303 **** my $self = shift; warn "set_padding_mode is deprecated. Use use_xxx_padding instead"; ! shift->_set_padding_mode( @_ ) ; } --- 299,303 ---- my $self = shift; warn "set_padding_mode is deprecated. Use use_xxx_padding instead"; ! shift->_set_padding_mode(@_) ; } *************** *** 334,338 **** sub use_sslv23_padding { ! shift->_set_padding_mode( $RSA_SSLV23_PADDING ); } --- 334,338 ---- sub use_sslv23_padding { ! shift->_set_padding_mode($RSA_SSLV23_PADDING); } |
From: <iro...@us...> - 2004-02-13 23:32:28
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2904 Modified Files: RSA.xs Log Message: *) Whitespace normalization *) rename CHECK_OPEN_SSL_CALL macro to CHECK_OPEN_SSL, call as appropriate Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** RSA.xs 13 Feb 2004 23:10:49 -0000 1.29 --- RSA.xs 13 Feb 2004 23:26:24 -0000 1.30 *************** *** 14,19 **** #define PACKAGE_NAME "Crypt::OpenSSL::RSA" ! #define CHECK_OPEN_SSL_CALL( result ) if( ! ( result ) ) \ ! croak( "OpenSSL error: %s", ERR_reason_error_string( ERR_get_error() ) ); /* convenience hv routines - I'm lazy */ --- 14,19 ---- #define PACKAGE_NAME "Crypt::OpenSSL::RSA" ! #define CHECK_OPEN_SSL(p_result) if (!(p_result)) \ ! croak("OpenSSL error: %s", ERR_reason_error_string(ERR_get_error())); /* convenience hv routines - I'm lazy */ *************** *** 23,27 **** hv_delete(hv, key, strlen(key), G_DISCARD); ! if( hv_store(hv, key, strlen(key), value, 0) != NULL) { SvREFCNT_inc(value); --- 23,27 ---- hv_delete(hv, key, strlen(key), G_DISCARD); ! if (hv_store(hv, key, strlen(key), value, 0) != NULL) { SvREFCNT_inc(value); *************** *** 41,47 **** rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if( rsa_ptr_SV_ptr != NULL ) { ! RSA_free ((RSA*) SvIV (*rsa_ptr_SV_ptr)); hv_delete(rsa_HV, KEY_KEY, strlen(KEY_KEY), G_DISCARD); } --- 41,47 ---- rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if (rsa_ptr_SV_ptr != NULL) { ! RSA_free((RSA*) SvIV (*rsa_ptr_SV_ptr)); hv_delete(rsa_HV, KEY_KEY, strlen(KEY_KEY), G_DISCARD); } *************** *** 54,60 **** rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if( rsa_ptr_SV_ptr == NULL ) { ! croak( "There is no key set" ); } else --- 54,60 ---- rsa_ptr_SV_ptr = hvFetch(rsa_HV, KEY_KEY); ! if (rsa_ptr_SV_ptr == NULL) { ! croak("There is no key set"); } else *************** *** 66,70 **** void set_RSA_key(HV* rsa_HV, RSA* rsa) { ! hvStore( rsa_HV, KEY_KEY, sv_2mortal( newSViv( (IV)rsa ) ) ); } --- 66,70 ---- void set_RSA_key(HV* rsa_HV, RSA* rsa) { ! hvStore(rsa_HV, KEY_KEY, sv_2mortal(newSViv((IV)rsa))); } *************** *** 79,85 **** void set_padding(HV* rsa_HV, int padding) { ! hvStore( rsa_HV, ! PADDING_KEY, ! sv_2mortal( newSViv( (IV) padding ) ) ); } --- 79,83 ---- void set_padding(HV* rsa_HV, int padding) { ! hvStore(rsa_HV, PADDING_KEY, sv_2mortal(newSViv((IV) padding))); } *************** *** 94,103 **** void set_hash(HV* rsa_HV, int hash) { ! hvStore( rsa_HV, HASH_KEY, sv_2mortal( newSViv( (IV) hash ) ) ); } char is_private(HV* rsa_HV) { ! return( get_RSA_key(rsa_HV)->d != NULL ); } --- 92,101 ---- void set_hash(HV* rsa_HV, int hash) { ! hvStore(rsa_HV, HASH_KEY, sv_2mortal(newSViv((IV) hash))); } char is_private(HV* rsa_HV) { ! return(get_RSA_key(rsa_HV)->d != NULL); } *************** *** 107,122 **** HV* rsa_HV; rsa_HV = newHV(); ! hvStore( rsa_HV, KEY_KEY, sv_2mortal( newSViv( (IV) p_rsa ) ) ); ! set_hash( rsa_HV, NID_sha1 ); ! set_padding( rsa_HV, RSA_PKCS1_OAEP_PADDING ); ! return sv_bless( newRV_noinc( (SV*) rsa_HV ), ! ( SvROK( p_proto ) ! ? SvSTASH( SvRV( p_proto ) ) ! : gv_stashsv( p_proto, 1 ) ) ); } ! int get_digest_length( int hash_method ) { ! switch( hash_method ) { case NID_md5: --- 105,120 ---- HV* rsa_HV; rsa_HV = newHV(); ! hvStore(rsa_HV, KEY_KEY, sv_2mortal(newSViv((IV) p_rsa ))); ! set_hash(rsa_HV, NID_sha1); ! set_padding(rsa_HV, RSA_PKCS1_OAEP_PADDING); ! return sv_bless(newRV_noinc((SV*) rsa_HV), ! (SvROK(p_proto) ! ? SvSTASH(SvRV(p_proto)) ! : gv_stashsv(p_proto, 1))); } ! int get_digest_length(int hash_method) { ! switch(hash_method) { case NID_md5: *************** *** 128,137 **** break; default: ! croak( "Unknown digest hash code" ); break; } } ! char* get_message_digest( SV* text_SV, int hash_method ) { int text_length; --- 126,135 ---- break; default: ! croak("Unknown digest hash code"); break; } } ! char* get_message_digest(SV* text_SV, int hash_method) { int text_length; *************** *** 141,158 **** text = SvPV(text_SV, text_length); ! if( New(0, message_digest, get_digest_length(hash_method), char) == NULL ) { ! croak ( "unable to allocate buffer for message digest in package " ! PACKAGE_NAME ); } ! switch( hash_method ) { case NID_md5: { ! if( MD5(text, text_length, message_digest) == NULL ) { ! croak( "failed to compute the MD5 message digest in package " ! PACKAGE_NAME ); } break; --- 139,156 ---- text = SvPV(text_SV, text_length); ! if (New(0, message_digest, get_digest_length(hash_method), char) == NULL) { ! croak("unable to allocate buffer for message digest in package " ! PACKAGE_NAME); } ! switch(hash_method) { case NID_md5: { ! if (MD5(text, text_length, message_digest) == NULL) { ! croak("failed to compute the MD5 message digest in package " ! PACKAGE_NAME); } break; *************** *** 161,168 **** case NID_sha1: { ! if( SHA1( text, text_length, message_digest ) == NULL ) { ! croak( "failed to compute the SHA1 message digest in package " ! PACKAGE_NAME ); } break; --- 159,166 ---- case NID_sha1: { ! if (SHA1(text, text_length, message_digest) == NULL) { ! croak("failed to compute the SHA1 message digest in package " ! PACKAGE_NAME); } break; *************** *** 170,177 **** case NID_ripemd160: { ! if( RIPEMD160( text, text_length, message_digest ) == NULL ) { ! croak( "failed to compute the SHA1 message digest in package " ! PACKAGE_NAME ); } break; --- 168,175 ---- case NID_ripemd160: { ! if (RIPEMD160(text, text_length, message_digest) == NULL) { ! croak("failed to compute the SHA1 message digest in package " ! PACKAGE_NAME); } break; *************** *** 179,183 **** default: { ! croak( "Unknown digest hash code" ); break; } --- 177,181 ---- default: { ! croak("Unknown digest hash code"); break; } *************** *** 220,225 **** keyString = SvPV(p_keyStringSv, keyStringLength); ! CHECK_OPEN_SSL_CALL( ! stringBIO = BIO_new_mem_buf(keyString, keyStringLength)) rsa = p_loader(stringBIO, NULL, NULL, NULL); --- 218,222 ---- keyString = SvPV(p_keyStringSv, keyStringLength); ! CHECK_OPEN_SSL(stringBIO = BIO_new_mem_buf(keyString, keyStringLength)) rsa = p_loader(stringBIO, NULL, NULL, NULL); *************** *** 228,235 **** BIO_free(stringBIO); ! if (rsa == NULL) ! { ! croak("OpenSSL error: %s", ERR_reason_error_string(ERR_get_error())); ! } set_RSA_key(p_rsaHv, rsa); } --- 225,229 ---- BIO_free(stringBIO); ! CHECK_OPEN_SSL(rsa) set_RSA_key(p_rsaHv, rsa); } *************** *** 266,270 **** HV* rsa_HV; CODE: ! free_RSA_key( rsa_HV ); SV* --- 260,264 ---- HV* rsa_HV; CODE: ! free_RSA_key(rsa_HV); SV* *************** *** 275,279 **** RSA* rsa; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) rsa = get_RSA_key(rsa_HV); PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); --- 269,273 ---- RSA* rsa; CODE: ! CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem())) rsa = get_RSA_key(rsa_HV); PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); *************** *** 289,293 **** BIO* stringBIO; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSAPublicKey(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); --- 283,287 ---- BIO* stringBIO; CODE: ! CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSAPublicKey(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); *************** *** 302,306 **** BIO* stringBIO; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSA_PUBKEY(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); --- 296,300 ---- BIO* stringBIO; CODE: ! CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSA_PUBKEY(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); *************** *** 324,338 **** if (items > 3) { ! croak( "Usage: rsa->generate_key($bits [, $exponent])" ); } ! exponent = ( items == 3 ) ? SvIV(ST(2)) : 65535; ! rsa = RSA_generate_key( SvIV(bitsSV), exponent, NULL, NULL ); ! if(rsa == NULL) ! { ! croak( "OpenSSL error: %s", ! ERR_reason_error_string( ERR_get_error() ) ); ! } set_RSA_key(rsa_HV, rsa); --- 318,328 ---- if (items > 3) { ! croak("Usage: rsa->generate_key($bits [, $exponent])"); } ! exponent = (items == 3) ? SvIV(ST(2)) : 65535; ! rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL); ! CHECK_OPEN_SSL(rsa) set_RSA_key(rsa_HV, rsa); *************** *** 354,358 **** CODE: { ! if( !( n && e ) ) { croak("At least a modulous and public key must be provided"); --- 344,348 ---- CODE: { ! if (!(n && e)) { croak("At least a modulous and public key must be provided"); *************** *** 361,382 **** rsa->n = n; rsa->e = e; ! if( p || q ) { bn = BN_new(); ctx = BN_CTX_new(); ! if( ! p ) { p = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_div( p, bn, n, q, ctx ) ) ! if( ! BN_is_zero( bn ) ) { croak("q does not divide n"); } } ! else if( ! q ) { q = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_div( q, bn, n, p, ctx ) ) ! if( ! BN_is_zero( bn ) ) { croak("p does not divide n"); --- 351,372 ---- rsa->n = n; rsa->e = e; ! if (p || q) { bn = BN_new(); ctx = BN_CTX_new(); ! if (!p) { p = BN_new(); ! CHECK_OPEN_SSL(BN_div(p, bn, n, q, ctx)) ! if (! BN_is_zero(bn)) { croak("q does not divide n"); } } ! else if (! q) { q = BN_new(); ! CHECK_OPEN_SSL(BN_div(q, bn, n, p, ctx)) ! if (! BN_is_zero(bn)) { croak("p does not divide n"); *************** *** 386,405 **** rsa->q = q; p_minus_1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_sub( p_minus_1, p, BN_value_one() ) ) q_minus_1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_sub( q_minus_1, q, BN_value_one() ) ) ! if( ! d ) { d = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mul( bn, p_minus_1, q_minus_1, ctx ) ) ! CHECK_OPEN_SSL_CALL( BN_mod_inverse( d, e, bn, ctx ) ) } rsa->d = d; rsa->dmp1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod( rsa->dmp1, d, p_minus_1, ctx ) ) rsa->dmq1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod( rsa->dmq1, d, q_minus_1, ctx ) ) rsa->iqmp = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod_inverse( rsa->iqmp, q, p, ctx ) ) BN_clear_free(bn); BN_clear_free(p_minus_1); --- 376,395 ---- rsa->q = q; p_minus_1 = BN_new(); ! CHECK_OPEN_SSL(BN_sub(p_minus_1, p, BN_value_one())) q_minus_1 = BN_new(); ! CHECK_OPEN_SSL(BN_sub(q_minus_1, q, BN_value_one())) ! if (!d) { d = BN_new(); ! CHECK_OPEN_SSL(BN_mul(bn, p_minus_1, q_minus_1, ctx)) ! CHECK_OPEN_SSL(BN_mod_inverse(d, e, bn, ctx)) } rsa->d = d; rsa->dmp1 = BN_new(); ! CHECK_OPEN_SSL(BN_mod(rsa->dmp1, d, p_minus_1, ctx)) rsa->dmq1 = BN_new(); ! CHECK_OPEN_SSL(BN_mod(rsa->dmq1, d, q_minus_1, ctx)) rsa->iqmp = BN_new(); ! CHECK_OPEN_SSL(BN_mod_inverse(rsa->iqmp, q, p, ctx)) BN_clear_free(bn); BN_clear_free(p_minus_1); *************** *** 421,433 **** { RSA* rsa; ! rsa = get_RSA_key( rsa_HV ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->n) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->e) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->d) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->p) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->q) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->dmp1) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->dmq1) ) ) ); ! XPUSHs( sv_2mortal( newSViv( (IV) maybe_BN_dup(rsa->iqmp) ) ) ); } --- 411,423 ---- { RSA* rsa; ! rsa = get_RSA_key(rsa_HV); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->n)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->e)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->d)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->p)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->q)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->dmp1)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->dmq1)))); ! XPUSHs(sv_2mortal(newSViv((IV) maybe_BN_dup(rsa->iqmp)))); } *************** *** 451,474 **** size = RSA_size(rsa); ! if( New( 0,ciphertext, size, char ) == NULL ) { ! croak ( "unable to allocate buffer for ciphertext in package " ! PACKAGE_NAME ); } ! ciphertext_length = RSA_public_encrypt( plaintext_length, ! plaintext, ! ciphertext, ! rsa, ! get_padding(rsa_HV) ); if (ciphertext_length < 0) { Safefree(ciphertext); ! croak( "OpenSSL error: %s", ! ERR_reason_error_string( ERR_get_error() ) ); } ! RETVAL = newSVpv( ciphertext, size ); OUTPUT: RETVAL --- 441,460 ---- size = RSA_size(rsa); ! if (New(0,ciphertext, size, char) == NULL) { ! croak("unable to allocate buffer for ciphertext in package " ! PACKAGE_NAME); } ! ciphertext_length = RSA_public_encrypt( ! plaintext_length, plaintext, ciphertext, rsa, get_padding(rsa_HV)); if (ciphertext_length < 0) { Safefree(ciphertext); ! CHECK_OPEN_SSL(0) } ! RETVAL = newSVpv(ciphertext, size); OUTPUT: RETVAL *************** *** 488,492 **** RSA* rsa; CODE: ! if( ! is_private( rsa_HV ) ) { croak("Public keys cannot decrypt messages."); --- 474,478 ---- RSA* rsa; CODE: ! if (! is_private(rsa_HV)) { croak("Public keys cannot decrypt messages."); *************** *** 497,519 **** rsa = get_RSA_key(rsa_HV); size = RSA_size(rsa); ! if( New( 0, plaintext, size, char ) == NULL ) { ! croak( "unable to allocate buffer for plaintext in package " ! PACKAGE_NAME ); } ! plaintext_length = RSA_private_decrypt(size, ! ciphertext, ! plaintext, ! rsa, ! get_padding(rsa_HV) ); ! if( plaintext_length < 0 ) { Safefree(plaintext); ! croak( "OpenSSL error: %s", ! ERR_reason_error_string( ERR_get_error() ) ); } ! RETVAL = newSVpv( plaintext, plaintext_length ); Safefree(plaintext); OUTPUT: --- 483,502 ---- rsa = get_RSA_key(rsa_HV); size = RSA_size(rsa); ! if (New(0, plaintext, size, char) == NULL) { ! croak("unable to allocate buffer for plaintext in package " ! PACKAGE_NAME); } ! plaintext_length = RSA_private_decrypt( ! size, ciphertext, plaintext, rsa, get_padding(rsa_HV)); ! ! if (plaintext_length < 0) { Safefree(plaintext); ! CHECK_OPEN_SSL(0) } ! RETVAL = newSVpv(plaintext, plaintext_length); Safefree(plaintext); OUTPUT: *************** *** 524,528 **** HV* rsa_HV; CODE: ! RETVAL = RSA_size( get_RSA_key( rsa_HV ) ); OUTPUT: RETVAL --- 507,511 ---- HV* rsa_HV; CODE: ! RETVAL = RSA_size(get_RSA_key(rsa_HV)); OUTPUT: RETVAL *************** *** 532,536 **** HV* rsa_HV; CODE: ! RETVAL = RSA_check_key( get_RSA_key( rsa_HV ) ); OUTPUT: RETVAL --- 515,519 ---- HV* rsa_HV; CODE: ! RETVAL = RSA_check_key(get_RSA_key(rsa_HV)); OUTPUT: RETVAL *************** *** 567,571 **** HV* rsa_HV; CODE: ! set_hash( rsa_HV, NID_md5 ); void --- 550,554 ---- HV* rsa_HV; CODE: ! set_hash(rsa_HV, NID_md5); void *************** *** 573,577 **** HV* rsa_HV; CODE: ! set_hash( rsa_HV, NID_sha1 ); void --- 556,560 ---- HV* rsa_HV; CODE: ! set_hash(rsa_HV, NID_sha1); void *************** *** 579,583 **** HV* rsa_HV; CODE: ! set_hash( rsa_HV, NID_ripemd160 ); void --- 562,566 ---- HV* rsa_HV; CODE: ! set_hash(rsa_HV, NID_ripemd160); void *************** *** 616,647 **** RSA* rsa; CODE: ! if( ! is_private( rsa_HV ) ) { croak("Public keys cannot sign messages."); } ! rsa = get_RSA_key( rsa_HV ); ! if( New( 0, signature, RSA_size(rsa), char ) == NULL) { ! croak( "unable to allocate buffer for ciphertext in package " ! PACKAGE_NAME ); } ! hash = get_hash( rsa_HV ); ! digest = get_message_digest( text_SV, hash ); ! if ( ! RSA_sign( hash, ! digest, ! get_digest_length( hash ), ! signature, ! &signature_length, ! rsa ) ) { ! croak( "OpenSSL error: %s", ! ERR_reason_error_string( ERR_get_error() ) ); } Safefree(digest); ! RETVAL = newSVpvn( signature, signature_length ); ! Safefree( signature ); OUTPUT: RETVAL --- 599,629 ---- RSA* rsa; CODE: ! if (! is_private(rsa_HV)) { croak("Public keys cannot sign messages."); } ! rsa = get_RSA_key(rsa_HV); ! if (New(0, signature, RSA_size(rsa), char) == NULL) { ! croak("unable to allocate buffer for ciphertext in package " ! PACKAGE_NAME); } ! hash = get_hash(rsa_HV); ! digest = get_message_digest(text_SV, hash); ! if (! RSA_sign(hash, ! digest, ! get_digest_length(hash), ! signature, ! &signature_length, ! rsa)) { ! CHECK_OPEN_SSL(0) } Safefree(digest); ! RETVAL = newSVpvn(signature, signature_length); ! Safefree(signature); OUTPUT: RETVAL *************** *** 663,688 **** int result; ! if( is_private( rsa_HV ) ) { croak("Secret keys should not check signatures."); } ! sig = SvPV( sig_SV, sig_length ); rsa = get_RSA_key(rsa_HV); if (RSA_size(rsa) < sig_length) { ! croak( "Signature longer than key" ); } ! hash = get_hash( rsa_HV ); ! digest = get_message_digest( text_SV, hash ); ! result = RSA_verify( hash, ! digest, ! get_digest_length( hash ), ! sig, ! sig_length, ! rsa ); ! Safefree( digest ); ! switch( result ) { case 0: /* FIXME - could there be an error in this case? */ --- 645,666 ---- int result; ! if (is_private(rsa_HV)) { croak("Secret keys should not check signatures."); } ! sig = SvPV(sig_SV, sig_length); rsa = get_RSA_key(rsa_HV); if (RSA_size(rsa) < sig_length) { ! croak("Signature longer than key"); } ! hash = get_hash(rsa_HV); ! digest = get_message_digest(text_SV, hash); ! result = RSA_verify( ! hash, digest, get_digest_length(hash), sig, sig_length, rsa); ! Safefree(digest); ! switch(result) { case 0: /* FIXME - could there be an error in this case? */ *************** *** 693,697 **** break; default: ! croak ( "something went wrong in " PACKAGE_NAME ); break; } --- 671,675 ---- break; default: ! CHECK_OPEN_SSL(0) break; } |
From: <iro...@us...> - 2004-02-13 23:16:52
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32318 Modified Files: RSA.xs Log Message: capitalize macro, stop pretending that it's a statement (take away trailing semis from calls to it) Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** RSA.xs 13 Feb 2004 23:02:13 -0000 1.28 --- RSA.xs 13 Feb 2004 23:10:49 -0000 1.29 *************** *** 14,18 **** #define PACKAGE_NAME "Crypt::OpenSSL::RSA" ! #define checkOpenSslCall( result ) if( ! ( result ) ) \ croak( "OpenSSL error: %s", ERR_reason_error_string( ERR_get_error() ) ); --- 14,18 ---- #define PACKAGE_NAME "Crypt::OpenSSL::RSA" ! #define CHECK_OPEN_SSL_CALL( result ) if( ! ( result ) ) \ croak( "OpenSSL error: %s", ERR_reason_error_string( ERR_get_error() ) ); *************** *** 220,224 **** keyString = SvPV(p_keyStringSv, keyStringLength); ! checkOpenSslCall(stringBIO = BIO_new_mem_buf(keyString, keyStringLength)); rsa = p_loader(stringBIO, NULL, NULL, NULL); --- 220,225 ---- keyString = SvPV(p_keyStringSv, keyStringLength); ! CHECK_OPEN_SSL_CALL( ! stringBIO = BIO_new_mem_buf(keyString, keyStringLength)) rsa = p_loader(stringBIO, NULL, NULL, NULL); *************** *** 274,278 **** RSA* rsa; CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); rsa = get_RSA_key(rsa_HV); PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); --- 275,279 ---- RSA* rsa; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) rsa = get_RSA_key(rsa_HV); PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); *************** *** 288,292 **** BIO* stringBIO; CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); PEM_write_bio_RSAPublicKey(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); --- 289,293 ---- BIO* stringBIO; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSAPublicKey(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); *************** *** 301,305 **** BIO* stringBIO; CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); PEM_write_bio_RSA_PUBKEY(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); --- 302,306 ---- BIO* stringBIO; CODE: ! CHECK_OPEN_SSL_CALL(stringBIO = BIO_new(BIO_s_mem())) PEM_write_bio_RSA_PUBKEY(stringBIO, get_RSA_key(rsa_HV)); RETVAL = extractBioString(stringBIO); *************** *** 367,371 **** { p = BN_new(); ! checkOpenSslCall( BN_div( p, bn, n, q, ctx ) ); if( ! BN_is_zero( bn ) ) { --- 368,372 ---- { p = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_div( p, bn, n, q, ctx ) ) if( ! BN_is_zero( bn ) ) { *************** *** 376,380 **** { q = BN_new(); ! checkOpenSslCall( BN_div( q, bn, n, p, ctx ) ); if( ! BN_is_zero( bn ) ) { --- 377,381 ---- { q = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_div( q, bn, n, p, ctx ) ) if( ! BN_is_zero( bn ) ) { *************** *** 385,404 **** rsa->q = q; p_minus_1 = BN_new(); ! checkOpenSslCall( BN_sub( p_minus_1, p, BN_value_one() ) ); q_minus_1 = BN_new(); ! checkOpenSslCall( BN_sub( q_minus_1, q, BN_value_one() ) ); if( ! d ) { d = BN_new(); ! checkOpenSslCall( BN_mul( bn, p_minus_1, q_minus_1, ctx ) ); ! checkOpenSslCall( BN_mod_inverse( d, e, bn, ctx ) ); } rsa->d = d; rsa->dmp1 = BN_new(); ! checkOpenSslCall( BN_mod( rsa->dmp1, d, p_minus_1, ctx ) ); rsa->dmq1 = BN_new(); ! checkOpenSslCall( BN_mod( rsa->dmq1, d, q_minus_1, ctx ) ); rsa->iqmp = BN_new(); ! checkOpenSslCall( BN_mod_inverse( rsa->iqmp, q, p, ctx ) ); BN_clear_free(bn); BN_clear_free(p_minus_1); --- 386,405 ---- rsa->q = q; p_minus_1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_sub( p_minus_1, p, BN_value_one() ) ) q_minus_1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_sub( q_minus_1, q, BN_value_one() ) ) if( ! d ) { d = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mul( bn, p_minus_1, q_minus_1, ctx ) ) ! CHECK_OPEN_SSL_CALL( BN_mod_inverse( d, e, bn, ctx ) ) } rsa->d = d; rsa->dmp1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod( rsa->dmp1, d, p_minus_1, ctx ) ) rsa->dmq1 = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod( rsa->dmq1, d, q_minus_1, ctx ) ) rsa->iqmp = BN_new(); ! CHECK_OPEN_SSL_CALL( BN_mod_inverse( rsa->iqmp, q, p, ctx ) ) BN_clear_free(bn); BN_clear_free(p_minus_1); |
From: <iro...@us...> - 2004-02-13 23:08:18
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30377 Modified Files: RSA.pm RSA.xs Log Message: Add support for X.509 encodings of public keys Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** RSA.pm 27 Apr 2003 20:04:25 -0000 1.25 --- RSA.pm 13 Feb 2004 23:02:13 -0000 1.26 *************** *** 56,60 **** print "private key is:\n", $rsa->get_private_key_string(); ! print "public key is:\n", $rsa->get_public_key_string(); $rsa_priv->use_md5_hash(); # use_sha1_hash is the default --- 56,63 ---- print "private key is:\n", $rsa->get_private_key_string(); ! print "public key (in PKCS1 format) is:\n", ! $rsa->get_public_key_string(); ! print "public key (in X509 format) is:\n", ! $rsa->get_public_key_pem_string(); $rsa_priv->use_md5_hash(); # use_sha1_hash is the default *************** *** 80,86 **** Create a new Crypt::OpenSSL::RSA object by loading a public key in ! from an X509 encoded string. The string should include the ! -----BEGIN...----- and -----END...----- lines. The padding is set to ! PKCS1_OAEP, but can be changed with the use_xxx_padding methods =cut --- 83,92 ---- Create a new Crypt::OpenSSL::RSA object by loading a public key in ! from a string containing Base64/DER-encoding of either the PKCS1 or ! X.509 representation of the key. The string should include the ! -----BEGIN...----- and -----END...----- lines. ! ! The padding is set to PKCS1_OAEP, but can be changed with the ! use_xxx_padding methods =cut *************** *** 88,93 **** sub new_public_key { ! my $self = shift->_new(); ! $self->load_public_key( @_ ); return $self; } --- 94,100 ---- sub new_public_key { ! my ($proto, $p_string) = @_; ! my $self = $proto->_new(); ! $self->load_public_key($p_string); return $self; } *************** *** 96,100 **** Create a new Crypt::OpenSSL::RSA object by loading a private key in ! from an X509 encoded string. The string should include the -----BEGIN...----- and -----END...----- lines. The padding is set to PKCS1_OAEP, but can be changed with use_xxx_padding. --- 103,108 ---- Create a new Crypt::OpenSSL::RSA object by loading a private key in ! from an string containing the Base64/DER encoding of the PKCS1 ! representation of the key. The string should include the -----BEGIN...----- and -----END...----- lines. The padding is set to PKCS1_OAEP, but can be changed with use_xxx_padding. *************** *** 222,227 **** sub load_public_key { ! my($self, $key_string) = @_; ! $self->_load_key(0, $key_string); } --- 230,246 ---- sub load_public_key { ! my ($self, $p_key_string) = @_; ! if ($p_key_string =~ /^-----BEGIN RSA PUBLIC KEY-----/) ! { ! $self->_load_public_pkcs1_key($p_key_string); ! } ! elsif ($p_key_string =~ /^-----BEGIN PUBLIC KEY-----/) ! { ! $self->_load_public_pem_key($p_key_string); ! } ! else ! { ! croak "unrecognized key format"; ! } } *************** *** 230,265 **** I<DEPRECATED> - use new_private_key instead - =cut - - sub load_private_key - { - my($self, $key_string) = @_; - $self->_load_key(1, $key_string); - } - =item get_public_key_string ! Return the public portion of the key as an X509 encoded string. ! =cut ! sub get_public_key_string ! { ! my ($self) = @_; ! return $self->_get_key_string(0); ! } ! =item get_private_key_string ! Return the X509 encoding of the private key. ! =cut ! sub get_private_key_string ! { ! my ($self) = @_; ! return $self->_get_key_string(1); ! } =item encrypt --- 249,275 ---- I<DEPRECATED> - use new_private_key instead =item get_public_key_string ! Return the Base64/DER-encoded PKCS1 representation of the public ! key. This string has ! header and footer lines: ! -----BEGIN RSA PUBLIC KEY------ ! -----END RSA PUBLIC KEY------ ! =item get_public_key_x509_string ! Return the Base64/DER-encoded representation of the "subject ! public key", suitable for use in X509 certificates. This string has ! header and footer lines: ! -----BEGIN PUBLIC KEY------ ! -----END PUBLIC KEY------ ! and is the format that is produced by running C<openssl rsa -pubout>. ! =item get_private_key_string + Return the DER-encoded PKCS1 representation of the private key. =item encrypt Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** RSA.xs 27 Apr 2003 20:02:22 -0000 1.27 --- RSA.xs 13 Feb 2004 23:02:13 -0000 1.28 *************** *** 191,235 **** } ! MODULE = Crypt::OpenSSL::RSA PACKAGE = Crypt::OpenSSL::RSA ! PROTOTYPES: DISABLE ! BOOT: ! ERR_load_crypto_strings(); - void - _load_key(rsa_HV, private_flag_SV, key_string_SV) - HV* rsa_HV; - SV* private_flag_SV; - SV* key_string_SV; - PREINIT: - int key_string_length; /* Needed to pass to SvPV */ - char* key_string; - char private_flag; RSA* rsa; BIO* stringBIO; ! CODE: /* First; remove any old rsa structures, to avoid leakage */ ! free_RSA_key(rsa_HV); ! private_flag = SvTRUE( private_flag_SV ); ! key_string = SvPV( key_string_SV, key_string_length ); ! if( (stringBIO = BIO_new_mem_buf(key_string, key_string_length)) == NULL ) ! { ! croak( "Failed to create memory BIO" ); ! } ! rsa = private_flag ! ? PEM_read_bio_RSAPrivateKey( stringBIO, NULL, NULL, NULL ) ! : PEM_read_bio_RSAPublicKey( stringBIO, NULL, NULL, NULL ); BIO_set_close(stringBIO, BIO_CLOSE); ! BIO_free( stringBIO ); ! if ( rsa == NULL ) { ! croak( "Failed to read key" ); } ! set_RSA_key(rsa_HV, rsa); void --- 191,263 ---- } ! SV* extractBioString(BIO* p_stringBio) ! { ! SV* sv; ! BUF_MEM* bptr; ! BIO_flush(p_stringBio); ! BIO_get_mem_ptr(p_stringBio, &bptr); ! sv = newSVpv(bptr->data, bptr->length); ! ! BIO_set_close(p_stringBio, BIO_CLOSE); ! BIO_free(p_stringBio); ! return sv; ! } ! ! void _load_rsa_key(HV* p_rsaHv, ! SV* p_keyStringSv, ! RSA*(*p_loader)(BIO*, RSA**, pem_password_cb*, void*)) ! { ! int keyStringLength; /* Needed to pass to SvPV */ ! char* keyString; RSA* rsa; BIO* stringBIO; ! /* First; remove any old rsa structures, to avoid leakage */ ! free_RSA_key(p_rsaHv); ! keyString = SvPV(p_keyStringSv, keyStringLength); ! checkOpenSslCall(stringBIO = BIO_new_mem_buf(keyString, keyStringLength)); ! rsa = p_loader(stringBIO, NULL, NULL, NULL); BIO_set_close(stringBIO, BIO_CLOSE); ! BIO_free(stringBIO); ! if (rsa == NULL) { ! croak("OpenSSL error: %s", ERR_reason_error_string(ERR_get_error())); } ! set_RSA_key(p_rsaHv, rsa); ! } ! ! MODULE = Crypt::OpenSSL::RSA PACKAGE = Crypt::OpenSSL::RSA ! PROTOTYPES: DISABLE ! ! BOOT: ! ERR_load_crypto_strings(); ! ! void ! load_private_key(rsa_HV, key_string_SV) ! HV* rsa_HV; ! SV* key_string_SV; ! CODE: ! _load_rsa_key(rsa_HV, key_string_SV, PEM_read_bio_RSAPrivateKey); ! ! void ! _load_public_pkcs1_key(rsa_HV, key_string_SV) ! HV* rsa_HV; ! SV* key_string_SV; ! CODE: ! _load_rsa_key(rsa_HV, key_string_SV, PEM_read_bio_RSAPublicKey); ! ! void ! _load_public_pem_key(rsa_HV, key_string_SV) ! HV* rsa_HV; ! SV* key_string_SV; ! CODE: ! _load_rsa_key(rsa_HV, key_string_SV, PEM_read_bio_RSA_PUBKEY); void *************** *** 240,274 **** SV* ! _get_key_string(rsa_HV, private_flag_SV) HV* rsa_HV; - SV* private_flag_SV; PREINIT: - BUF_MEM* bptr; BIO* stringBIO; RSA* rsa; CODE: ! stringBIO = BIO_new( BIO_s_mem() ); ! if (stringBIO == NULL) ! { ! croak( "Failed to create memory BIO" ); ! } ! rsa = get_RSA_key( rsa_HV ); ! if( SvTRUE( private_flag_SV ) ) ! { ! PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); ! } ! else ! { ! PEM_write_bio_RSAPublicKey(stringBIO, rsa); ! } ! BIO_flush(stringBIO); ! BIO_get_mem_ptr(stringBIO, &bptr); ! RETVAL = newSVpv( bptr->data, bptr->length ); - BIO_set_close(stringBIO, BIO_CLOSE); - BIO_free(stringBIO); OUTPUT: RETVAL --- 268,308 ---- SV* ! get_private_key_string(rsa_HV) HV* rsa_HV; PREINIT: BIO* stringBIO; RSA* rsa; CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); ! rsa = get_RSA_key(rsa_HV); ! PEM_write_bio_RSAPrivateKey(stringBIO, rsa, NULL, NULL, 0, NULL, NULL); ! RETVAL = extractBioString(stringBIO); ! OUTPUT: ! RETVAL ! SV* ! get_public_key_string(rsa_HV) ! HV* rsa_HV; ! PREINIT: ! BIO* stringBIO; ! CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); ! PEM_write_bio_RSAPublicKey(stringBIO, get_RSA_key(rsa_HV)); ! RETVAL = extractBioString(stringBIO); ! OUTPUT: ! RETVAL ! ! SV* ! get_public_key_x509_string(rsa_HV) ! HV* rsa_HV; ! PREINIT: ! BIO* stringBIO; ! CODE: ! checkOpenSslCall(stringBIO = BIO_new(BIO_s_mem())); ! PEM_write_bio_RSA_PUBKEY(stringBIO, get_RSA_key(rsa_HV)); ! RETVAL = extractBioString(stringBIO); OUTPUT: RETVAL |
From: <iro...@us...> - 2004-02-13 23:08:18
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/t In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30377/t Added Files: format.t Log Message: Add support for X.509 encodings of public keys --- NEW FILE: format.t --- use strict; use Test; use Crypt::OpenSSL::RSA; BEGIN { plan tests => 10 } my $PRIVATE_KEY_STRING = <<EOF; -----BEGIN RSA PRIVATE KEY----- MBsCAQACAU0CAQcCASsCAQcCAQsCAQECAQMCAQI= -----END RSA PRIVATE KEY----- EOF my $PUBLIC_KEY_PKCS1_STRING = <<EOF; -----BEGIN RSA PUBLIC KEY----- MAYCAU0CAQc= -----END RSA PUBLIC KEY----- EOF my $PUBLIC_KEY_X509_STRING = <<EOF; -----BEGIN PUBLIC KEY----- MBowDQYJKoZIhvcNAQEBBQADCQAwBgIBTQIBBw== -----END PUBLIC KEY----- EOF my ($private_key, $public_key); ok($private_key = Crypt::OpenSSL::RSA->new_private_key($PRIVATE_KEY_STRING)); ok($PRIVATE_KEY_STRING eq $private_key->get_private_key_string()); ok($PUBLIC_KEY_PKCS1_STRING eq $private_key->get_public_key_string()); ok($PUBLIC_KEY_X509_STRING eq $private_key->get_public_key_x509_string()); ok($public_key = Crypt::OpenSSL::RSA->new_public_key($PUBLIC_KEY_PKCS1_STRING)); ok($PUBLIC_KEY_PKCS1_STRING eq $public_key->get_public_key_string()); ok($PUBLIC_KEY_X509_STRING eq $public_key->get_public_key_x509_string()); ok($public_key = Crypt::OpenSSL::RSA->new_public_key($PUBLIC_KEY_X509_STRING)); ok($PUBLIC_KEY_PKCS1_STRING eq $public_key->get_public_key_string()); ok($PUBLIC_KEY_X509_STRING eq $public_key->get_public_key_x509_string()); |
From: <iro...@us...> - 2003-04-27 22:43:12
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum In directory sc8-pr-cvs1:/tmp/cvs-serv14018 Modified Files: Changes Log Message: Add changes for the 0.03 release. Index: Changes =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum/Changes,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Changes 22 Feb 2003 04:08:41 -0000 1.2 --- Changes 27 Apr 2003 22:43:07 -0000 1.3 *************** *** 1,4 **** --- 1,8 ---- Revision history for Perl extension Crypt::OpenSSL::Bignum. + 0.03 Sun Apr 27 2003 18:33:48 + - Revert back to old declaration style so that we no longer + break under perl 5.005 (spotted by Rob Brown <bb...@cp...>). + 0.02 Fri Feb 21 21:55:14 - link against libcrypto instead of libssl |
From: <iro...@us...> - 2003-04-27 22:40:03
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv12720 Modified Files: Changes Log Message: Add changes for the 0.19 release. Index: Changes =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/Changes,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Changes 24 Feb 2003 02:13:40 -0000 1.11 --- Changes 27 Apr 2003 22:39:59 -0000 1.12 *************** *** 1,4 **** --- 1,12 ---- Revision history for Perl extension Crypt::OpenSSL::RSA. + 0.19 Sun Apr 27 2003 18:33:48 + - Revert back to old declaration style so that we no longer + break under perl 5.005 (spotted by Rob Brown <bb...@cp...>). + - Add some needed use statements in legacy.t and rsa.t (patch + submitted by Rob Brown). + - Fix typo in docs spotted by Daniel Drown <da...@dr...> + - Update copyright dates. + 0.18 Sun Feb 23 2003 20:44:35 - Add two new methods, new_key_from_parameters and |
From: <iro...@us...> - 2003-04-27 22:39:17
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum In directory sc8-pr-cvs1:/tmp/cvs-serv12443 Modified Files: MANIFEST.SKIP Log Message: add .cvsignore Index: MANIFEST.SKIP =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum/MANIFEST.SKIP,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MANIFEST.SKIP 18 Feb 2003 03:53:35 -0000 1.1 --- MANIFEST.SKIP 27 Apr 2003 22:39:14 -0000 1.2 *************** *** 1,2 **** --- 1,3 ---- MANIFEST.SKIP CVS + .cvsignore |
From: <iro...@us...> - 2003-04-27 22:38:51
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv12069 Modified Files: MANIFEST.SKIP Log Message: add .cvsignore Index: MANIFEST.SKIP =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/MANIFEST.SKIP,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MANIFEST.SKIP 10 Apr 2001 19:49:59 -0000 1.2 --- MANIFEST.SKIP 27 Apr 2003 22:38:47 -0000 1.3 *************** *** 1,2 **** --- 1,3 ---- MANIFEST.SKIP CVS + .cvsignore |
From: <iro...@us...> - 2003-04-27 20:09:19
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/Random In directory sc8-pr-cvs1:/tmp/cvs-serv24299/Random Added Files: .cvsignore Log Message: Ignore what perl creates. --- NEW FILE: .cvsignore --- blib pm_to_blib Makefile *.bs *.c |
From: <iro...@us...> - 2003-04-27 20:09:19
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv24299/RSA Added Files: .cvsignore Log Message: Ignore what perl creates. --- NEW FILE: .cvsignore --- blib pm_to_blib Makefile *.bs *.c |
From: <iro...@us...> - 2003-04-27 20:09:18
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum In directory sc8-pr-cvs1:/tmp/cvs-serv24299/Bignum Added Files: .cvsignore Log Message: Ignore what perl creates. --- NEW FILE: .cvsignore --- blib pm_to_blib Makefile *.bs *.c |
From: <iro...@us...> - 2003-04-27 20:04:27
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv22728/RSA Modified Files: RSA.pm Log Message: prepare for release (version bumps) Index: RSA.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.pm,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** RSA.pm 23 Mar 2003 16:51:44 -0000 1.24 --- RSA.pm 27 Apr 2003 20:04:25 -0000 1.25 *************** *** 16,20 **** $RSA_PKCS1_OAEP_PADDING ); ! $VERSION = '0.18'; bootstrap Crypt::OpenSSL::RSA $VERSION; --- 16,20 ---- $RSA_PKCS1_OAEP_PADDING ); ! $VERSION = '0.19'; bootstrap Crypt::OpenSSL::RSA $VERSION; |
From: <iro...@us...> - 2003-04-27 20:04:27
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum In directory sc8-pr-cvs1:/tmp/cvs-serv22728/Bignum Modified Files: Bignum.pm Log Message: prepare for release (version bumps) Index: Bignum.pm =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/Bignum/Bignum.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Bignum.pm 21 Feb 2003 02:55:14 -0000 1.10 --- Bignum.pm 27 Apr 2003 20:04:24 -0000 1.11 *************** *** 11,15 **** @ISA = qw(DynaLoader); ! $VERSION = '0.02'; bootstrap Crypt::OpenSSL::Bignum $VERSION; --- 11,15 ---- @ISA = qw(DynaLoader); ! $VERSION = '0.03'; bootstrap Crypt::OpenSSL::Bignum $VERSION; |
From: <iro...@us...> - 2003-04-27 20:03:56
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv22526 Modified Files: README Log Message: update copyright dates Index: README =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/README,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** README 24 Feb 2003 01:41:43 -0000 1.8 --- README 27 Apr 2003 20:03:53 -0000 1.9 *************** *** 41,45 **** http://perl-openssl.sourceforge.net/. ! Copyright (c) 2001 Ian Robertson. Crypt::OpenSSL::RSA is free software; you may redistribute it and/or modify it under the same terms as Perl itself. --- 41,45 ---- http://perl-openssl.sourceforge.net/. ! Copyright (c) 2001-2003 Ian Robertson. Crypt::OpenSSL::RSA is free software; you may redistribute it and/or modify it under the same terms as Perl itself. |
From: <iro...@us...> - 2003-04-27 20:02:26
|
Update of /cvsroot/perl-openssl/Crypt/OpenSSL/RSA In directory sc8-pr-cvs1:/tmp/cvs-serv21733/RSA Modified Files: RSA.xs Log Message: It turns out that h2xs isn't as smart under perl 5.005 - go back to old style so that we compile under that perl. Index: RSA.xs =================================================================== RCS file: /cvsroot/perl-openssl/Crypt/OpenSSL/RSA/RSA.xs,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** RSA.xs 24 Feb 2003 01:57:49 -0000 1.26 --- RSA.xs 27 Apr 2003 20:02:22 -0000 1.27 *************** *** 197,201 **** ERR_load_crypto_strings(); ! void _load_key(HV* rsa_HV, SV* private_flag_SV, SV* key_string_SV) PREINIT: int key_string_length; /* Needed to pass to SvPV */ --- 197,205 ---- ERR_load_crypto_strings(); ! void ! _load_key(rsa_HV, private_flag_SV, key_string_SV) ! HV* rsa_HV; ! SV* private_flag_SV; ! SV* key_string_SV; PREINIT: int key_string_length; /* Needed to pass to SvPV */ *************** *** 205,209 **** BIO* stringBIO; CODE: ! /* First, remove any old rsa structures, to avoid leakage */ free_RSA_key(rsa_HV); --- 209,213 ---- BIO* stringBIO; CODE: ! /* First; remove any old rsa structures, to avoid leakage */ free_RSA_key(rsa_HV); *************** *** 229,237 **** set_RSA_key(rsa_HV, rsa); ! void _free_RSA_key(HV* rsa_HV) CODE: free_RSA_key( rsa_HV ); ! SV* _get_key_string(HV* rsa_HV, SV* private_flag_SV) PREINIT: BUF_MEM* bptr; --- 233,246 ---- set_RSA_key(rsa_HV, rsa); ! void ! _free_RSA_key(rsa_HV) ! HV* rsa_HV; CODE: free_RSA_key( rsa_HV ); ! SV* ! _get_key_string(rsa_HV, private_flag_SV) ! HV* rsa_HV; ! SV* private_flag_SV; PREINIT: BUF_MEM* bptr; *************** *** 270,274 **** # ! void _generate_key(HV* rsa_HV, SV* bitsSV, ...) PREINIT: RSA* rsa; --- 279,286 ---- # ! void ! _generate_key(rsa_HV, bitsSV, ...) ! HV* rsa_HV; ! SV* bitsSV; PREINIT: RSA* rsa; *************** *** 291,295 **** set_RSA_key(rsa_HV, rsa); ! SV* _new_key_from_parameters(SV* proto, BIGNUM* n, BIGNUM* e, BIGNUM* d, BIGNUM* p, BIGNUM* q) PREINIT: RSA* rsa; --- 303,314 ---- set_RSA_key(rsa_HV, rsa); ! SV* ! _new_key_from_parameters(proto, n, e, d, p, q) ! SV* proto; ! BIGNUM* n; ! BIGNUM* e; ! BIGNUM* d; ! BIGNUM* p; ! BIGNUM* q; PREINIT: RSA* rsa; *************** *** 361,365 **** RETVAL ! void _get_key_parameters(HV* rsa_HV) PPCODE: { --- 380,386 ---- RETVAL ! void ! _get_key_parameters(rsa_HV) ! HV* rsa_HV; PPCODE: { *************** *** 378,382 **** # Encrypt plain text into cipher text. Returns the cipher text ! SV* encrypt(HV* rsa_HV, SV* plaintext_SV, ...) PREINIT: int plaintext_length; --- 399,406 ---- # Encrypt plain text into cipher text. Returns the cipher text ! SV* ! encrypt(rsa_HV, plaintext_SV, ...) ! HV* rsa_HV; ! SV* plaintext_SV; PREINIT: int plaintext_length; *************** *** 417,421 **** # Decrypt cipher text into plain text. Returns the plain text ! SV* decrypt(HV* rsa_HV, SV* ciphertext_SV) PREINIT: int ciphertext_length; /* Needed to pass to SvPV */ --- 441,448 ---- # Decrypt cipher text into plain text. Returns the plain text ! SV* ! decrypt(rsa_HV, ciphertext_SV) ! HV* rsa_HV; ! SV* ciphertext_SV; PREINIT: int ciphertext_length; /* Needed to pass to SvPV */ *************** *** 458,462 **** RETVAL ! int size(HV* rsa_HV) CODE: RETVAL = RSA_size( get_RSA_key( rsa_HV ) ); --- 485,491 ---- RETVAL ! int ! size(rsa_HV) ! HV* rsa_HV; CODE: RETVAL = RSA_size( get_RSA_key( rsa_HV ) ); *************** *** 464,468 **** RETVAL ! int check_key(HV* rsa_HV) CODE: RETVAL = RSA_check_key( get_RSA_key( rsa_HV ) ); --- 493,499 ---- RETVAL ! int ! check_key(rsa_HV) ! HV* rsa_HV; CODE: RETVAL = RSA_check_key( get_RSA_key( rsa_HV ) ); *************** *** 473,477 **** # seeding was sufficient. ! int _random_seed(SV* random_bytes_SV) PREINIT: int random_bytes_length; --- 504,510 ---- # seeding was sufficient. ! int ! _random_seed(random_bytes_SV) ! SV* random_bytes_SV; PREINIT: int random_bytes_length; *************** *** 486,490 **** # Returns true if the PRNG has enough seed data ! int _random_status() CODE: RETVAL = RAND_status(); --- 519,524 ---- # Returns true if the PRNG has enough seed data ! int ! _random_status() CODE: RETVAL = RAND_status(); *************** *** 494,526 **** # Sign text. Returns the signature. ! void use_md5_hash(HV* rsa_HV) CODE: set_hash( rsa_HV, NID_md5 ); ! void use_sha1_hash(HV* rsa_HV) CODE: set_hash( rsa_HV, NID_sha1 ); ! void use_ripemd160_hash(HV* rsa_HV) CODE: set_hash( rsa_HV, NID_ripemd160 ); ! void use_no_padding(HV* rsa_HV) CODE: set_padding(rsa_HV, RSA_NO_PADDING); ! void use_pkcs1_padding(HV* rsa_HV) CODE: set_padding(rsa_HV, RSA_PKCS1_PADDING); ! void use_pkcs1_oaep_padding(HV* rsa_HV) CODE: set_padding(rsa_HV, RSA_PKCS1_OAEP_PADDING); ! void use_sslv23_padding(HV* rsa_HV) CODE: set_padding(rsa_HV, RSA_SSLV23_PADDING); ! SV* sign (HV* rsa_HV, SV* text_SV, ...) PREINIT: unsigned char* signature; --- 528,577 ---- # Sign text. Returns the signature. ! void ! use_md5_hash(rsa_HV) ! HV* rsa_HV; CODE: set_hash( rsa_HV, NID_md5 ); ! void ! use_sha1_hash(rsa_HV) ! HV* rsa_HV; CODE: set_hash( rsa_HV, NID_sha1 ); ! void ! use_ripemd160_hash(rsa_HV) ! HV* rsa_HV; CODE: set_hash( rsa_HV, NID_ripemd160 ); ! void ! use_no_padding(rsa_HV) ! HV* rsa_HV; CODE: set_padding(rsa_HV, RSA_NO_PADDING); ! void ! use_pkcs1_padding(rsa_HV) ! HV* rsa_HV; CODE: set_padding(rsa_HV, RSA_PKCS1_PADDING); ! void ! use_pkcs1_oaep_padding(rsa_HV) ! HV* rsa_HV; CODE: set_padding(rsa_HV, RSA_PKCS1_OAEP_PADDING); ! void ! use_sslv23_padding(rsa_HV) ! HV* rsa_HV; CODE: set_padding(rsa_HV, RSA_SSLV23_PADDING); ! SV* ! sign (rsa_HV, text_SV, ...) ! HV* rsa_HV; ! SV* text_SV; PREINIT: unsigned char* signature; *************** *** 563,567 **** # Verify signature. Returns 1 if correct, 0 otherwise. ! void verify (HV* rsa_HV, SV* text_SV, SV* sig_SV, ...) PPCODE: { --- 614,622 ---- # Verify signature. Returns 1 if correct, 0 otherwise. ! void ! verify (rsa_HV, text_SV, sig_SV, ...) ! HV* rsa_HV; ! SV* text_SV; ! SV* sig_SV; PPCODE: { |