toddr / Crypt-OpenSSL-RSA

Release history of Crypt-OpenSSL-RSA
https://metacpan.org/pod/Crypt::OpenSSL::RSA
Other
8 stars 25 forks source link

Does not install on Mac OS 12 (Monetery) #33

Open dracos opened 2 years ago

dracos commented 2 years ago

With a brew perl 5.34, you can get this:

--> Working on Crypt::OpenSSL::RSA
Fetching http://cpan.metacpan.org/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.31.tar.gz
-> OK
Unpacking Crypt-OpenSSL-RSA-0.31.tar.gz
Copying Crypt-OpenSSL-RSA-0.31.tar.gz to [...]
Entering Crypt-OpenSSL-RSA-0.31
Checking configure dependencies from META.json
Checking if you have Crypt::OpenSSL::Guess 0.11 ... No
Checking if you have ExtUtils::MakeMaker 7.20 ... Yes (7.62)
==> Found dependencies: Crypt::OpenSSL::Guess
[...]
Configuring Crypt-OpenSSL-RSA-0.31
Running Makefile.PL
Warning: prerequisite Crypt::OpenSSL::Random 0 not found.
Checking if your kit is complete...
Looks good
WARNING: /opt/homebrew/Cellar/perl/5.34.0/bin/perl is loading libcrypto in an unsafe way
-> N/A
-> FAIL No MYMETA file is found after configure. Your toolchain is too old?
-> FAIL Configure failed for Crypt-OpenSSL-RSA-0.31. [...]

The issue appears to be trying to load an unversioned libcrypto causes it to now deliberately crash.

Someone at MacPorts has proposed this fix for Net::SSLeay: https://github.com/macports/macports-ports/pull/12704 (based on this ticket https://trac.macports.org/ticket/63415 ), and if that was correct then an equivalent change could be made to Guess.pm in Crypt::OpenSSL::Guess, I think?

Net::SSLeay 'fixed' apparently in https://github.com/radiator-software/p5-net-ssleay/pull/292 (unneeded in Guess, I think, as that uses brew prefix) but https://github.com/radiator-software/p5-net-ssleay/issues/268#issuecomment-817109697 said you also needed to symlink in files, so did it actually fix it? Not sure.

I don't have a Monterey machine myself, this is second hand from someone trying to install something. I'm not sure at present if they had openssl installed via brew or not, and whether that would have resolved this, will try and get them to try it.

akiym commented 2 years ago

I released Crypt::OpenSSL::Guess 0.14 last night, and I've confirmed that Crypt::OpenSSL::RSA is installable on macOS Monterey. (Here's changes: https://github.com/akiym/Crypt-OpenSSL-Guess/pull/11)

% cpanm Crypt::OpenSSL::Guess
--> Working on Crypt::OpenSSL::Guess
Fetching http://www.cpan.org/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.14.tar.gz ... OK
Configuring Crypt-OpenSSL-Guess-0.14 ... OK
Building Crypt-OpenSSL-Guess-0.14 ... OK
Successfully installed Crypt-OpenSSL-Guess-0.14 (upgraded from 0.13)
1 distribution installed
% cpanm Crypt::OpenSSL::RSA
--> Working on Crypt::OpenSSL::RSA
Fetching http://www.cpan.org/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.32.tar.gz ... OK
Configuring Crypt-OpenSSL-RSA-0.32 ... OK
Building Crypt-OpenSSL-RSA-0.32 ... OK
Successfully installed Crypt-OpenSSL-RSA-0.32
1 distribution installed

However, if you've installed openssl@3 via homebrew, you need to specify the path of OpenSSL version 3 or lower with OPENSSL_PREFIX environment variable because Crypt::OpenSSL::RSA is not compatible with OpenSSL 3 yet.

% brew --prefix --installed openssl
/usr/local/opt/openssl@3
% ls -l /usr/local/opt/openssl
lrwxr-xr-x  1 akiym  admin  27 Oct 29 20:24 /usr/local/opt/openssl -> ../Cellar/openssl@3/3.0.0_1
% brew --prefix --installed openssl@1.1
/usr/local/opt/openssl@1.1
% OPENSSL_PREFIX=$(brew --prefix --installed openssl@1.1) cpanm Crypt::OpenSSL::RSA
mjgardner commented 1 year ago

However, if you've installed openssl@3 via homebrew, you need to specify the path of OpenSSL version 3 or lower with OPENSSL_PREFIX environment variable because Crypt::OpenSSL::RSA is not compatible with OpenSSL 3 yet.

I don't understand this comment.

Did you mean you need to specify OpenSSL 1.1?

Regardless, I was able to successfully build (albeit with deprecation warnings), test, and install Crypt::OpenSSL::RSA v0.33 from CPAN on macOS Ventura 13.0.1 running perl v5.36.0 with OpenSSL 3.0.7 installed via Mac homebrew:

mjg@mjg-MacBook-Pro-2021 ~ % uname -a && perl -V && brew list --versions openssl &&
cmdand cmdand cmdand> OPENSSL_PREFIX=$(brew --prefix --installed openssl@3) cpanm --reinstall --verbose Crypt::OpenSSL::RSA
Darwin mjg-MacBook-Pro-2021.local 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct  9 20:15:09 PDT 2022; root:xnu-8792.41.9~2/RELEASE_ARM64_T6000 arm64
Summary of my perl5 (revision 5 version 36 subversion 0) configuration:

  Platform:
    osname=darwin
    osvers=21.6.0
    archname=darwin-2level
    uname='darwin marks-mbp.attlocal.net 21.6.0 darwin kernel version 21.6.0: sat jun 18 17:07:22 pdt 2022; root:xnu-8020.140.41~1release_arm64_t6000 arm64 '
    config_args='-Dprefix=/Users/mjg/.plenv/versions/5.36.0 -de -Dversiononly -A'eval:scriptdir=/Users/mjg/.plenv/versions/5.36.0/bin''
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=12.5 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV'
    optimize='-O3'
    cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=12.5 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='Apple LLVM 13.1.6 (clang-1316.0.21.2.5)'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=8
    longdblkind=0
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -mmacosx-version-min=12.5 -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /Library/Developer/CommandLineTools/usr/lib/clang/13.1.6/lib /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib /Library/Developer/CommandLineTools/usr/lib /usr/lib
    libs=
    perllibs=
    libc=
    so=dylib
    useshrplib=false
    libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=bundle
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags=' -mmacosx-version-min=12.5 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector-strong'

Characteristics of this binary (from libperl):
  Compile-time options:
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_SAFE_PUTENV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Built under darwin
  Compiled at Aug  7 2022 21:13:07
  @INC:
    /Users/mjg/.plenv/versions/5.36.0/lib/perl5/site_perl/5.36.0/darwin-2level
    /Users/mjg/.plenv/versions/5.36.0/lib/perl5/site_perl/5.36.0
    /Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0/darwin-2level
    /Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0
openssl@3 3.0.7
cpanm (App::cpanminus) 1.7046 on perl 5.036000 built for darwin-2level
Work directory is /Users/mjg/.cpanm/work/1668623851.6381
You have make /usr/bin/make
You have LWP 6.67
You have /usr/bin/tar: bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8
You have /usr/bin/unzip
Searching Crypt::OpenSSL::RSA () on cpanmetadb ...
--> Working on Crypt::OpenSSL::RSA
Fetching http://www.cpan.org/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.33.tar.gz ... OK
Unpacking Crypt-OpenSSL-RSA-0.33.tar.gz
x Crypt-OpenSSL-RSA-0.33/
x Crypt-OpenSSL-RSA-0.33/Makefile.PL
x Crypt-OpenSSL-RSA-0.33/t/
x Crypt-OpenSSL-RSA-0.33/t/bignum.t
x Crypt-OpenSSL-RSA-0.33/t/z_perl_minimum_version.t
x Crypt-OpenSSL-RSA-0.33/t/z_pod.t
x Crypt-OpenSSL-RSA-0.33/t/sig_die.t
x Crypt-OpenSSL-RSA-0.33/t/z_kwalitee.t
x Crypt-OpenSSL-RSA-0.33/t/z_meta.t
x Crypt-OpenSSL-RSA-0.33/t/format.t
x Crypt-OpenSSL-RSA-0.33/t/rsa.t
x Crypt-OpenSSL-RSA-0.33/t/fakelib/
x Crypt-OpenSSL-RSA-0.33/t/fakelib/Crypt/
x Crypt-OpenSSL-RSA-0.33/t/fakelib/Crypt/OpenSSL/
x Crypt-OpenSSL-RSA-0.33/t/fakelib/Crypt/OpenSSL/Bignum.pm
x Crypt-OpenSSL-RSA-0.33/t/z_pod-coverage.t
x Crypt-OpenSSL-RSA-0.33/README.md
x Crypt-OpenSSL-RSA-0.33/MANIFEST.SKIP
x Crypt-OpenSSL-RSA-0.33/typemap
x Crypt-OpenSSL-RSA-0.33/hints/
x Crypt-OpenSSL-RSA-0.33/hints/MSWin32.pl
x Crypt-OpenSSL-RSA-0.33/README
x Crypt-OpenSSL-RSA-0.33/RSA.xs
x Crypt-OpenSSL-RSA-0.33/MANIFEST
x Crypt-OpenSSL-RSA-0.33/LICENSE
x Crypt-OpenSSL-RSA-0.33/Changes
x Crypt-OpenSSL-RSA-0.33/RSA.pm
x Crypt-OpenSSL-RSA-0.33/META.yml
x Crypt-OpenSSL-RSA-0.33/META.json
Entering Crypt-OpenSSL-RSA-0.33
Checking configure dependencies from META.json
Checking if you have Crypt::OpenSSL::Guess 0.11 ... Yes (0.15)
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.64)
Running Makefile.PL
Configuring Crypt-OpenSSL-RSA-0.33 ... Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Crypt::OpenSSL::RSA
Writing MYMETA.yml and MYMETA.json
OK
Checking dependencies from MYMETA.json ...
Checking if you have Crypt::OpenSSL::Random 0 ... Yes (0.15)
Checking if you have Test::More 0 ... Yes (1.302191)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.64)
Building and testing Crypt-OpenSSL-RSA-0.33 ... cp RSA.pm blib/lib/Crypt/OpenSSL/RSA.pm
AutoSplitting blib/lib/Crypt/OpenSSL/RSA.pm (blib/lib/auto/Crypt/OpenSSL/RSA)
Running Mkbootstrap for RSA ()
chmod 644 "RSA.bs"
"/Users/mjg/.plenv/versions/5.36.0/bin/perl5.36.0" -MExtUtils::Command::MM -e 'cp_nonempty' -- RSA.bs blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs 644
"/Users/mjg/.plenv/versions/5.36.0/bin/perl5.36.0" "/Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0/ExtUtils/xsubpp"  -typemap '/Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0/ExtUtils/typemap' -typemap '/Users/mjg/.cpanm/work/1668623851.6381/Crypt-OpenSSL-RSA-0.33/typemap'  RSA.xs > RSA.xsc
mv RSA.xsc RSA.c
cc -c  -I/opt/homebrew/opt/openssl@3/include -fno-common -DPERL_DARWIN -mmacosx-version-min=12.5 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -O3   -DVERSION=\"0.33\" -DXS_VERSION=\"0.33\"  "-I/Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0/darwin-2level/CORE"  -DPERL5 -DOPENSSL_NO_KRB5 RSA.c
RSA.xs:56:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:59:5: warning: 'RSA_get0_key' is deprecated [-Wdeprecated-declarations]
    RSA_get0_key(p_rsa->rsa, NULL, NULL, &d);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:217:1: note: 'RSA_get0_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:125:20: warning: 'MD5' is deprecated [-Wdeprecated-declarations]
            return MD5(text, text_length, NULL);
                   ^
/opt/homebrew/opt/openssl@3/include/openssl/md5.h:52:1: note: 'MD5' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:145:20: warning: 'RIPEMD160' is deprecated [-Wdeprecated-declarations]
            return RIPEMD160(text, text_length, NULL);
                   ^
/opt/homebrew/opt/openssl@3/include/openssl/ripemd.h:49:1: note: 'RIPEMD160' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 unsigned char *RIPEMD160(const unsigned char *d, size_t n,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:218:12: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    size = RSA_size(p_rsa->rsa);
           ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:255:45: warning: 'PEM_read_bio_RSAPrivateKey' is deprecated [-Wdeprecated-declarations]
        proto, _load_rsa_key(key_string_SV, PEM_read_bio_RSAPrivateKey, passphase_SV));
                                            ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:447:24: note: 'PEM_read_bio_RSAPrivateKey' has been explicitly marked deprecated here
DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
                       ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:265:45: warning: 'PEM_read_bio_RSAPublicKey' is deprecated [-Wdeprecated-declarations]
        proto, _load_rsa_key(key_string_SV, PEM_read_bio_RSAPublicKey, &PL_sv_undef));
                                            ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:448:21: note: 'PEM_read_bio_RSAPublicKey' has been explicitly marked deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSAPublicKey, RSA)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:275:45: warning: 'PEM_read_bio_RSA_PUBKEY' is deprecated [-Wdeprecated-declarations]
        proto, _load_rsa_key(key_string_SV, PEM_read_bio_RSA_PUBKEY, &PL_sv_undef));
                                            ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:449:21: note: 'PEM_read_bio_RSA_PUBKEY' has been explicitly marked deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSA_PUBKEY, RSA)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:283:5: warning: 'RSA_free' is deprecated [-Wdeprecated-declarations]
    RSA_free(p_rsa->rsa);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:293:1: note: 'RSA_free' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:316:5: warning: 'PEM_write_bio_RSAPrivateKey' is deprecated [-Wdeprecated-declarations]
    PEM_write_bio_RSAPrivateKey(
    ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:447:24: note: 'PEM_write_bio_RSAPrivateKey' has been explicitly marked deprecated here
DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
                       ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:317:37: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
        stringBIO, p_rsa->rsa, enc, passphase, passphaseLength, NULL, NULL);
                                    ^~~~~~~~~
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:447:1: note: passing argument to parameter 'kstr' here
DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:360:5: note: expanded from macro 'DECLARE_PEM_rw_cb_attr'
    DECLARE_PEM_write_cb_attr(attr, name, type)
    ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:322:5: note: expanded from macro 'DECLARE_PEM_write_cb_attr'
    DECLARE_PEM_write_cb_bio_attr(attr, name, type)                         \
    ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:295:10: note: expanded from macro 'DECLARE_PEM_write_cb_bio_attr'
    attr PEM_write_cb_fnsig(name, type, BIO, write_bio);
         ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:83:55: note: expanded from macro 'PEM_write_cb_fnsig'
                                 const unsigned char *kstr, int klen,   \
                                                      ^
RSA.xs:330:5: warning: 'PEM_write_bio_RSAPublicKey' is deprecated [-Wdeprecated-declarations]
    PEM_write_bio_RSAPublicKey(stringBIO, p_rsa->rsa);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:448:21: note: 'PEM_write_bio_RSAPublicKey' has been explicitly marked deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSAPublicKey, RSA)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:343:5: warning: 'PEM_write_bio_RSA_PUBKEY' is deprecated [-Wdeprecated-declarations]
    PEM_write_bio_RSA_PUBKEY(stringBIO, p_rsa->rsa);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/pem.h:449:21: note: 'PEM_write_bio_RSA_PUBKEY' has been explicitly marked deprecated here
DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSA_PUBKEY, RSA)
                    ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:362:11: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
    rsa = RSA_new();
          ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:201:1: note: 'RSA_new' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:363:10: warning: 'RSA_generate_key_ex' is deprecated [-Wdeprecated-declarations]
    rc = RSA_generate_key_ex(rsa, SvIV(bitsSV), e, NULL);
         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:260:1: note: 'RSA_generate_key_ex' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:399:26: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
    CHECK_OPEN_SSL(rsa = RSA_new());
                         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:201:1: note: 'RSA_new' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:400:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:418:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:422:15: warning: 'RSA_set0_factors' is deprecated [-Wdeprecated-declarations]
        THROW(RSA_set0_factors(rsa, p, q));
              ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:208:1: note: 'RSA_set0_factors' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:434:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:437:15: warning: 'RSA_set0_key' is deprecated [-Wdeprecated-declarations]
        THROW(RSA_set0_key(rsa, n, e, d));
              ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:207:1: note: 'RSA_set0_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:445:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:450:15: warning: 'RSA_set0_crt_params' is deprecated [-Wdeprecated-declarations]
        THROW(RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp));
              ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:209:1: note: 'RSA_set0_crt_params' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_set0_crt_params(RSA *r,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:453:15: warning: 'RSA_check_key' is deprecated [-Wdeprecated-declarations]
        THROW(RSA_check_key(rsa) == 1);
              ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:278:1: note: 'RSA_check_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_check_key(const RSA *);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:463:13: warning: 'RSA_free' is deprecated [-Wdeprecated-declarations]
            RSA_free(rsa);
            ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:293:1: note: 'RSA_free' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:469:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:472:24: warning: 'RSA_set0_key' is deprecated [-Wdeprecated-declarations]
        CHECK_OPEN_SSL(RSA_set0_key(rsa, n, e, d));
                       ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:207:1: note: 'RSA_set0_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:496:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
#if OLD_CRUFTY_SSL_VERSION
    ^
RSA.xs:33:74: note: expanded from macro 'OLD_CRUFTY_SSL_VERSION'
#define OLD_CRUFTY_SSL_VERSION (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x03050000fL))
                                                                         ^
RSA.xs:506:5: warning: 'RSA_get0_key' is deprecated [-Wdeprecated-declarations]
    RSA_get0_key(rsa, &n, &e, &d);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:217:1: note: 'RSA_get0_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:507:5: warning: 'RSA_get0_factors' is deprecated [-Wdeprecated-declarations]
    RSA_get0_factors(rsa, &p, &q);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:220:1: note: 'RSA_get0_factors' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:508:5: warning: 'RSA_get0_crt_params' is deprecated [-Wdeprecated-declarations]
    RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp);
    ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:225:1: note: 'RSA_get0_crt_params' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:525:44: warning: 'RSA_public_encrypt' is deprecated [-Wdeprecated-declarations]
    RETVAL = rsa_crypt(p_rsa, p_plaintext, RSA_public_encrypt);
                                           ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:281:1: note: 'RSA_public_encrypt' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:538:45: warning: 'RSA_private_decrypt' is deprecated [-Wdeprecated-declarations]
    RETVAL = rsa_crypt(p_rsa, p_ciphertext, RSA_private_decrypt);
                                            ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:290:1: note: 'RSA_private_decrypt' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:551:44: warning: 'RSA_private_encrypt' is deprecated [-Wdeprecated-declarations]
    RETVAL = rsa_crypt(p_rsa, p_plaintext, RSA_private_encrypt);
                                           ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:284:1: note: 'RSA_private_encrypt' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:560:45: warning: 'RSA_public_decrypt' is deprecated [-Wdeprecated-declarations]
    RETVAL = rsa_crypt(p_rsa, p_ciphertext, RSA_public_decrypt);
                                            ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:287:1: note: 'RSA_public_decrypt' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:568:14: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    RETVAL = RSA_size(p_rsa->rsa);
             ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:580:14: warning: 'RSA_check_key' is deprecated [-Wdeprecated-declarations]
    RETVAL = RSA_check_key(p_rsa->rsa);
             ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:278:1: note: 'RSA_check_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_check_key(const RSA *);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:710:26: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    CHECK_NEW(signature, RSA_size(p_rsa->rsa), char);
                         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:710:26: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    CHECK_NEW(signature, RSA_size(p_rsa->rsa), char);
                         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:710:26: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    CHECK_NEW(signature, RSA_size(p_rsa->rsa), char);
                         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:710:26: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    CHECK_NEW(signature, RSA_size(p_rsa->rsa), char);
                         ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:713:20: warning: 'RSA_sign' is deprecated [-Wdeprecated-declarations]
    CHECK_OPEN_SSL(RSA_sign(p_rsa->hashMode,
                   ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:348:1: note: 'RSA_sign' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_sign(int type, const unsigned char *m,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:739:9: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
    if (RSA_size(p_rsa->rsa) < sig_length)
        ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
RSA.xs:745:12: warning: 'RSA_verify' is deprecated [-Wdeprecated-declarations]
    switch(RSA_verify(p_rsa->hashMode,
           ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:351:1: note: 'RSA_verify' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
44 warnings generated.
rm -f blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bundle
LD_RUN_PATH="/opt/homebrew/opt/openssl@3/lib" cc -Wl,-rpath,"/opt/homebrew/opt/openssl@3/lib" -mmacosx-version-min=12.5 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector-strong  RSA.o  -o blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bundle  \
       -L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto   \

ld: warning: -undefined dynamic_lookup may not work with chained fixups
ld: warning: dylib (/opt/homebrew/opt/openssl@3/lib/libssl.dylib) was built for newer macOS version (13.0) than being linked (12.5)
ld: warning: dylib (/opt/homebrew/opt/openssl@3/lib/libcrypto.dylib) was built for newer macOS version (13.0) than being linked (12.5)
chmod 755 blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bundle
Manifying 1 pod document
"/Users/mjg/.plenv/versions/5.36.0/bin/perl5.36.0" -MExtUtils::Command::MM -e 'cp_nonempty' -- RSA.bs blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs 644
PERL_DL_NONLAZY=1 "/Users/mjg/.plenv/versions/5.36.0/bin/perl5.36.0" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/bignum.t .................. ok
t/format.t .................. ok
t/rsa.t ..................... ok
t/sig_die.t ................. ok
t/z_kwalitee.t .............. skipped: This test is only run for the module author
t/z_meta.t .................. skipped: This test is only run for the module author
t/z_perl_minimum_version.t .. skipped: Author tests not required for installation
t/z_pod-coverage.t .......... skipped: This test is only run for the module author
t/z_pod.t ................... skipped: This test is only run for the module author
All tests successful.
Files=9, Tests=147,  1 wallclock secs ( 0.02 usr  0.01 sys +  0.21 cusr  0.04 csys =  0.28 CPU)
Result: PASS
"/Users/mjg/.plenv/versions/5.36.0/bin/perl5.36.0" -MExtUtils::Command::MM -e 'cp_nonempty' -- RSA.bs blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs 644
Manifying 1 pod document
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Appending installation info to /Users/mjg/.plenv/versions/5.36.0/lib/perl5/5.36.0/darwin-2level/perllocal.pod
OK
Successfully reinstalled Crypt-OpenSSL-RSA-0.33
Installing /Users/mjg/.plenv/versions/5.36.0/lib/perl5/site_perl/5.36.0/darwin-2level/.meta/Crypt-OpenSSL-RSA-0.33/install.json
1 distribution installed