# # spec file for package perl-Crypt-RSA # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define cpan_name Crypt-RSA Name: perl-Crypt-RSA Version: 1.990.0 Release: 0 # 1.99 -> normalize -> 1.990.0 %define cpan_version 1.99 License: Artistic-1.0 OR GPL-1.0-or-later Summary: RSA public-key cryptosystem URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/V/VI/VIPUL/%{cpan_name}-%{cpan_version}.tar.gz Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Class::Loader) >= 2.0.0 BuildRequires: perl(Convert::ASCII::Armour) BuildRequires: perl(Crypt::Blowfish) BuildRequires: perl(Crypt::CBC) BuildRequires: perl(Crypt::Primes) >= 0.380 BuildRequires: perl(Crypt::Random) >= 0.340 BuildRequires: perl(Data::Buffer) BuildRequires: perl(Digest::MD2) BuildRequires: perl(Digest::SHA1) BuildRequires: perl(Math::Pari) >= 2.1.804 BuildRequires: perl(Sort::Versions) BuildRequires: perl(Tie::EncryptedHash) Requires: perl(Class::Loader) >= 2.0.0 Requires: perl(Convert::ASCII::Armour) Requires: perl(Crypt::Blowfish) Requires: perl(Crypt::CBC) Requires: perl(Crypt::Primes) >= 0.380 Requires: perl(Crypt::Random) >= 0.340 Requires: perl(Data::Buffer) Requires: perl(Digest::MD2) Requires: perl(Digest::SHA1) Requires: perl(Math::Pari) >= 2.1.804 Requires: perl(Sort::Versions) Requires: perl(Tie::EncryptedHash) Provides: perl(Crypt::RSA) = %{version} Provides: perl(Crypt::RSA::DataFormat) Provides: perl(Crypt::RSA::Debug) Provides: perl(Crypt::RSA::ES::OAEP) = %{version} Provides: perl(Crypt::RSA::ES::PKCS1v15) = %{version} Provides: perl(Crypt::RSA::Errorhandler) Provides: perl(Crypt::RSA::Key) = %{version} Provides: perl(Crypt::RSA::Key::Private) = %{version} Provides: perl(Crypt::RSA::Key::Private::SSH) Provides: perl(Crypt::RSA::Key::Private::SSH::Buffer) Provides: perl(Crypt::RSA::Key::Public) = %{version} Provides: perl(Crypt::RSA::Key::Public::SSH) Provides: perl(Crypt::RSA::Primitives) Provides: perl(Crypt::RSA::SS::PKCS1v15) = %{version} Provides: perl(Crypt::RSA::SS::PSS) = %{version} %undefine __perllib_provides %{perl_requires} %description Crypt::RSA is a pure-perl, cleanroom implementation of the RSA public-key cryptosystem. It uses Math::Pari(3), a perl interface to the blazingly fast PARI library, for big integer arithmetic and number theoretic computations. Crypt::RSA provides arbitrary size key-pair generation, plaintext-aware encryption (OAEP) and digital signatures with appendix (PSS). For compatibility with SSLv3, RSAREF2, PGP and other applications that follow the PKCS #1 v1.5 standard, it also provides PKCS #1 v1.5 encryption and signatures. Crypt::RSA is structured as bundle of modules that encapsulate different parts of the RSA cryptosystem. The RSA algorithm is implemented in Crypt::RSA::Primitives(3). Encryption schemes, located under Crypt::RSA::ES, and signature schemes, located under Crypt::RSA::SS, use the RSA algorithm to build encryption/signature schemes that employ secure padding. (See the note on Security of Padding Schemes.) The key generation engine and other functions that work on both components of the key-pair are encapsulated in Crypt::RSA::Key(3). Crypt::RSA::Key::Public(3) & Crypt::RSA::Key::Private(3) provide mechanisms for storage & retrival of keys from disk, decoding & encoding of keys in certain formats, and secure representation of keys in memory. Finally, the Crypt::RSA module provides a convenient, DWIM wrapper around the rest of the modules in the bundle. %prep %autosetup -n %{cpan_name}-%{cpan_version} -p1 find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build PERL_USE_UNSAFE_INC=1 perl Makefile.PL INSTALLDIRS=vendor %make_build %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %doc Changes MANIFEST.skip README TODO %license ARTISTIC COPYING %changelog