# # spec file for package perl-CryptX # # Copyright (c) 2023 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 CryptX Name: perl-CryptX Version: 0.80.0 Release: 1.1 %define cpan_version 0.080 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Cryptographic toolkit URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/M/MI/MIK/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml BuildRequires: perl BuildRequires: perl-macros Provides: perl(Crypt::AuthEnc) = 0.80.0 Provides: perl(Crypt::AuthEnc::CCM) = 0.80.0 Provides: perl(Crypt::AuthEnc::ChaCha20Poly1305) = 0.80.0 Provides: perl(Crypt::AuthEnc::EAX) = 0.80.0 Provides: perl(Crypt::AuthEnc::GCM) = 0.80.0 Provides: perl(Crypt::AuthEnc::OCB) = 0.80.0 Provides: perl(Crypt::Checksum) = 0.80.0 Provides: perl(Crypt::Checksum::Adler32) = 0.80.0 Provides: perl(Crypt::Checksum::CRC32) = 0.80.0 Provides: perl(Crypt::Cipher) = 0.80.0 Provides: perl(Crypt::Cipher::AES) = 0.80.0 Provides: perl(Crypt::Cipher::Anubis) = 0.80.0 Provides: perl(Crypt::Cipher::Blowfish) = 0.80.0 Provides: perl(Crypt::Cipher::CAST5) = 0.80.0 Provides: perl(Crypt::Cipher::Camellia) = 0.80.0 Provides: perl(Crypt::Cipher::DES) = 0.80.0 Provides: perl(Crypt::Cipher::DES_EDE) = 0.80.0 Provides: perl(Crypt::Cipher::IDEA) = 0.80.0 Provides: perl(Crypt::Cipher::KASUMI) = 0.80.0 Provides: perl(Crypt::Cipher::Khazad) = 0.80.0 Provides: perl(Crypt::Cipher::MULTI2) = 0.80.0 Provides: perl(Crypt::Cipher::Noekeon) = 0.80.0 Provides: perl(Crypt::Cipher::RC2) = 0.80.0 Provides: perl(Crypt::Cipher::RC5) = 0.80.0 Provides: perl(Crypt::Cipher::RC6) = 0.80.0 Provides: perl(Crypt::Cipher::SAFERP) = 0.80.0 Provides: perl(Crypt::Cipher::SAFER_K128) = 0.80.0 Provides: perl(Crypt::Cipher::SAFER_K64) = 0.80.0 Provides: perl(Crypt::Cipher::SAFER_SK128) = 0.80.0 Provides: perl(Crypt::Cipher::SAFER_SK64) = 0.80.0 Provides: perl(Crypt::Cipher::SEED) = 0.80.0 Provides: perl(Crypt::Cipher::Serpent) = 0.80.0 Provides: perl(Crypt::Cipher::Skipjack) = 0.80.0 Provides: perl(Crypt::Cipher::Twofish) = 0.80.0 Provides: perl(Crypt::Cipher::XTEA) = 0.80.0 Provides: perl(Crypt::Digest) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2b_160) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2b_256) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2b_384) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2b_512) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2s_128) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2s_160) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2s_224) = 0.80.0 Provides: perl(Crypt::Digest::BLAKE2s_256) = 0.80.0 Provides: perl(Crypt::Digest::CHAES) = 0.80.0 Provides: perl(Crypt::Digest::Keccak224) = 0.80.0 Provides: perl(Crypt::Digest::Keccak256) = 0.80.0 Provides: perl(Crypt::Digest::Keccak384) = 0.80.0 Provides: perl(Crypt::Digest::Keccak512) = 0.80.0 Provides: perl(Crypt::Digest::MD2) = 0.80.0 Provides: perl(Crypt::Digest::MD4) = 0.80.0 Provides: perl(Crypt::Digest::MD5) = 0.80.0 Provides: perl(Crypt::Digest::RIPEMD128) = 0.80.0 Provides: perl(Crypt::Digest::RIPEMD160) = 0.80.0 Provides: perl(Crypt::Digest::RIPEMD256) = 0.80.0 Provides: perl(Crypt::Digest::RIPEMD320) = 0.80.0 Provides: perl(Crypt::Digest::SHA1) = 0.80.0 Provides: perl(Crypt::Digest::SHA224) = 0.80.0 Provides: perl(Crypt::Digest::SHA256) = 0.80.0 Provides: perl(Crypt::Digest::SHA384) = 0.80.0 Provides: perl(Crypt::Digest::SHA3_224) = 0.80.0 Provides: perl(Crypt::Digest::SHA3_256) = 0.80.0 Provides: perl(Crypt::Digest::SHA3_384) = 0.80.0 Provides: perl(Crypt::Digest::SHA3_512) = 0.80.0 Provides: perl(Crypt::Digest::SHA512) = 0.80.0 Provides: perl(Crypt::Digest::SHA512_224) = 0.80.0 Provides: perl(Crypt::Digest::SHA512_256) = 0.80.0 Provides: perl(Crypt::Digest::SHAKE) = 0.80.0 Provides: perl(Crypt::Digest::Tiger192) = 0.80.0 Provides: perl(Crypt::Digest::Whirlpool) = 0.80.0 Provides: perl(Crypt::KeyDerivation) = 0.80.0 Provides: perl(Crypt::Mac) = 0.80.0 Provides: perl(Crypt::Mac::BLAKE2b) = 0.80.0 Provides: perl(Crypt::Mac::BLAKE2s) = 0.80.0 Provides: perl(Crypt::Mac::F9) = 0.80.0 Provides: perl(Crypt::Mac::HMAC) = 0.80.0 Provides: perl(Crypt::Mac::OMAC) = 0.80.0 Provides: perl(Crypt::Mac::PMAC) = 0.80.0 Provides: perl(Crypt::Mac::Pelican) = 0.80.0 Provides: perl(Crypt::Mac::Poly1305) = 0.80.0 Provides: perl(Crypt::Mac::XCBC) = 0.80.0 Provides: perl(Crypt::Misc) = 0.80.0 Provides: perl(Crypt::Mode) = 0.80.0 Provides: perl(Crypt::Mode::CBC) = 0.80.0 Provides: perl(Crypt::Mode::CFB) = 0.80.0 Provides: perl(Crypt::Mode::CTR) = 0.80.0 Provides: perl(Crypt::Mode::ECB) = 0.80.0 Provides: perl(Crypt::Mode::OFB) = 0.80.0 Provides: perl(Crypt::PK) = 0.80.0 Provides: perl(Crypt::PK::DH) = 0.80.0 Provides: perl(Crypt::PK::DSA) = 0.80.0 Provides: perl(Crypt::PK::ECC) = 0.80.0 Provides: perl(Crypt::PK::Ed25519) = 0.80.0 Provides: perl(Crypt::PK::RSA) = 0.80.0 Provides: perl(Crypt::PK::X25519) = 0.80.0 Provides: perl(Crypt::PRNG) = 0.80.0 Provides: perl(Crypt::PRNG::ChaCha20) = 0.80.0 Provides: perl(Crypt::PRNG::Fortuna) = 0.80.0 Provides: perl(Crypt::PRNG::RC4) = 0.80.0 Provides: perl(Crypt::PRNG::Sober128) = 0.80.0 Provides: perl(Crypt::PRNG::Yarrow) = 0.80.0 Provides: perl(Crypt::Stream::ChaCha) = 0.80.0 Provides: perl(Crypt::Stream::RC4) = 0.80.0 Provides: perl(Crypt::Stream::Rabbit) = 0.80.0 Provides: perl(Crypt::Stream::Salsa20) = 0.80.0 Provides: perl(Crypt::Stream::Sober128) = 0.80.0 Provides: perl(Crypt::Stream::Sosemanuk) = 0.80.0 Provides: perl(CryptX) = 0.80.0 Provides: perl(Math::BigInt::LTM) = 0.80.0 %define __perllib_provides /bin/true %{perl_requires} %description Perl modules providing a cryptography based on at https://github.com/libtom/libtomcrypt library. * * Symmetric ciphers - see Crypt::Cipher and related modules Crypt::Cipher::AES, Crypt::Cipher::Anubis, Crypt::Cipher::Blowfish, Crypt::Cipher::Camellia, Crypt::Cipher::CAST5, Crypt::Cipher::DES, Crypt::Cipher::DES_EDE, Crypt::Cipher::IDEA, Crypt::Cipher::KASUMI, Crypt::Cipher::Khazad, Crypt::Cipher::MULTI2, Crypt::Cipher::Noekeon, Crypt::Cipher::RC2, Crypt::Cipher::RC5, Crypt::Cipher::RC6, Crypt::Cipher::SAFERP, Crypt::Cipher::SAFER_K128, Crypt::Cipher::SAFER_K64, Crypt::Cipher::SAFER_SK128, Crypt::Cipher::SAFER_SK64, Crypt::Cipher::SEED, Crypt::Cipher::Serpent, Crypt::Cipher::Skipjack, Crypt::Cipher::Twofish, Crypt::Cipher::XTEA * * Block cipher modes Crypt::Mode::CBC, Crypt::Mode::CFB, Crypt::Mode::CTR, Crypt::Mode::ECB, Crypt::Mode::OFB * * Stream ciphers Crypt::Stream::RC4, Crypt::Stream::ChaCha, Crypt::Stream::Salsa20, Crypt::Stream::Sober128, Crypt::Stream::Sosemanuk, Crypt::Stream::Rabbit * * Authenticated encryption modes Crypt::AuthEnc::CCM, Crypt::AuthEnc::EAX, Crypt::AuthEnc::GCM, Crypt::AuthEnc::OCB, Crypt::AuthEnc::ChaCha20Poly1305 * * Hash Functions - see Crypt::Digest and related modules Crypt::Digest::BLAKE2b_160, Crypt::Digest::BLAKE2b_256, Crypt::Digest::BLAKE2b_384, Crypt::Digest::BLAKE2b_512, Crypt::Digest::BLAKE2s_128, Crypt::Digest::BLAKE2s_160, Crypt::Digest::BLAKE2s_224, Crypt::Digest::BLAKE2s_256, Crypt::Digest::CHAES, Crypt::Digest::MD2, Crypt::Digest::MD4, Crypt::Digest::MD5, Crypt::Digest::RIPEMD128, Crypt::Digest::RIPEMD160, Crypt::Digest::RIPEMD256, Crypt::Digest::RIPEMD320, Crypt::Digest::SHA1, Crypt::Digest::SHA224, Crypt::Digest::SHA256, Crypt::Digest::SHA384, Crypt::Digest::SHA512, Crypt::Digest::SHA512_224, Crypt::Digest::SHA512_256, Crypt::Digest::Tiger192, Crypt::Digest::Whirlpool, Crypt::Digest::Keccak224, Crypt::Digest::Keccak256, Crypt::Digest::Keccak384, Crypt::Digest::Keccak512, Crypt::Digest::SHA3_224, Crypt::Digest::SHA3_256, Crypt::Digest::SHA3_384, Crypt::Digest::SHA3_512, Crypt::Digest::SHAKE * * Checksums Crypt::Checksum::Adler32, Crypt::Checksum::CRC32 * * Message Authentication Codes Crypt::Mac::BLAKE2b, Crypt::Mac::BLAKE2s, Crypt::Mac::F9, Crypt::Mac::HMAC, Crypt::Mac::OMAC, Crypt::Mac::Pelican, Crypt::Mac::PMAC, Crypt::Mac::XCBC, Crypt::Mac::Poly1305 * * Public key cryptography Crypt::PK::RSA, Crypt::PK::DSA, Crypt::PK::ECC, Crypt::PK::DH, Crypt::PK::Ed25519, Crypt::PK::X25519 * * Cryptographically secure random number generators - see Crypt::PRNG and related modules Crypt::PRNG::Fortuna, Crypt::PRNG::Yarrow, Crypt::PRNG::RC4, Crypt::PRNG::Sober128, Crypt::PRNG::ChaCha20 * * Key derivation functions - PBKDF1, PBKDF2 and HKDF Crypt::KeyDerivation * * Other handy functions related to cryptography Crypt::Misc %prep %autosetup -n %{cpan_name}-%{cpan_version} %build perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" %make_build %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %doc Changes README.md %license LICENSE %changelog * Thu Oct 5 2023 Tina Müller - updated to 0.080 see /usr/share/doc/packages/perl-CryptX/Changes 0.080 2023-10-04 - fix #95 AES-NI troubles on MS Windows (gcc compiler) - fix #96 Tests failure with Math::BigInt >= 1.999840 - Enabled AES-NI for platforms with gcc/clang/llvm 0.079 2023-10-01 - fix #92 update libtomcrypt - bundled libtomcrypt update branch:develop (commit:1e629e6f 2023-06-22) * Sat Apr 29 2023 Tina Müller - updated to 0.078 see /usr/share/doc/packages/perl-CryptX/Changes 0.078 2023-04-28 - fix #89 Crypt::Mac::HMAC b64mac and b64umac object methods do not work * Mon Aug 22 2022 Tina Müller - updated to 0.077 see /usr/share/doc/packages/perl-CryptX/Changes 0.077 2022-08-21 - fix #82 + #84 new t/mbi_ltm_big*.t failures - fix #85 wrong linker options for aix * Sat Jan 8 2022 Tina Müller - updated to 0.076 see /usr/share/doc/packages/perl-CryptX/Changes 0.076 2022-01-07 - fix #80 github actions (mac, windows, cygwin) - fix #79 isolate ltc functions (via -Wl,--exclude-libs,ALL) - fix #68 Segmentation fault on Apache due to symbol clash with libasn1 * Sun Dec 26 2021 Tina Müller - updated to 0.075 see /usr/share/doc/packages/perl-CryptX/Changes * Sun Nov 7 2021 Tina Müller - updated to 0.074 see /usr/share/doc/packages/perl-CryptX/Changes 0.077 2021-11-06 - fix #75 Missing methods _sadd + _ssub in Math::BigInt::LTM - fix #76 Tests failing for numbers with multiple underscore characters (Math::BigInt::LTM) * Mon Jul 19 2021 Tina Müller - updated to 0.073 see /usr/share/doc/packages/perl-CryptX/Changes 0.073 2021-07-18 - fix #73 CPAN testers failure with Math::BigInt 1.99982 - fix #70 remove lto related hacks from Makefile.PL - fix #72 drop optional prereqs JSON::XS + Cpanel::JSON::XS, use optionally only JSON * Fri Apr 30 2021 Tina Müller - updated to 0.072 see /usr/share/doc/packages/perl-CryptX/Changes 0.072 2021-04-29 - fix #69 Identifier Octet's Leniency in RSA PKCS#1 Signature Verification - bundled libtomcrypt update branch:develop (commit:165c795b 2021-04-14) * Wed Mar 31 2021 Tina Müller - updated to 0.071 see /usr/share/doc/packages/perl-CryptX/Changes 0.071 2021-03-30 - fix #67 (better handling of PEM decoding failures) * Sat Feb 13 2021 Tina Müller - updated to 0.070 see /usr/share/doc/packages/perl-CryptX/Changes 0.070 2021-02-12 - fix #66 remove -flto=auto (Makefile.PL) - fix #65 typo in docs (lib/Crypt/Cipher.pm) - bundled libtomcrypt update branch:develop (commit:910d6252 2021-01-19) * Wed Aug 26 2020 Tina Müller - updated to 0.069 see /usr/share/doc/packages/perl-CryptX/Changes 0.069 2020-08-25 - fix #64 ECC: segfault on invalid input - fix #63 ltc Licensing could be clearer (added src/{ltc,ltm}/LICENSE) - fix #62 documentation only (Crypt::CBC related) - bundled libtomcrypt update branch:develop (commit:d8d7a83b 2020-07-14) * Wed Mar 11 2020 - updated to 0.068 see /usr/share/doc/packages/perl-CryptX/Changes 0.068 2020-03-10 - fix #60 Test failues on macOS Catalina * Sun Feb 2 2020 - updated to 0.067 see /usr/share/doc/packages/perl-CryptX/Changes 0.067 2020-02-01 - new: Crypt::PK::Ed25519 - new: Crypt::PK::X25519 - bundled libtomcrypt update branch:develop (commit:1937f412 2019-11-22) * Mon Oct 21 2019 - updated to 0.066 see /usr/share/doc/packages/perl-CryptX/Changes 0.066 2019-10-20 - fix #57 Build fails on i686 - bundled libtomcrypt update branch:develop (commit:354c9051 2019-10-20) - no perl module code change 0.065 2019-10-19 - fix #56 Math::BigInt 1.999817 breaks the tests of CryptX - bundled libtomcrypt update branch:develop (commit:25410c75 2019-10-17) - no perl module code change, just tests * Sat Jun 15 2019 Stephan Kulow - updated to 0.064 see /usr/share/doc/packages/perl-CryptX/Changes 0.064 2019-06-14 - fix #50 libtommath patch - building on HP-UX 11.11 / PA-RISC - necessary XS adaptation to the latest libtommath - bundled libtomcrypt update branch:develop (commit:c600d81e 2019-06-09) * Thu Dec 6 2018 Stephan Kulow - updated to 0.063 see /usr/share/doc/packages/perl-CryptX/Changes 0.063 2018-11-28 - proper patch for #46 (related to Math::BigInt::LTM) * Thu Nov 8 2018 Stephan Kulow - updated to 0.062 see /usr/share/doc/packages/perl-CryptX/Changes 0.062 2018-10-30 - bundled libtommath update branch:develop (commit:8b9f98ba 2018-09-23) + stdint.h workaround - bundled libtomcrypt update branch:develop (commit:f413335b 2018-10-29) - fix #45 doc only - sign_message_rfc7518 / sign_message_rfc7518 - fix $46 tests only - t/mbi_ltm_bigintpm.t etc. started to fail with latest Math::BigInt - fix #47 gcm_decrypt_verify + chacha20poly1305_decrypt_verify don't verify the tag - SERIOUS SECURITY BUG! - improved CBC/ECB padding (using libtomcrypt's functions: padding_depad + padding_pad) - enable pkcs#8 encrypted RSA keys (supported by the latest libtomcrypt) - exclude wycheproof tests (too big) from dist tarball (via MANIFEST.SKIP) * Fri Jun 8 2018 coolo@suse.com - updated to 0.061 see /usr/share/doc/packages/perl-CryptX/Changes 0.061 2018-06-07 - bundled libtommath update (+stdint.h workaround) - bundled libtomcrypt update (+necessary adaptation) - fix #43 HP-UX 11.11 C-ANSI-C has no stdint.h - fix #44 Anonymous unions are GNU and C11 (troubles with HP C/aC++, HP-UX 11.31/IA64) * Wed May 2 2018 coolo@suse.com - updated to 0.060 see /usr/share/doc/packages/perl-CryptX/Changes 0.060 2018-05-01 - bundled libtomcrypt update - Math::BigInt::LTM - remove buggy tests failing with the latest Math::BigInt - basically no changes to the perl modules * Mon Mar 26 2018 coolo@suse.com - updated to 0.059 see /usr/share/doc/packages/perl-CryptX/Changes 0.059 2018-03-25 - new Crypt::Digest::Keccak(224|256|384|512) - new methods sign_hash_rfc7518 + verify_hash_rfc7518 (Crypt::PK::ECC) - improved import of pkcs#8 private keys (Crypt::PK::ECC) - improved export allowing "compressed" variants (Crypt::PK::ECC) - fix #28 Apple's APNS pkcs8 auth key import fails (Crypt::PK::ECC) - fix cpantesters failure (5.8.1 related) * Wed Feb 28 2018 coolo@suse.com - updated to 0.058 see /usr/share/doc/packages/perl-CryptX/Changes 0.058 2018-02-27 - fix: decode_b58b + invalid input * Wed Feb 7 2018 coolo@suse.com - updated to 0.057 see /usr/share/doc/packages/perl-CryptX/Changes 0.057 2018-01-31 - significant speed-up (more stuff handled on XS level) - Crypt::Checksum is deprecated in favour of Crypt::Checksum::Adler32|CRC32 * Sat Dec 23 2017 coolo@suse.com - updated to 0.056 see /usr/share/doc/packages/perl-CryptX/Changes 0.056 2017-12-22 - new Crypt::Stream::Rabbit * Wed Nov 29 2017 coolo@suse.com - updated to 0.055 see /usr/share/doc/packages/perl-CryptX/Changes * Fri Oct 13 2017 coolo@suse.com - updated to 0.054 see /usr/share/doc/packages/perl-CryptX/Changes * Sat Sep 16 2017 coolo@suse.com - updated to 0.053 see /usr/share/doc/packages/perl-CryptX/Changes 0.053 2017/09/15 - fix Crypt::PK::DSA generate_key * Wed Aug 9 2017 coolo@suse.com - updated to 0.051 see /usr/share/doc/packages/perl-CryptX/Changes 0.051 2017/08/08 - INCOMPATIBLE CHANGE: Crypt::AuthEnc::OCB is now compliant with RFC 7253 * Wed Jul 19 2017 coolo@suse.com - updated to 0.050 see /usr/share/doc/packages/perl-CryptX/Changes * Fri Jun 2 2017 coolo@suse.com - updated to 0.048 see /usr/share/doc/packages/perl-CryptX/Changes * Fri Apr 7 2017 coolo@suse.com - updated to 0.047 see /usr/share/doc/packages/perl-CryptX/Changes 0.047 2017/04/05 - fix #32 Compile "ar" step fails when Perl built with -flto (better version) - fix #33 build fails on freebsd 9.2 and 10.0 (ar: fatal: Numeric group ID too large) 0.046 2017/04/04 - fix #32 Compile "ar" step fails when Perl built with -flto * Sat Apr 1 2017 coolo@suse.com - updated to 0.045 see /usr/share/doc/packages/perl-CryptX/Changes 0.045 2017/03/31 - sync with libtomcrypt/develop - fix #30 fix on SPARC+SolarisStudio - fix #31 Fails tests without '.' in @INC - polish compiler warnings * Tue Nov 29 2016 coolo@suse.com - updated to 0.044 see /usr/share/doc/packages/perl-CryptX/Changes 0.044 2016/11/28 - fix #27 Math::BigInt::LTM compatibility with older Math::BigInt * Mon Nov 28 2016 coolo@suse.com - updated to 0.043 see /usr/share/doc/packages/perl-CryptX/Changes 0.043 2016/11/27 - fix #26 Math::BigInt::LTM compatibility with Math::BigInt 1.999801+ * Sun Nov 13 2016 coolo@suse.com - updated to 0.042 see /usr/share/doc/packages/perl-CryptX/Changes 0.042 2016/11/12 - RSA: sign/verify functions now support 'none' padding (INSECURE!) - RC2: min keylen 40bit, used to be 64bit (INSECURE!) * Thu Oct 13 2016 coolo@suse.com - updated to 0.041 see /usr/share/doc/packages/perl-CryptX/Changes 0.041 2016/10/12 - ECC: ltc_ecc_is_point memory leak - DSA: properly handle FIPS 186-4 (4.6 + 4.7) - GCM: counter incrementation isn't stopped at 2^32 blocks, which breaks GCM - fix issue #24 Crypt::PK::ECC needs $VERSION (all *.pm have $VERSION) * Sat Oct 8 2016 coolo@suse.com - updated to 0.040 see /usr/share/doc/packages/perl-CryptX/Changes 0.040 2016/09/12 - fix file permissions - fix compiler warnings 0.039 2016/08/02 - fix build troubles for MacOS / PPC * Sat Oct 8 2016 coolo@suse.com - initial package 0.038 * created by cpanspec 1.78.08