From e9e76d1ee4e4b39edcd6821ced7a5bc3ed60eba0 Mon Sep 17 00:00:00 2001 From: sai-sunder-s <4540365+sai-sunder-s@users.noreply.github.com> Date: Mon, 7 Nov 2022 17:31:40 +0000 Subject: [PATCH] fix: Update minimum required version of cryptography in pyopenssl extra (#1176) * fix: Update minimum required version of cryptography in pyopenssl extra * update rst * update rst * update rt --- README.rst | 11 +++++++++++ setup.py | 2 +- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 6e6716173..1f6b9affb 100644 --- a/README.rst +++ b/README.rst @@ -22,6 +22,17 @@ For more information on setting up your Python development environment, please r .. _`Python Development Environment Setup Guide`: https://cloud.google.com/python/setup +Extras +------ + +google-auth has few extras that you can install. For example:: + + $ pip install google-auth[pyopenssl] + +Note that the extras pyopenssl and enterprise_cert should not be used together because they use conflicting versions of `cryptography`_. + +.. _`cryptography`: https://cryptography.io/en/latest/ + Supported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^ Python >= 3.6 diff --git a/setup.py b/setup.py index 1fce9743e..79d31b87c 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ "aiohttp >= 3.6.2, < 4.0.0dev; python_version>='3.6'", "requests >= 2.20.0, < 3.0.0dev", ], - "pyopenssl": "pyopenssl>=20.0.0", + "pyopenssl": ["pyopenssl>=20.0.0", "cryptography>=38.0.3"], "reauth": "pyu2f>=0.1.5", # Enterprise cert only works for OpenSSL 1.1.1. Newer versions of these # dependencies are built with OpenSSL 3.0 so we need to fix the version. diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index abfaddd92913cbd9392312fc240a82ee8fe99e47..d428e414d2cd621ebc5a333bc3a33d272dd172ca 100644 GIT binary patch literal 10324 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 literal 10324 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�pyLgB-vY!wux*Ex$DE8187+Cg;W{1Z(N*Ch{>!G7 zPKWcQec^ofajDU7N{r)>10=}1avu<-4ahIIc_AJmmB-<>^w|J1f07{B$KkDYxmh#q zf{Kb9$xS{?-V?9MGk1{R2Rr}LoZ}T6HJ=C5cPT`2mgQ)+i5{Aljbm{wtC(DZB8s8o z5!+>-@w{Hcdk-cDxd(1)baH*tdbgsM)<>qSC~-SEJ>=Hs`mMZXXJmb2Hf*FWqe=^C zyGmkKaP9sJytX)hoq&^ET887a3F6jr1{Gk7zOBSlkI#?7&pL|eqs0C^KmS5;5WIRH zlq#G=XH=nMv)}m&0(f7f)XZD~kmz?+a!~9wJ>Z>hx8mj<4d_dNA1kLKiXwRXa>3kJ z@d*a@aC;yEY6&J~M1MG1#3@Q&7WEzA5&8@udb6tr>M15aZG2hoJkEKO8RV&B7>jGu zuOoraWK|@N1ITzHDa&MPEdb)Lnqw7c7C6u{Q<5P1cr?+YV=2QoM1a={eun-*aawtK zzPM6Dzj3qrtORAlwD;;^uqKao9WNT_TAoKiBL@5c!{4kmL#wFjhz1|znzkIA+{l3# zbv|$&t5n6gv&@lVddd*d00$@IjW30e0&Q2W>qTP37YK+P^=T#Dx}}C(C-r6kI@sv> z4uQqf?_w#sP-TZz(vJe0p+JIXwN~~7#ZD3>hwd&G{%uZ=D{T~3;&N=szMPHZ?cLtw zV9f(sZohtHT)F8b=uvfz zptHc@ExJ=ol?nETK}5Cle`V1HK^kO6V-O=9C8^k0ifKE(O%Y4}-m6e_2x-Iq^$?n2 z_RIkH5H6=FDsQ^Jt@!0ghy{25tulE|3Nd?2EC@0jHL3_D0-yGiQ@yV~r@4OUujWNV zi2FT;WY@7|CkdDO!Z7?%DO+WFNozVW0FV5gk2oV<9t^T+Eq&f1tg3^Lz_n6a4)Qt! znjzV%hbCTH1wo5aTUP;XR4bq$ix$^XY+v3AiJC7C5(cWwnsnEH%-gsi?^OMFt|nky zD%MIMq;3h1tq)wz?WcY81B9y9aFw2e*^FG1L{8ww8q)G|B5L$2eFhiop93o=$JYzF z_oOJi>+31ZTM_@iVupGh8X@Z zGAG)SmsUvHEm&uPCOAe4PXqAzD@KM4xFI@LN%!apohssnrD`7M_6t5N@TM;P0uzTQ z(n*I*(wpPKIRhGaSU)G-?h8q#S|`}YZrFGS zq(mmS(Y;`d%SV3=`Qtm+Iq($9l`d`?0>Z!!prE9LJ!5DYxHd26?QUc6ikudl`?^s{ z;dJ8a8|KmqxVD5EnCIlV>XLAcLcIc7g(TwmN%)q`Q?G|^_5bnT7e9vhbQQtt@P=(t zuYE|Lyc>-2Zw5<VXqG}xSTnksqTNp_n_lx?l3 zY!N=`R8npl;&X0;ITl<5u4lPse&OBcwsDLZqnXEo{n$L#z~n(e+$5|?F3LnK`0=1I z8D52m@6mG$H%$Tt9Jj0Y#hyV!1aKI+_Dws4Hgn5o3r5gxL}YY0-DRxu%ZXCImSCp1 z@aP1o-6(jBkfQURLaO<81}BJOgeB7Vt)%P`9;gEQyiED?aLIz95QPxAnYC;~x6MV1 zjO9GZ+qE@T>hX&_)prbRZi2s29D_LLMEp*0o(-9{N;$|=!wR24kzzWGS4Ly_#-x*bMfYtr$ z{u;gb9?TkuCXOF#)K~Am@3;D28Q@KM@3{+^Dz|5QTKrXgUNQ-DKK2K6y{hG>DI-QH z&;CWumy0cSc(@-^u3`c^#wISs;Va(POKXPh+o($}ao=X`EJr@zBgF*K-)VcHT|#}+ zVKf8DFM?0niWUjjg4vO7So{Z&MH~&kwf}g=)HfqCcspp$*j~Ee#_+hCJp}=_RQci3 zp2J){a!hJ8yF?SzSojs^H^4?wA6g+Y^-&Nqe2T)+4`pvZ&;O6~tXtwnZDerttE(aE zBeL__*t)ke_O3W5J_&r5{6ajXB4-gg3YN-CA3uFz;jwPQ9(`3@N5AtsQVmg;veyA&kS zBnknw0Z*i8UYINRDl34xeO~?xOKC|KFERualyNyf3*0@6qwehDOW{zZj`qJpa zCyA4V!;LvA4H+IVxqMHQ^V!n=d{+LCY%|9<`t(lJRI?iQQWKl+cNDpBQ`qF1Fap<^ zcjWSDj~V0>q|KuwmRk7ne)(s304^PBqet_EI9E~lxk)^+8J$a{2~vGGaP$4#aQEyS zkN8PDJ0E@}Yc0nPCyT4EY$7%pa5fwzROHS_T{|i_ktvNnS$L|XDN;+RebeWq&g_GA(Y0cuSVX41FNkzc;Og6O(!T~S*@oLvP9=Xm;}e=9ox