python311-cryptography-41.0.3-150400.16.15.1<>,̉ekp9|;7ssOYٽZwZ,æN\Kp>a,-L UG$M53C(Y6(?uT2Qy>P?@d  / q1Rm 0  ^    N PTtY_Z_cd dg(g8gd9ild:pdFWGXH\pI`XaYa\b]ft^{j"bcAdefluvHw0xyz<Cpython311-cryptography41.0.3150400.16.15.1Python library which exposes cryptographic recipes and primitivescryptography is a package designed to expose cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic standard library". It supports Python 2.7, Python 3.4+, and PyPy-5.3+. cryptography includes both high level recipes, and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests and key derivation functions.ekh04-armsrv1<SUSE Linux Enterprise 15SUSE LLC Apache-2.0 OR BSD-3-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://cryptography.io/en/latest/linuxaarch646:) l ..@@^EE8ii((1ttNN}=}=66xxEEp(p( >_(v |,UA%0Pu[= hNV&& #(}}TT@@  %%NN##(^(^E`0088UUDD e G2C p -g  m ??(g(g554C4C/# ^ EEhh// T T m m $ 2.bcuEE&&(B(BoS yy||TT9*9*c]c]e0e0((] :Hf=gH,`AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤ekekekekekekekekddddekekekekekekekekekekekddddekddekekekekekddekddekekekekddekekekekekekekekekekekekekekekekekekekddekddddddddddddekddekekekekekddddddddddekddddddddddddddddddddddddddekddekekekekekekekddddekddekekekekekekekekekekekekekekekekekekekekekekekddddddekddekekekekekekekekekekekekekekekekekekekekekekekekekddddddddddddddddddddddekddekekekekekekekekekekekddddddddddddddddekddekekekekekekekekekekekekekekekddddddddddddddddddekddekekekekekekekekekekekddddddddekddekekekekekekekddddddddekddekekekekekekekekekekekekekekekekekddddddddddddddekddddddekdddddd6bd535f15f8d075604469d0c2e92fec628887288262c4128872c410667292608baba472e3e17b638d616aa99bd6c95f08fd8224b267eaf37d2b0da75e0e34d5f01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b769dcc1f59aedbe07f4c011a1b4b4ade4f3fb317b2439fdd6b03ac8a823bf79828d693f929f62b8bb135a11b7ba9987439f7a960cc969e32f8cb567c1ef79c9740c3f6d8604b5f6f4e16427d2cf0229e07fe31a08eaee5a231bc474b504b217a8953e50655d64c9ca215e45e77171b30f8721c1df8be238cd7477bdaf1a75ae1e663909d84a037aa1723364a11ddb6d6619b34d36038e6341ac25edfb3634702e663909d84a037aa1723364a11ddb6d6619b34d36038e6341ac25edfb363470204376eaa1230ae7c4d0dd86ea2e91aa925ccdeac61eccc78742014f91acb3b0104376eaa1230ae7c4d0dd86ea2e91aa925ccdeac61eccc78742014f91acb3b01db6293cae6074979587aeec4839fd017a548e4b364c489315afdccede63901e2db6293cae6074979587aeec4839fd017a548e4b364c489315afdccede63901e2a425c0ded05b7e47219633e7f4fa9abbacb1212039d5fd9a72f2c39b57d7c30fa425c0ded05b7e47219633e7f4fa9abbacb1212039d5fd9a72f2c39b57d7c30f36862e29dceac7ee3ff8d55526fc67a11543bdebd656c9a7d0adb1a3792cfa9d36862e29dceac7ee3ff8d55526fc67a11543bdebd656c9a7d0adb1a3792cfa9d1077bb5ccdbf3ad74e3356d9134722fb819486d3a5110e9f41784ad8881fd2a04d5672e03b64a65ee4588a6fb8a70d95d13de481234d0d0c7c7811b0b7670d23e48c2b2d6ad5a7402312bff815d586fd5d39ecd489198fd6e1e80d36cb9cb748e78d756a2283944ee637cbe991d74c86e83440c88fcb767613be2f9e3ef1ab05e78d756a2283944ee637cbe991d74c86e83440c88fcb767613be2f9e3ef1ab050a3f68bcaa046f214695fdbbae4e274f16e4d8a883d071b59d968583dca1ad0b0a3f68bcaa046f214695fdbbae4e274f16e4d8a883d071b59d968583dca1ad0b83184c1caa6ef57b22eae1c2199ffeb2860c5e3fe2cce2056b18d42966c23de13b98ef28541d6675e129ea89f87b6e95a10bf4d8bb9abd660f3658e641e56212e84efd52088bdef6936763c3b733ebb6f9d03bfb952ea74ef6406aa33d991675e84efd52088bdef6936763c3b733ebb6f9d03bfb952ea74ef6406aa33d991675a778e625f9c26a0f62139b1d32b37a56f544bb9e6ee3ac5a4bf223a08d12ae60192c1ce6c189f44400d4c99a1bddfe936e1c96ccf31ae156b330ba3af582df4d192c1ce6c189f44400d4c99a1bddfe936e1c96ccf31ae156b330ba3af582df4de947739c405ea4436179e548d5559a053b8b2f6b8e6b671e41f4fbcb009b0ab8e947739c405ea4436179e548d5559a053b8b2f6b8e6b671e41f4fbcb009b0ab8ad5c20f9575a59271afdd01d3459e3c8575e29d33c0dcb641b69ce22cececd18ad5c20f9575a59271afdd01d3459e3c8575e29d33c0dcb641b69ce22cececd189c65a3cf8876aad40a8b6bf4f973104c9060246a4ede5ff51aa2ef0ca86d6e4e9c65a3cf8876aad40a8b6bf4f973104c9060246a4ede5ff51aa2ef0ca86d6e4e04f39671bc9d08115b09b0d147625636b34467631f3ae953999d17289e1ee60304f39671bc9d08115b09b0d147625636b34467631f3ae953999d17289e1ee603ee787c675d874f408bb04a600bd45de3d0906e44787163ecc245eac282aea620ee787c675d874f408bb04a600bd45de3d0906e44787163ecc245eac282aea6202c39dc1b001a4e2273108035f43b4fd08ca4c02218386e573be07dc5b3567bd72c39dc1b001a4e2273108035f43b4fd08ca4c02218386e573be07dc5b3567bd73c16fca92030b7d167b447c2012add8c7c77fcbaf8514ff39e24882f8927c3163c16fca92030b7d167b447c2012add8c7c77fcbaf8514ff39e24882f8927c316904b2266070a2e6c1ae98dcb620e375c60faf0b855fac8320c71b6be5aea2a7f904b2266070a2e6c1ae98dcb620e375c60faf0b855fac8320c71b6be5aea2a7fb37cd771541fd023883ae3b323cbac79b5a9ce71a7c99ec68679a5258bbb417030000304c7c0e20235bc145095932d75a0d0862bcb0f97d35fc322f3ec2c66729715abbe7b9fb9db032366e9c0db3673c5cb20b6c01368f6acc483d678673d58a4781038845f4787080dae65b5c285b608ea3d35db38bc914269aabfd2656d49933ea0cacf30b8986bc7843253a7a7631ed46ad347af42c1dd32358c7de8439e18ace1de664abe0b0cd63a8cf3cfb85e29071da96957e11fcac91c96df32c5883ff6a4fb6cef03a541b7f3f495dcd3482524723a361a162dfc72e7f0256f5ad152882e3b6e90cf037896c30096db08ae00256e2dd239e4ab7b166cd7e40f36efb3da0a090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d63a66f1668c8fda4936252c825e58e85478c7cda1c2a9a2596097d5e08162fbaa3a66f1668c8fda4936252c825e58e85478c7cda1c2a9a2596097d5e08162fbaad6a6ddc5735eab00867f68acabaf312836074a1d9e8afdce0e5523430594c87d22e98aef33fd2a8dc78cb2dbe61c19898dab6df99fb2ec9364b2dc1ce32f49d99a93492ee60b6c256b7798b7dc5053996c0bff9e43c3b24f9122e5497f50ee82f42c88fa0aceb0b401fe17e78493e81bd74d39d27b660e81d22529cc2a30878e7b15ebdb1c3fd29075924f777186ccdcca216f3a149233a6b3564c522d2e419147355a2e4634cbd2fc5bca2900bfee543f1bc922b13f6de9490b446cb392b5728fbeb85384510596c3b8e7e343146a53bac27fbe2480cfb70274c88cb751cb71d05558d6de6a33d1d5fd928321c7492366bbda2d5f1cac93bd82096f95271f83e378a7e0f0ac9b6933fc7ed14052c12aa843b1499be325a8a7a76961e54383ee13619702089b7d11aa2b1b241fc31f648f201c5a0c2493938c6ec4960da03b0ca64fe4c79062abc3b9dddda3a0e4fe717bb00ab6c53e2715ee26aa61d7a2200227c1e837419db4f7234407cd1ebe4496f6bf9e49907eaeb72fbe7fcfd75df1476662c9ef7a66c5c6450b55e8b161225cc458b6f249a2bdd92dd090389bbce42cc0f4b973b34bb29336eb7d88234238887d514b166f491b41395aa6a724004df9f62a2017b4388bcd4890e4be20c5e9e87bf1145ff770dcbfb9cac08d54279f5efb517940365fadd8660cb293792111bae0d41c14d5f8487121893d9a3a70706e49d2f86e5b1c60112fb966384ae340635b39cc56868f7f1e43e6ee955059bc585644c2efcc232606ffaab6e83982053ee159dd6e3acecafacecc6796b38cc1aa8fa01b5c16525de2472d2ad79da6a96e23df95efb39df93db8951aff3ab1832eb3da0a090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6ddefece2261de1f34bc47e5cfa7ef183a167ce9a0b985dd53d1ff9cdaccc7cddddefece2261de1f34bc47e5cfa7ef183a167ce9a0b985dd53d1ff9cdaccc7cdd0698d594f43dd3e9344db1e7302b19b149c58b3b43e25c901a39d0fdfb826fcb0698d594f43dd3e9344db1e7302b19b149c58b3b43e25c901a39d0fdfb826fcbcaf5335719d971d35ff44d620dc0ac7b397db06862cba216a39781e307d7d1cacaf5335719d971d35ff44d620dc0ac7b397db06862cba216a39781e307d7d1ca0de102abb00a82e86cdfdd199b1808b5da8f2f3cab286264fb72a51c93245e86d31de4cefab682b1eee206db804233115ad7eae9e9ef5104b35871d28faeb8e3b3da0a090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d63b7ee018bc149daad1c79bbba871d7d90fc50b139235cfc03639e9be849fd7ec3b7ee018bc149daad1c79bbba871d7d90fc50b139235cfc03639e9be849fd7ec1f92a1eedb176fad1b55c5eecb29e26a793c01814a71e66572ef115d306018f51f92a1eedb176fad1b55c5eecb29e26a793c01814a71e66572ef115d306018f5d73c20e6a3aeff95f3060614a79a70b33793fb3633a3c2b28a5cbc689c005adbd73c20e6a3aeff95f3060614a79a70b33793fb3633a3c2b28a5cbc689c005adb850d8f55f82fb38ce288c4a4c31ecba633090349a7f7395fa3c6785e681eb6cd850d8f55f82fb38ce288c4a4c31ecba633090349a7f7395fa3c6785e681eb6cd73e553847bdc3886a459c3d88e4fdfe89b5f07dfb230932f2cdd0dda4a1db79573e553847bdc3886a459c3d88e4fdfe89b5f07dfb230932f2cdd0dda4a1db795bc438cd530dee4d54cfd984dee573325ddfbb84ce8ba5f55a6d44feef73fbfd6bc438cd530dee4d54cfd984dee573325ddfbb84ce8ba5f55a6d44feef73fbfd67987f47952e353c28e65d8300d9d373f19fe099305b1c0265d1166d5b30d86027987f47952e353c28e65d8300d9d373f19fe099305b1c0265d1166d5b30d86026ac2f4822feee68f284520c2e2001335c7e775c4160c16118fc6243a618690c96ac2f4822feee68f284520c2e2001335c7e775c4160c16118fc6243a618690c93f7f0e77e89ac9a472c767b6643491a5edf4c3b1e74dd8532184e8b4501d9ee03f7f0e77e89ac9a472c767b6643491a5edf4c3b1e74dd8532184e8b4501d9ee0a1edd48a322008f38a3ce126386864d34259641585e433f56da48bf62c299e36a1edd48a322008f38a3ce126386864d34259641585e433f56da48bf62c299e36b3ae9277088d662d52c0afbff0e2fa15185839330ed9428ffa4d08fff4465910b3ae9277088d662d52c0afbff0e2fa15185839330ed9428ffa4d08fff446591046181ca2e501e874e214306b4752f1aa4323a54c4888dbd0d6bff3263446eaa4ecb3e4a70f83ae0caf9813148ef5de06fa235593ed5e11607de9547ed9f13c6c5340d4d19cce2c9a69090b21f44247eaf198a07a2d06895f372472c77c2bd65db3da0a090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6f4c2b0e5b0250a222aff521e66319f997dd1aca7636f9e42a049914281f11899f4c2b0e5b0250a222aff521e66319f997dd1aca7636f9e42a049914281f11899428d6cf5a217418657abf89b4165169f8f8f4809021f2ec0bde5017a7b06b161428d6cf5a217418657abf89b4165169f8f8f4809021f2ec0bde5017a7b06b16183dbc3441dde86956ab842cffe594f03215a87890068b0083baaf34e00d3ac6c83dbc3441dde86956ab842cffe594f03215a87890068b0083baaf34e00d3ac6cf8cc942c39b2f87f0d89a99eb75648fc0895925bdef3146c22e81e901f677ec2f8cc942c39b2f87f0d89a99eb75648fc0895925bdef3146c22e81e901f677ec2ef35c2ad9e5d4d5917c9f088dee13783c5267f4a1e4879cdb86cf17388c6925fef35c2ad9e5d4d5917c9f088dee13783c5267f4a1e4879cdb86cf17388c6925f69abf8992472e3dea99283cdf6503c89db0848d69b82625eaddba0b27e2740e269abf8992472e3dea99283cdf6503c89db0848d69b82625eaddba0b27e2740e269530d5883239419242f593280f8f92e71c4cd67ee306682274edcde0f461eac69530d5883239419242f593280f8f92e71c4cd67ee306682274edcde0f461eacf7f7d9ddb6f6ecffde51563634a47b271f70bb80033dcb60fad4486f5bc0e55ff7f7d9ddb6f6ecffde51563634a47b271f70bb80033dcb60fad4486f5bc0e55f581ada03bf7cdd5c771e6e951583d3741a757f5fb926e32946d3fea9ca0816a2581ada03bf7cdd5c771e6e951583d3741a757f5fb926e32946d3fea9ca0816a226524703a76e30a832baff9fd5942f7d195d5540e9d8767cbb3832199822530226524703a76e30a832baff9fd5942f7d195d5540e9d8767cbb38321998225302455a456923000bbcc05a8efd6378cb9b0d21624ddabcf7306a1b9df5519eb23b455a456923000bbcc05a8efd6378cb9b0d21624ddabcf7306a1b9df5519eb23b741ebe32820e83cf2c9e84faceaf0504d01fcb5f649b098a53aea176530e8e5d741ebe32820e83cf2c9e84faceaf0504d01fcb5f649b098a53aea176530e8e5d5ecb61aa3bc4c5658ec9e3ecd0fc53e0c7acb54f50786b8bf87c7b7d6cd382e469a4d8ec430b4f3696b3e8e138ca4c01f6b61a77e1a2ab022993ca02cdf92f8d2f55a858f61ebc9e8f9364f57ad6e71dbbebe8079715c71c90f34d8b2515a0d3c25d8d0823f86d97540aa64632438e77a79ac63535bd73c0230cd4b853c4fffcd8c089f3ba9cc820ac8e3d0ebeb7d61713d7f0281a0b77749abefc6edfef0c86ea9f0e8e26b1ff6b5c9b56939cd3809229eb88227aee7493c6e820df87fe8739bf1bceaf2174d162fc99942ff5bb3ff8b960a1b60b88f61f5f6e3afe3fc80ad02e7b0e2729bec263d427b2a7bbfedb08d5379088842c277a92b39a5bf254d3c20cf4ece93e05f94870cc541387ed5f484a50cdacc7da37f6c6922ba3722d178af1824021a53bc34f634e73d4fdc2f077df1f3072040a07c0dd1ecfdcab6ff820cbe623fab81c8a2b87d60e8524b65fb6f02a80e9f34f5a27f600a2b2bbbbbc17900c9bf4d49ccea4eb0968f41c4a15a770b1a3b0075bc89b3c5433f991ec3ad02f4b2bb21e0d75192996e58c42c3b931426d098c2faea1ee1a8f350ebaa2aafb2f4b2bb21e0d75192996e58c42c3b931426d098c2faea1ee1a8f350ebaa2aafb9cb648065f598db7cafff2eda4a7a80f097788317bf0e14a072037c77732eea29cb648065f598db7cafff2eda4a7a80f097788317bf0e14a072037c77732eea20f88fb7b561f80f1b5eadf5e65ab91bf8273ead032eac6089e097a92e49bbda80f88fb7b561f80f1b5eadf5e65ab91bf8273ead032eac6089e097a92e49bbda8e074d8d27e439c23053333a543097bc69f1f66236dd1ebdfaffc7e5293683d87e074d8d27e439c23053333a543097bc69f1f66236dd1ebdfaffc7e5293683d8712ff817169514975b2db516db7a0794c478aeed117ed682facda42eb1b24d0f412ff817169514975b2db516db7a0794c478aeed117ed682facda42eb1b24d0f40d8eea2a66edd1b801d4607b8be7d0adb8c47f0146f307d47d51ef73b0c0d9864820ec91773dc72ceccf4363343ead017f2dd7b8d84db501dacc30d6e6fd1ae63ea34396d1dd0f10612e182d7ceef4ec7d3bb1238b03a655c236656a53894c0a6094178b83c9188219d6b81c85b307e3b11df988947144a32cf10eb95f2b806161a79692c0986aa568a9ff731d14e1009f7966f3d48a800e7d7c1951688fcc3fc5dba7593d277fc3af29d72a52186514a6b21a9e3f3e0549454d96d702d2aff0549a676cadac40dd9b12ac114cea020789eec58c790a7a8589270c24dca1b2b2469077cfdcf9b248ab090ae6ef341bb67a7da4b327023ae54d4bcaa85e5a0c37e1789b667ad8ab8861e710635a2217cda616e852b1f213db55a6bf701f734bae2ab711225be8b1282c3027fea59c362ea83825bcd22681ae3491b4f97e509eb52ab711225be8b1282c3027fea59c362ea83825bcd22681ae3491b4f97e509eb556ba6b2b74ab494d72bdaf457de2123fe9e678e147c7a72dd7c6c5491cf663a156ba6b2b74ab494d72bdaf457de2123fe9e678e147c7a72dd7c6c5491cf663a17687f27243f3f65e4ee6374ba9ae45bfad5d037b540d30f41f9639e9929be8ad7687f27243f3f65e4ee6374ba9ae45bfad5d037b540d30f41f9639e9929be8ada583d1dd6a4e77a2d16a29925a2ec287be1505f05c743ba4f48d35fe19959c62a583d1dd6a4e77a2d16a29925a2ec287be1505f05c743ba4f48d35fe19959c6262bbb987d9e7ad692536ec29d3d60c850633f40f1fd6647be43330bfaa5c996662bbb987d9e7ad692536ec29d3d60c850633f40f1fd6647be43330bfaa5c996659f47376d3338e3e95b8325be07eed2c47ca0ee62e08910278469571834b29a859f47376d3338e3e95b8325be07eed2c47ca0ee62e08910278469571834b29a8d05c4e74615fe8bfb751be1d8c5acb4dad6231dcda479f6e9b1e800b0d616064d05c4e74615fe8bfb751be1d8c5acb4dad6231dcda479f6e9b1e800b0d616064c066168082e6c505a708f91b007d51a6c087add2a0998ac2115ac2bd75460a8f6c162bd725086ce94920477a6682d87179bfc9df87e78027f6435c14827791baa8f2fa4e60d49a4bace825b7ca54c97c6f0df1e81986340ec97ad2c8b2e99da9d42087f50e605d4a6765dddcf1df1b097829277b36859646067b86ec51f5c1a3e1038d863c40fd9b6e42d43b415dc59db07c7edac59cce760781cf7d5ee1172b4b70781279366318fdb71a5a8aba2d69791abee66a43ab7a301e5adbc534d9e941bfcdd95fc4d43b62e55b435e7aed4d8b490d9f1a329babf01639cb1ad77258f2909e2daab040f4867f9d63d3a5390bf20dbe06165563efde6f66c541111a653f910f415f9107f1493da869834d6ed13b384bf3e7026b2ba312065db19e451ae9994bdc489c133a0674c39ab7ceb0f32fd72020a79477428c523deeb3314438a7a89af2f21d3bb8aa10c2b06e32a21576b2e4cced6a609546afc1be2a343d3ca7a89af2f21d3bb8aa10c2b06e32a21576b2e4cced6a609546afc1be2a343d3cac3811b809f4b301621e922d22ce3a0cf8222d36ea6834143df4309aec08d130ac3811b809f4b301621e922d22ce3a0cf8222d36ea6834143df4309aec08d13011ad1759e5e3003ca2403a12bbb1718ef82ce06f59bda1dd74c50beec5a1e26111ad1759e5e3003ca2403a12bbb1718ef82ce06f59bda1dd74c50beec5a1e261513c185436cdde7b2c2ca7e38b239eebce330f7e48a38e16955d7a5c87d0f046513c185436cdde7b2c2ca7e38b239eebce330f7e48a38e16955d7a5c87d0f0468be5aa3f97043140eeb40876887411dc980a9a17e5baa72dfa73f8ee84c819fc8be5aa3f97043140eeb40876887411dc980a9a17e5baa72dfa73f8ee84c819fc5598c822a9db6fec77f2aa60d967ff23166faa3b20704ccd42d4287898907e9c34ecc5c40ae56617637e07ee82cf27111868d5ec9ac6e8d728650a20d7217a4e042be53ee6d740eba76fbe9e98848af3d3d7f6a5dc0502360913cd7bce554d9968b0982cf6375b591eadf0b069d9f9698373c1cc08425f5ced172c07c08a7ee7b66319181fa0e08535afb94816a012534d7dcebd2e3e9ff010161cc1d0c22820da4bb768ea1d637ef138dc0d1024f907347607dbf0d08b39156f47c3b321b3ebda4bb768ea1d637ef138dc0d1024f907347607dbf0d08b39156f47c3b321b3eb774ccae5e2527c69543076a62d3b7038a03b5f10eacd29cbe6c65eb036e497d5774ccae5e2527c69543076a62d3b7038a03b5f10eacd29cbe6c65eb036e497d5019fa67f5264b8f6211f6590573b301f0ca6f330f9d46bf9173158b6a6041218019fa67f5264b8f6211f6590573b301f0ca6f330f9d46bf9173158b6a6041218b99d0f48a60364e2f4680a1b8b0d597761c3d16d848b59e250d0b6bfb4e7a5cf70c6d69406a938cd527decc4c7d328307a425bd8a780d5c283a3ac1afe13f237e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550df75773d33892601ba04d9ad293e2212b792d59d6fa38615d4472f270c769ed0f3644f1b47ede28958b75ab72aefe8393e6eb87c2af96aab133728bfae326ed9c3ae7b8f2811d5be3f00019b2e69dcb668dde89bd6f6d53367551f48db3b2fa9c3ae7b8f2811d5be3f00019b2e69dcb668dde89bd6f6d53367551f48db3b2fafe1384a6fc38e94e93cc4998066decf535aa1afa7f1be01d0c7319bde54b52abfe1384a6fc38e94e93cc4998066decf535aa1afa7f1be01d0c7319bde54b52ab91cd061201e8f2e395e428bcf6a8457b1ea22b4626ac0673b463dbeec68e6cee91cd061201e8f2e395e428bcf6a8457b1ea22b4626ac0673b463dbeec68e6cee3c7c64a7084c5483629ee424232f2802b779f5ace68651a87ee860347dbe378f3c7c64a7084c5483629ee424232f2802b779f5ace68651a87ee860347dbe378f9b960a6aff8d4cbea4a193aa7a35590a9e17c7abbe360f6f47fce0bcafd7232e9b960a6aff8d4cbea4a193aa7a35590a9e17c7abbe360f6f47fce0bcafd7232ebbd1595d674e0043e745d599c21f98f3dbdd38e455ece60f3a964ce5f875b2cdbbd1595d674e0043e745d599c21f98f3dbdd38e455ece60f3a964ce5f875b2cd6d2ffcc80025d82852159abed3419dc5775372680bb2d9c5ec77d2f200593c9e6d2ffcc80025d82852159abed3419dc5775372680bb2d9c5ec77d2f200593c9efbdd28083bdfdd9b7e0b2a8e3afdb7a72a092ebf43361a1de5b76f987d2812d9fbdd28083bdfdd9b7e0b2a8e3afdb7a72a092ebf43361a1de5b76f987d2812d915b4ba105137b89dcefb36c53d18ec3ba0dc92b3523794c9359309727cd45854e87bf3003d1d952415c72ead9c38468f4fa98aca7531a27d6f140d46bf768a72ac511c7d9885bdc38db35a2dd3777af1d00c2b653be70d2cde0f6687258145c2ce6f06c4d81526e2c3eab378f3c739cdd1e1c69e60531791cf0f1e9d93160d0d699d9da6c8a7864cdadde4f14f5bcd996b85310edf99c03486ce27a609e47fd4e3c896ef16d9f6664b10b48497b5b08dbe2f621390dca70db6a80ab006ff503d7c5a2c8c6b27201ff0ff462bcd9bf5820912570665ef1998d33a1f29935990304601a7b95e2757b672e736720deada09ba2f0a82c76a9832729bf90c54c8090c742a857005c7fa4b6ef4d5d4a1fd32726732140e9b086e95ba43a53b749649a07455c7bb95d482cf771e917d3aca7e903460ac69cac2e7bc93accf1cdd1b96763e0c7c091a948b82533ba98fd7cbb40432d6f1a9acbf85f5922d2f99a93ae6bbaac73b3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe602c4c7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-cryptography-41.0.3-150400.16.15.1.src.rpmpython311-cryptographypython311-cryptography(aarch-64)@@@@@@@@@@@@@@@@@@@@@     ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.18)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.28)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libdl.so.2()(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_3.3)(64bit)libgcc_s.so.1(GCC_4.2.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libssl.so.1.1(OPENSSL_1_1_1)(64bit)python(abi)python311python311-cffirpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.111.15.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e؈ee@d.@dD@dD@ddC@dBzd:d7d!@d 3d'@c@c@c@c@cc@c5b֜bbb?@b @ap@aaexaZ`@`@_<_м@__]@_@_q@_d@_ @^@]W\ \t@\w@\J@\-@\ @\ @[{[O+[ZZ@Z`_ for complete details. * Added two new OpenSSL functions to the bindings to support an upcoming ``pyOpenSSL`` release. * When parsing :class:`~cryptography.x509.CertificateRevocationList` and :class:`~cryptography.x509.CertificateSigningRequest` values, it is now enforced that the ``version`` value in the input must be valid according to the rules of :rfc:`2986` and :rfc:`5280`. * Using MD5 or SHA1 in :class:`~cryptography.x509.CertificateBuilder` and other X.509 builders is deprecated and support will be removed in the next version. * Added additional APIs to :class:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp`, including :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature_hash_algorithm`, :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature_algorithm`, :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature`, and :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.extension_bytes`. * Added :attr:`~cryptography.x509.Certificate.tbs_precertificate_bytes`, allowing users to access the to-be-signed pre-certificate data needed for signed certificate timestamp verification. * :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFHMAC` and :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFCMAC` now support :attr:`~cryptography.hazmat.primitives.kdf.kbkdf.CounterLocation.MiddleFixed` counter location. * Fixed :rfc:`4514` name parsing to reverse the order of the RDNs according to the section 2.1 of the RFC, affecting method :meth:`~cryptography.x509.Name.from_rfc4514_string`. * It is now possible to customize some aspects of encryption when serializing private keys, using :meth:`~cryptography.hazmat.primitives.serialization.PrivateFormat.encryption_builder`. * Removed several legacy symbols from our OpenSSL bindings. Users of pyOpenSSL versions older than 22.0 will need to upgrade. * Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES128` and :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES256` classes. These classes do not replace :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES` (which allows all AES key lengths), but are intended for applications where developers want to be explicit about key length.- update to 37.0.4: * updated wheels to b ecompiled against openssl 3.0.5- Remove Python 3.6 deprecation warning on openSUSE Leap. * Added remove_python_3_6_deprecation_warning.patch- update to 37.0.2: * Fixed an issue where parsing an encrypted private key with the public loader functions would hang waiting for console input on OpenSSL 3.0.x rather than raising an error. * Restored some legacy symbols for older ``pyOpenSSL`` users. These will be removed again in the future, so ``pyOpenSSL`` users should still upgrade to the latest version of that package when they upgrade ``cryptography``. * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.2. * **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL 2.9.x and 3.0.x. The new minimum LibreSSL version is 3.1+. * **BACKWARDS INCOMPATIBLE:** Removed ``signer`` and ``verifier`` methods from the public key and private key classes. These methods were originally deprecated in version 2.0, but had an extended deprecation timeline due to usage. Any remaining users should transition to ``sign`` and ``verify``. * Deprecated OpenSSL 1.1.0 support. OpenSSL 1.1.0 is no longer supported by the OpenSSL project. The next release of ``cryptography`` will be the last to support compiling with OpenSSL 1.1.0. * Deprecated Python 3.6 support. Python 3.6 is no longer supported by the Python core team. Support for Python 3.6 will be removed in a future ``cryptography`` release. * Deprecated the current minimum supported Rust version (MSRV) of 1.41.0. In the next release we will raise MSRV to 1.48.0. Users with the latest ``pip`` will typically get a wheel and not need Rust installed, but check :doc:`/installation` for documentation on installing a newer ``rustc`` if required. * Deprecated :class:`~cryptography.hazmat.primitives.ciphers.algorithms.CAST5`, :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED`, :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA`, and :class:`~cryptography.hazmat.primitives.ciphers.algorithms.Blowfish` because they are legacy algorithms with extremely low usage. These will be removed in a future version of ``cryptography``. * Added limited support for distinguished names containing a bit string. * We now ship ``universal2`` wheels on macOS, which contain both ``arm64`` and ``x86_64`` architectures. Users on macOS should upgrade to the latest ``pip`` to ensure they can use this wheel, although we will continue to ship ``x86_64`` specific wheels for now to ease the transition. * This will be the final release for which we ship ``manylinux2010`` wheels. Going forward the minimum supported ``manylinux`` ABI for our wheels will be ``manylinux2014``. The vast majority of users will continue to receive ``manylinux`` wheels provided they have an up to date ``pip``. For PyPy wheels this release already requires ``manylinux2014`` for compatibility with binaries distributed by upstream. * Added support for multiple :class:`~cryptography.x509.ocsp.OCSPSingleResponse` in a :class:`~cryptography.x509.ocsp.OCSPResponse`. * Restored support for signing certificates and other structures in :doc:`/x509/index` with SHA3 hash algorithms. * :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` is disabled in FIPS mode. * Added support for serialization of PKCS#12 CA friendly names/aliases in :func:`~cryptography.hazmat.primitives.serialization.pkcs12.serialize_key_and_certificates` * Added support for 12-15 byte (96 to 120 bit) nonces to :class:`~cryptography.hazmat.primitives.ciphers.aead.AESOCB3`. This class previously supported only 12 byte (96 bit). * Added support for :class:`~cryptography.hazmat.primitives.ciphers.aead.AESSIV` when using OpenSSL 3.0.0+. * Added support for serializing PKCS7 structures from a list of certificates with :class:`~cryptography.hazmat.primitives.serialization.pkcs7.serialize_certificates`. * Added support for parsing :rfc:`4514` strings with :meth:`~cryptography.x509.Name.from_rfc4514_string`. * Added :attr:`~cryptography.hazmat.primitives.asymmetric.padding.PSS.AUTO` to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. This can be used to verify a signature where the salt length is not already known. * Added :attr:`~cryptography.hazmat.primitives.asymmetric.padding.PSS.DIGEST_LENGTH` to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. This constant will set the salt length to the same length as the ``PSS`` hash algorithm. * Added support for loading RSA-PSS key types with :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key` and :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`. This functionality is limited to OpenSSL 1.1.1e+ and loads the key as a normal RSA private key, discarding the PSS constraint information.- update to 36.0.2: * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1n.- split tests in a multibuild variant to optimize rebuild time a bit- update to 36.0.1: * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1m.- update to 36.0.0: * FINAL DEPRECATION Support for verifier and signer on our asymmetric key classes was deprecated in version 2.1. These functions had an extended deprecation due to usage, however the next version of cryptography will drop support. Users should migrate to sign and verify. * The entire X.509 layer is now written in Rust. This allows alternate asymmetric key implementations that can support cloud key management services or hardware security modules provided they implement the necessary interface (for example: EllipticCurvePrivateKey). * Deprecated the backend argument for all functions. * Added support for AESOCB3. * Added support for iterating over arbitrary request attributes. * Deprecated the get_attribute_for_oid method on CertificateSigningRequest in favor of get_attribute_for_oid() on the new Attributes object. * Fixed handling of PEM files to allow loading when certificate and key are in the same file. * Fixed parsing of CertificatePolicies extensions containing legacy BMPString values in their explicitText. * Allow parsing of negative serial numbers in certificates. Negative serial numbers are prohibited by RFC 5280 so a deprecation warning will be raised whenever they are encountered. A future version of cryptography will drop support for parsing them. * Added support for parsing PKCS12 files with friendly names for all certificates with load_pkcs12(), which will return an object of type PKCS12KeyAndCertificates. * rfc4514_string() and related methods now have an optional attr_name_overrides parameter to supply custom OID to name mappings, which can be used to match vendor-specific extensions. * BACKWARDS INCOMPATIBLE: Reverted the nonstandard formatting of email address fields as E in rfc4514_string() methods from version 35.0. * The previous behavior can be restored with: name.rfc4514_string({NameOID.EMAIL_ADDRESS: "E"}) * Allow X25519PublicKey and X448PublicKey to be used as public keys when parsing certificates or creating them with CertificateBuilder. These key types must be signed with a different signing algorithm as X25519 and X448 do not support signing. * Extension values can now be serialized to a DER byte string by calling public_bytes(). * Added experimental support for compiling against BoringSSL. As BoringSSL does not commit to a stable API, cryptography tests against the latest commit only. Please note that several features are not available when building against BoringSSL. * Parsing CertificateSigningRequest from DER and PEM now, for a limited time period, allows the Extension critical field to be incorrectly encoded. See the issue for complete details. This will be reverted in a future cryptography release. * When OCSPNonce are parsed and generated their value is now correctly wrapped in an ASN.1 OCTET STRING. This conforms to RFC 6960 but conflicts with the original behavior specified in RFC 2560. For a temporary period for backwards compatibility, we will also parse values that are encoded as specified in RFC 2560 but this behavior will be removed in a future release. * Changed the version scheme. This will result in us incrementing the major version more frequently, but does not change our existing backwards compatibility policy. * BACKWARDS INCOMPATIBLE: The X.509 PEM parsers now require that the PEM string passed have PEM delimiters of the correct type. For example, parsing a private key PEM concatenated with a certificate PEM will no longer be accepted by the PEM certificate parser. * BACKWARDS INCOMPATIBLE: The X.509 certificate parser no longer allows negative serial numbers. RFC 5280 has always prohibited these. * BACKWARDS INCOMPATIBLE: Additional forms of invalid ASN.1 found during X.509 parsing will raise an error on initial parse rather than when the malformed field is accessed. * Rust is now required for building cryptography, the CRYPTOGRAPHY_DONT_BUILD_RUST environment variable is no longer respected. * Parsers for X.509 no longer use OpenSSL and have been rewritten in Rust. This should be backwards compatible (modulo the items listed above) and improve both security and performance. * Added support for OpenSSL 3.0.0 as a compilation target. * Added support for SM3 and SM4, when using OpenSSL 1.1.1. These algorithms are provided for compatibility in regions where they may be required, and are not generally recommended. * We now ship manylinux_2_24 and musllinux_1_1 wheels, in addition to our manylinux2010 and manylinux2014 wheels. Users on distributions like Alpine Linux should ensure they upgrade to the latest pip to correctly receive wheels. * Added rfc4514_attribute_name attribute to x509.NameAttribute. - drop disable-uneven-sizes-tests.patch (upstream) - drop disable-RustExtension.patch: building rust extension now- Add disable-RustExtension.patch in order to avoid a build requirement setuptools_rust - Next version (35.0) needs a full Rust toolchain. - Clean runtime, build and test requirements - Disable python2 build: Not supported anymore- update to 3.4.8 - keep new rust support disabled for now to avoid new dependencies- Remove unnecessary %ifpython3 construct- update to 3.3.2 (bsc#1182066, CVE-2020-36242, bsc#1198331): * SECURITY ISSUE: Fixed a bug where certain sequences of update() calls when symmetrically encrypting very large payloads (>2GB) could result in an integer overflow, leading to buffer overflows. CVE-2020-36242 - drops CVE-2020-36242-buffer-overflow.patch on older dists- update to 3.3.1: * Re-added a legacy symbol causing problems for older ``pyOpenSSL`` use- update to 3.3.0 - BACKWARDS INCOMPATIBLE: Support for Python 3.5 has been removed due to low usage and maintenance burden. - BACKWARDS INCOMPATIBLE: The GCM and AESGCM now require 64-bit to 1024-bit (8 byte to 128 byte) initialization vectors. This change is to conform with an upcoming OpenSSL release that will no longer support sizes outside this window. - BACKWARDS INCOMPATIBLE: When deserializing asymmetric keys we now raise ValueError rather than UnsupportedAlgorithm when an unsupported cipher is used. This change is to conform with an upcoming OpenSSL release that will no longer distinguish between error types. - BACKWARDS INCOMPATIBLE: We no longer allow loading of finite field Diffie-Hellman parameters of less than 512 bits in length. This change is to conform with an upcoming OpenSSL release that no longer supports smaller sizes. These keys were already wildly insecure and should not have been used in any application outside of testing. - Updated Windows, macOS, and manylinux wheels to be compiled with OpenSSL 1.1.1i. - Python 2 support is deprecated in cryptography. This is the last release that will support Python 2. - Added the recover_data_from_signature() function to RSAPublicKey for recovering the signed data from an RSA signature.- Remove unnecessary dependency virtualenv.- update to 3.2.1: Disable blinding on RSA public keys to address an error with some versions of OpenSSL.- update to 3.2 (bsc#1178168, CVE-2020-25659): * CVE-2020-25659: Attempted to make RSA PKCS#1v1.5 decryption more constant time, to protect against Bleichenbacher vulnerabilities. Due to limitations imposed by our API, we cannot completely mitigate this vulnerability. * Support for OpenSSL 1.0.2 has been removed. * Added basic support for PKCS7 signing (including SMIME) via PKCS7SignatureBuilder. - drops 5507-mitigate-Bleichenbacher-attacks.patch on older dists- update to 3.1.1: * wheels compiled with OpenSSL 1.1.1h.- update to 3.1: * **BACKWARDS INCOMPATIBLE:** Removed support for ``idna`` based :term:`U-label` parsing in various X.509 classes. This support was originally deprecated in version 2.1 and moved to an extra in 2.5. * Deprecated OpenSSL 1.0.2 support. OpenSSL 1.0.2 is no longer supported by the OpenSSL project. The next version of ``cryptography`` will drop support for it. * Deprecated support for Python 3.5. This version sees very little use and will be removed in the next release. * ``backend`` arguments to functions are no longer required and the default backend will automatically be selected if no ``backend`` is provided. * Added initial support for parsing certificates from PKCS7 files with :func:`~cryptography.hazmat.primitives.serialization.pkcs7.load_pem_pkcs7_certificates` and :func:`~cryptography.hazmat.primitives.serialization.pkcs7.load_der_pkcs7_certificates` . * Calling ``update`` or ``update_into`` on :class:`~cryptography.hazmat.primitives.ciphers.CipherContext` with ``data`` longer than 2\ :sup:`31` bytes no longer raises an ``OverflowError``. This also resolves the same issue in :doc:`/fernet`.- update to 3.0 - refreshed disable-uneven-sizes-tests.patch and skip_openssl_memleak_test.patch * Removed support for passing an Extension instance to from_issuer_subject_key_identifier(), as per our deprecation policy. * Support for LibreSSL 2.7.x, 2.8.x, and 2.9.0 has been removed * Dropped support for macOS 10.9, macOS users must upgrade to 10.10 or newer. * RSA generate_private_key() no longer accepts public_exponent values except 65537 and 3 (the latter for legacy purposes). * X.509 certificate parsing now enforces that the version field contains a valid value, rather than deferring this check until version is accessed. * Deprecated support for Python 2 * Added support for OpenSSH serialization format for ec, ed25519, rsa and dsa private keys: load_ssh_private_key() for loading and OpenSSH for writing. * Added support for OpenSSH certificates to load_ssh_public_key(). * Added encrypt_at_time() and decrypt_at_time() to Fernet. * Added support for the SubjectInformationAccess X.509 extension. * Added support for parsing SignedCertificateTimestamps in OCSP responses. * Added support for parsing attributes in certificate signing requests via get_attribute_for_oid(). * Added support for encoding attributes in certificate signing requests via add_attribute(). * On OpenSSL 1.1.1d and higher cryptography now uses OpenSSL’s built-in CSPRNG instead of its own OS random engine because these versions of OpenSSL properly reseed on fork. * Added initial support for creating PKCS12 files with serialize_key_and_certificates().- update to 2.9.2 * 2.9.2 - 2020-04-22 - Updated the macOS wheel to fix an issue where it would not run on macOS versions older than 10.15. * 2.9.1 - 2020-04-21 - Updated Windows, macOS, and manylinux wheels to be compiled with OpenSSL 1.1.1g. * 2.9 - 2020-04-02 - BACKWARDS INCOMPATIBLE: Support for Python 3.4 has been removed due to low usage and maintenance burden. - BACKWARDS INCOMPATIBLE: Support for OpenSSL 1.0.1 has been removed. Users on older version of OpenSSL will need to upgrade. - BACKWARDS INCOMPATIBLE: Support for LibreSSL 2.6.x has been removed. - Removed support for calling public_bytes() with no arguments, as per our deprecation policy. You must now pass encoding and format. - BACKWARDS INCOMPATIBLE: Reversed the order in which rfc4514_string() returns the RDNs as required by RFC 4514. - Updated Windows, macOS, and manylinux wheels to be compiled with OpenSSL 1.1.1f. - Added support for parsing single_extensions in an OCSP response. - NameAttribute values can now be empty strings.- update to 2.8 * Added support for Python 3.8. * Added class methods Poly1305.generate_tag and Poly1305.verify_tag for Poly1305 sign and verify operations. * Deprecated support for OpenSSL 1.0.1. Support will be removed in cryptography 2.9. * We now ship manylinux2010 wheels in addition to our manylinux1 wheels. * Added support for ed25519 and ed448 keys in the CertificateBuilder, CertificateSigningRequestBuilder, CertificateRevocationListBuilder and OCSPResponseBuilder. * cryptography no longer depends on asn1crypto. * FreshestCRL is now allowed as a CertificateRevocationList extension.- update to 2.7 * BACKWARDS INCOMPATIBLE: Removed the cryptography.hazmat.primitives.mac.MACContext interface. The CMAC and HMAC APIs have not changed, but they are no longer registered as MACContext instances. * Removed support for running our tests with setup.py test. * Add support for :class:`~cryptography.hazmat.primitives.poly1305.Poly1305` when using OpenSSL 1.1.1 or newer. * Support serialization with Encoding.OpenSSH and PublicFormat.OpenSSH in :meth:`Ed25519PublicKey.public_bytes ` . * Correctly allow passing a SubjectKeyIdentifier to :meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier` and deprecate passing an Extension object.- Simplify the test execution to be more understandable- update to 2.6.1: * BACKWARDS INCOMPATIBLE: Removedcryptography.hazmat.primitives.asymmetric.utils.encode_rfc6979_signature andcryptography.hazmat.primitives.asymmetric.utils.decode_rfc6979_signature, which had been deprecated for nearly 4 years. Use encode_dss_signature() and decode_dss_signature()instead. * BACKWARDS INCOMPATIBLE: Removed cryptography.x509.Certificate.serial, which had been deprecated for nearly 3 years. Use serial_number instead. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1b. * Added support for Ed448 signing when using OpenSSL 1.1.1b or newer. * Added support for Ed25519 signing when using OpenSSL 1.1.1b or newer. * load_ssh_public_key() can now load ed25519 public keys. * Add support for easily mapping an object identifier to its elliptic curve class viaget_curve_for_oid(). * Add support for OpenSSL when compiled with the no-engine (OPENSSL_NO_ENGINE) flag.- Dependency on python-idna changed to "Recommends" aligned with change in upstream source (see below) - update to 2.5: * BACKWARDS INCOMPATIBLE: U-label strings were deprecated in version 2.1, but this version removes the default idna dependency as well. If you still need this deprecated path please install cryptography with the idna extra: pip install cryptography[idna]. * BACKWARDS INCOMPATIBLE: The minimum supported PyPy version is now 5.4. * Numerous classes and functions have been updated to allow bytes-like types for keying material and passwords, including symmetric algorithms, AEAD ciphers, KDFs, loading asymmetric keys, and one time password classes. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1a. * Added support for SHA512_224 and SHA512_256 when using OpenSSL 1.1.1. * Added support for SHA3_224, SHA3_256, SHA3_384, and SHA3_512 when using OpenSSL 1.1.1. * Added support for X448 key exchange when using OpenSSL 1.1.1. * Added support for SHAKE128 and SHAKE256 when using OpenSSL 1.1.1. * Added initial support for parsing PKCS12 files with load_key_and_certificates(). * Added support for IssuingDistributionPoint. * Added rfc4514_string() method to x509.Name, x509.RelativeDistinguishedName, and x509.NameAttribute to format the name or component an RFC 4514 Distinguished Name string. * Added from_encoded_point(), which immediately checks if the point is on the curve and supports compressed points. Deprecated the previous method from_encoded_point(). * Added signature_hash_algorithm to OCSPResponse. * Updated X25519 key exchange support to allow additional serialization methods. Calling public_bytes() with no arguments has been deprecated. * Added support for encoding compressed and uncompressed points via public_bytes(). Deprecated the previous method encode_point().- Update to version 2.4.2: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0j.- Update to 2.4.1: * Dropped support for LibreSSL 2.4.x. * Deprecated OpenSSL 1.0.1 support. OpenSSL 1.0.1 is no longer supported by the OpenSSL project. At this time there is no time table for dropping support, however we strongly encourage all users to upgrade or install cryptography from a wheel. * Added initial :doc:`OCSP ` support. * Added support for cryptography.x509.PrecertPoison.- Fix fdupes call- Update to 2.3.1: * updated tests for upstream wycheproof changes * many other tiny test tweaks- update to 2.3: * SECURITY ISSUE: finalize_with_tag() allowed tag truncation by default which can allow tag forgery in some cases. The method now enforces the min_tag_length provided to the GCM constructor. * Added support for Python 3.7. * Added extract_timestamp() to get the authenticated timestamp of a Fernet token. * Support for Python 2.7.x without hmac.compare_digest has been deprecated. We will require Python 2.7.7 or higher (or 2.7.6 on Ubuntu) in the next cryptography release. * Fixed multiple issues preventing cryptography from compiling against LibreSSL 2.7.x. * Added get_revoked_certificate_by_serial_number for quick serial number searches in CRLs. * The RelativeDistinguishedName class now preserves the order of attributes. Duplicate attributes now raise an error instead of silently discarding duplicates. * aes_key_unwrap() and aes_key_unwrap_with_padding() now raise InvalidUnwrap if the wrapped key is an invalid length, instead of ValueError.- update to 2.2.2 * fix build on some systems with openssl 1.1.0h- Cleanup with spec-cleaner - Use %setup to unpack all archives do not rely on tar calls- Update to upstream release 2.2.1: * Reverted a change to GeneralNames which prohibited having zero elements, due to breakages. * Fixed a bug in :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` that caused it to raise InvalidUnwrap when key length modulo 8 was zero. * BACKWARDS INCOMPATIBLE: Support for Python 2.6 has been dropped. * Resolved a bug in HKDF that incorrectly constrained output size. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP256R1`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP384R1`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP512R1` to support inter-operating with systems like German smart meters. * Added token rotation support to :doc:`Fernet ` with :meth:`~cryptography.fernet.MultiFernet.rotate`. * Fixed a memory leak in :func:`~cryptography.hazmat.primitives.asymmetric.ec.derive_private_key`. * Added support for AES key wrapping with padding via :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap_with_padding` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` . * Allow loading DSA keys with 224 bit q.- fix deps for hypothesis, pytest- Fix previous change and explicitly require python2 instead of python because python itself is also provided by python3. This fixes: ImportError: No module named _ssl when using python-cryptography in a python2 build environment- Fix the previous change to not pull in py2 on py3 enviroment- fix requires on python ssl once more after the last change- Add proper conditional for the python2, the ifpython works only for the requires/etc- add missing dependency on python ssl- update to version 2.1.4: * Added X509_up_ref for an upcoming pyOpenSSL release.- update to version 2.1.3: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0g.- update to version 2.1.2: * Corrected a bug with the manylinux1 wheels where OpenSSL’s stack was marked executable.- fix BuildRequires conditions for python3- update to 2.1.1- Fix cffi version requirement.- Disable memleak tests to fix build with OpenSSL 1.1 (bsc#1055478) * add skip_openssl_memleak_test.patch- update to 2.0.3- update to 2.0.2- update to 2.0- update to 1.9- add python-packaging to requirements explicitly instead of relying on setuptools to pull it in- Switch to singlespec approach- update to 1.8.1 - Adust Requires and BuildRequires- update to 1.7.2- update to 1.7.1 which contains regression fix for 1.7- update to 1.7 * support for OpenSSL 1.0.0 has been removed. * Added support for Diffie-Hellman key exchange * The OS random engine for OpenSSL has been rewritten- update to 1.6- update to 1.5.3 - python-cryptography-enable-gost.patch is obsolete- python-cryptography-enable-gost.patch: temporary patch to run tests against 1.0.2i, GOST cert extraction now works.- Introduce requirement setuptools >= 11.3 to follow egg-info/requires.txt content- fix download urls- update to upstream release 1.3.4 * Added new OpenSSL functions to the bindings to support an upcoming ``pyOpenSSL`` release.- correct source urls- update to upstream release 1.3.2 * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2h. * Fixed an issue preventing ``cryptography`` from compiling against LibreSSL 2.3.x.- removed obsolete cryptography-new-bio-new-type.patch - update to upstream release 1.3.1 * Fixed a bug that caused an AttributeError when using mock to patch some cryptography modules. * Added support for padding ANSI X.923 with ANSIX923. * Deprecated support for OpenSSL 0.9.8. Support will be removed in cryptography 1.4. * Added support for the PolicyConstraints X.509 extension including both parsing and generation using CertificateBuilder and CertificateSigningRequestBuilder. * Added is_signature_valid to CertificateSigningRequest. * Fixed an intermittent AssertionError when performing an RSA decryption on an invalid ciphertext, ValueError is now correctly raised in all cases. * Added from_issuer_subject_key_identifier().- fix license- Add pkg-config BuildRequires: in order for the last introduced condition to apply the patch to work, pkg-config has to be present.- cryptography-new-bio-new-type.patch: openssl 1.0.2g changed the type of BIO_new_mem_buf() (added a const).- update to upstream release 1.2.1 1.2.1 - 2016-01-08 * Reverts a change to an OpenSSL EVP_PKEY object that caused errors with pyOpenSSL. 1.2 - 2016-01-08 * BACKWARDS INCOMPATIBLE: RevokedCertificate extensions now uses extension classes rather than returning raw values inside the Extension value. The new classes are: o CertificateIssuer o CRLReason o InvalidityDate * Deprecated support for OpenSSL 0.9.8 and 1.0.0. At this time there is no time table for actually dropping support, however we strongly encourage all users to upgrade, as those versions no longer receive support from the OpenSSL project. * The Certificate class now has signature and tbs_certificate_bytes attributes. * The CertificateSigningRequest class now has signature and tbs_certrequest_bytes attributes. * The CertificateRevocationList class now has signature and tbs_certlist_bytes attributes. * NameConstraints are now supported in the CertificateBuilder and CertificateSigningRequestBuilder. * Support serialization of certificate revocation lists using the public_bytes() method of CertificateRevocationList. * Add support for parsing CertificateRevocationList extensions () in the OpenSSL backend. The following extensions are currently supported: o AuthorityInformationAccess o AuthorityKeyIdentifier o CRLNumber o IssuerAlternativeName * Added CertificateRevocationListBuilder and RevokedCertificateBuilder to allow creation of CRLs. * Unrecognized non-critical X.509 extensions are now parsed into an UnrecognizedExtension object.- update to 1.1.2: * Fixed a SIGBUS crash with the OS X wheels caused by redefinition of a method. * Fixed a runtime error ``undefined symbol EC_GFp_nistp224_method`` that occurred with some OpenSSL installations. * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2e.- update to 1.1.1: * Fixed several small bugs related to compiling the OpenSSL bindings with unusual OpenSSL configurations. * Resolved an issue where, depending on the method of installation and which Python interpreter they were using, users on El Capitan (OS X 10.11) may have seen an ``InternalError`` on import.- fix build for sle11 (disable testsuite as it depends on python-hypothesis which is not available for sle11 anymore)- update to 1.1: * Added support for Elliptic Curve Diffie-Hellman with :class:`~cryptography.hazmat.primitives.asymmetric.ec.ECDH`. * Added :class:`~cryptography.hazmat.primitives.kdf.x963kdf.X963KDF`. * Added support for parsing certificate revocation lists (CRLs) using :func:`~cryptography.x509.load_pem_x509_crl` and :func:`~cryptography.x509.load_der_x509_crl`. * Add support for AES key wrapping with :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap`. * Added a ``__hash__`` method to :class:`~cryptography.x509.Name`. * Add support for encoding and decoding elliptic curve points to a byte string form using :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.encode_point` and :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.from_encoded_point`. * Added :meth:`~cryptography.x509.Extensions.get_extension_for_class`. * :class:`~cryptography.x509.CertificatePolicies` are now supported in the :class:`~cryptography.x509.CertificateBuilder`. * ``countryName`` is now encoded as a ``PrintableString`` when creating subject and issuer distinguished names with the Certificate and CSR builder classes. * **SECURITY ISSUE**: The OpenSSL backend prior to 1.0.2 made extensive use of assertions to check response codes where our tests could not trigger a failure. However, when Python is run with ``-O`` these asserts are optimized away. If a user ran Python with this flag and got an invalid response code this could result in undefined behavior or worse. Accordingly, all response checks from the OpenSSL backend have been converted from ``assert`` to a true function call. Credit **Emilia Käsper (Google Security Team)** for the report. * We now ship OS X wheels that statically link OpenSSL by default. When installing a wheel on OS X 10.10+ (and using a Python compiled against the 10.10 SDK) users will no longer need to compile. See :doc:`/installation` for alternate installation methods if required. * Set the default string mask to UTF-8 in the OpenSSL backend to resolve character encoding issues with older versions of OpenSSL. * Several new OpenSSL bindings have been added to support a future pyOpenSSL release. * Raise an error during install on PyPy < 2.6. 1.0+ requires PyPy 2.6+. - Remove 2293.patch . Applied in a different way upstream. - Add BuildRequires for python-hypothesis and python-pyasn1-modules for running unittests- require the cffi version it was built against to avoid (bsc#948198)- Add 2293.patch for "osrandom engine already registered" (bnc#947679)- Add disable-uneven-sizes-tests.patch (bnc#944204) openssl in SLE12SP1 doesn't allow uneven bit sizes for rsa keys- update to 1.0 (fate#318838): * Switched to the new `cffi`_ ``set_source`` out-of-line API mode for compilation. This results in significantly faster imports and lowered memory consumption. Due to this change we no longer support PyPy releases older than 2.6 nor do we support any released version of PyPy3 (until a version supporting cffi 1.0 comes out). * Fix parsing of OpenSSH public keys that have spaces in comments. * Support serialization of certificate signing requests using the ``public_bytes`` method of :class:`~cryptography.x509.CertificateSigningRequest`. * Support serialization of certificates using the ``public_bytes`` method of :class:`~cryptography.x509.Certificate`. * Add ``get_provisioning_uri`` method to :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating provisioning URIs. * Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash` and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`. * Raise a ``TypeError`` when passing objects that are not text as the value to :class:`~cryptography.x509.NameAttribute`. * Add support for :class:`~cryptography.x509.OtherName` as a general name type. * Added new X.509 extension support in :class:`~cryptography.x509.Certificate` The following new extensions are now supported: * :class:`~cryptography.x509.OCSPNoCheck` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.NameConstraints` * Extension support was added to :class:`~cryptography.x509.CertificateSigningRequest`. * Add support for creating signed certificates with :class:`~cryptography.x509.CertificateBuilder`. This includes support for the following extensions: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.OCSPNoCheck` * Add support for creating certificate signing requests with :class:`~cryptography.x509.CertificateSigningRequestBuilder`. This includes support for the same extensions supported in the ``CertificateBuilder``. * Deprecate ``encode_rfc6979_signature`` and ``decode_rfc6979_signature`` in favor of :func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature` and :func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`. - Adjust Requires according to requires.txt- update to 0.9.3: * Updated Windows wheels to be compiled against OpenSSL 1.0.2d. * Updated Windows wheels to be compiled against OpenSSL 1.0.2c. * **SECURITY ISSUE**: Fixed a double free in the OpenSSL backend when using DSA to verify signatures. Note that this only affects PyPy 2.6.0 and (presently unreleased) CFFI versions greater than 1.1.0. * Removed support for Python 3.2. This version of Python is rarely used and caused support headaches. Users affected by this should upgrade to 3.3+. * Deprecated support for Python 2.6. At the time there is no time table for actually dropping support, however we strongly encourage all users to upgrade their Python, as Python 2.6 no longer receives support from the Python core team. * Add support for the :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic curve. * Fixed compilation when using an OpenSSL which was compiled with the ``no-comp`` (``OPENSSL_NO_COMP``) option. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of public keys using the ``public_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of private keys using the ``private_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Add support for parsing X.509 certificate signing requests (CSRs) with :func:`~cryptography.x509.load_pem_x509_csr` and :func:`~cryptography.x509.load_der_x509_csr`. * Moved ``cryptography.exceptions.InvalidToken`` to :class:`cryptography.hazmat.primitives.twofactor.InvalidToken` and deprecated the old location. This was moved to minimize confusion between this exception and :class:`cryptography.fernet.InvalidToken`. * Added support for X.509 extensions in :class:`~cryptography.x509.Certificate` objects. The following extensions are supported as of this release: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CertificatePolicies` Note that unsupported extensions with the critical flag raise :class:`~cryptography.x509.UnsupportedExtension` while unsupported extensions set to non-critical are silently ignored. Read the :doc:`X.509 documentation` for more information. - add python-pyasn1, python-ipaddress and python-idna as Requires/BuildRequires- Update to 0.8.2: * Fixed a race condition when initializing the OpenSSL or CommonCrypto backends in a multi-threaded scenario.- update to 0.8.1: * Updated Windows wheels to be compiled against OpenSSL 1.0.2a. * func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can now load elliptic curve public keys. * Added :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to :class:`~cryptography.x509.Certificate`. * Added :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factor s` * :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.kdf`. * Added support for parsing X.509 names. See the :doc:`X.509 documentation` for more information. * Added :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` to support loading of DER encoded private keys and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` to support loading DER encoded public keys. * Fixed building against LibreSSL, a compile-time substitute for OpenSSL. * FreeBSD 9.2 was removed from the continuous integration system. * Updated Windows wheels to be compiled against OpenSSL 1.0.2. * :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` now support PKCS1 RSA public keys (in addition to the previous support for SubjectPublicKeyInfo format for RSA, EC, and DSA). * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`. * :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.hashes`. * :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`, :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers`. * :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers.modes`. * :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricSignatureContext` and :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricVerificationContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric`. * :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.dsa` * :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.ec`. * :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`. * Updated Windows wheels to be compiled against OpenSSL 1.0.1l. * ``enum34`` is no longer installed on Python 3.4, where it is included in the standard library. * Added a new function to the OpenSSL bindings to support additional functionality in pyOpenSSL.- update to 0.7.1 * backwards-incompatible change: GCM module doesn't truncate tags by default anymore * removed deprecated arguments to MFG1 constructor * ECC support * added PEM and openssh key loading convenience methods * support for many new ciphers and new features of existing ones see CHANGELOG.rst for details - spec cleanup - reworked %check section - added changelog to docsh04-armsrv1 1708682206  !"##%&'((**,,..0022446688:;<=>?@ABCDEEGHIJKLMNOPQRSTUVWXYZ[\C^__aaccefgCijjllnnpprrttvvxxzz||~~C     41.0.3-150400.16.15.141.0.3-150400.16.15.1   !!!cryptographycryptography-41.0.3-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__about__.py__init__.py__pycache____about__.cpython-311.opt-1.pyc__about__.cpython-311.pyc__init__.cpython-311.opt-1.pyc__init__.cpython-311.pycexceptions.cpython-311.opt-1.pycexceptions.cpython-311.pycfernet.cpython-311.opt-1.pycfernet.cpython-311.pycutils.cpython-311.opt-1.pycutils.cpython-311.pycexceptions.pyfernet.pyhazmat__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_oid.cpython-311.opt-1.pyc_oid.cpython-311.pyc_oid.pybackends__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycopenssl__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycaead.cpython-311.opt-1.pycaead.cpython-311.pycbackend.cpython-311.opt-1.pycbackend.cpython-311.pycciphers.cpython-311.opt-1.pycciphers.cpython-311.pyccmac.cpython-311.opt-1.pyccmac.cpython-311.pycdecode_asn1.cpython-311.opt-1.pycdecode_asn1.cpython-311.pycec.cpython-311.opt-1.pycec.cpython-311.pycrsa.cpython-311.opt-1.pycrsa.cpython-311.pycutils.cpython-311.opt-1.pycutils.cpython-311.pycaead.pybackend.pyciphers.pycmac.pydecode_asn1.pyec.pyrsa.pyutils.pybindings__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_rust_rust.abi3.so__init__.pyi_openssl.pyiasn1.pyiexceptions.pyiocsp.pyiopenssl__init__.pyidh.pyidsa.pyied25519.pyied448.pyihashes.pyihmac.pyikdf.pyipoly1305.pyix25519.pyix448.pyipkcs7.pyix509.pyiopenssl__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_conditional.cpython-311.opt-1.pyc_conditional.cpython-311.pycbinding.cpython-311.opt-1.pycbinding.cpython-311.pyc_conditional.pybinding.pyprimitives__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_asymmetric.cpython-311.opt-1.pyc_asymmetric.cpython-311.pyc_cipheralgorithm.cpython-311.opt-1.pyc_cipheralgorithm.cpython-311.pyc_serialization.cpython-311.opt-1.pyc_serialization.cpython-311.pyccmac.cpython-311.opt-1.pyccmac.cpython-311.pycconstant_time.cpython-311.opt-1.pycconstant_time.cpython-311.pychashes.cpython-311.opt-1.pychashes.cpython-311.pychmac.cpython-311.opt-1.pychmac.cpython-311.pyckeywrap.cpython-311.opt-1.pyckeywrap.cpython-311.pycpadding.cpython-311.opt-1.pycpadding.cpython-311.pycpoly1305.cpython-311.opt-1.pycpoly1305.cpython-311.pyc_asymmetric.py_cipheralgorithm.py_serialization.pyasymmetric__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycdh.cpython-311.opt-1.pycdh.cpython-311.pycdsa.cpython-311.opt-1.pycdsa.cpython-311.pycec.cpython-311.opt-1.pycec.cpython-311.pyced25519.cpython-311.opt-1.pyced25519.cpython-311.pyced448.cpython-311.opt-1.pyced448.cpython-311.pycpadding.cpython-311.opt-1.pycpadding.cpython-311.pycrsa.cpython-311.opt-1.pycrsa.cpython-311.pyctypes.cpython-311.opt-1.pyctypes.cpython-311.pycutils.cpython-311.opt-1.pycutils.cpython-311.pycx25519.cpython-311.opt-1.pycx25519.cpython-311.pycx448.cpython-311.opt-1.pycx448.cpython-311.pycdh.pydsa.pyec.pyed25519.pyed448.pypadding.pyrsa.pytypes.pyutils.pyx25519.pyx448.pyciphers__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycaead.cpython-311.opt-1.pycaead.cpython-311.pycalgorithms.cpython-311.opt-1.pycalgorithms.cpython-311.pycbase.cpython-311.opt-1.pycbase.cpython-311.pycmodes.cpython-311.opt-1.pycmodes.cpython-311.pycaead.pyalgorithms.pybase.pymodes.pycmac.pyconstant_time.pyhashes.pyhmac.pykdf__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycconcatkdf.cpython-311.opt-1.pycconcatkdf.cpython-311.pychkdf.cpython-311.opt-1.pychkdf.cpython-311.pyckbkdf.cpython-311.opt-1.pyckbkdf.cpython-311.pycpbkdf2.cpython-311.opt-1.pycpbkdf2.cpython-311.pycscrypt.cpython-311.opt-1.pycscrypt.cpython-311.pycx963kdf.cpython-311.opt-1.pycx963kdf.cpython-311.pycconcatkdf.pyhkdf.pykbkdf.pypbkdf2.pyscrypt.pyx963kdf.pykeywrap.pypadding.pypoly1305.pyserialization__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycbase.cpython-311.opt-1.pycbase.cpython-311.pycpkcs12.cpython-311.opt-1.pycpkcs12.cpython-311.pycpkcs7.cpython-311.opt-1.pycpkcs7.cpython-311.pycssh.cpython-311.opt-1.pycssh.cpython-311.pycbase.pypkcs12.pypkcs7.pyssh.pytwofactor__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pychotp.cpython-311.opt-1.pychotp.cpython-311.pyctotp.cpython-311.opt-1.pyctotp.cpython-311.pychotp.pytotp.pypy.typedutils.pyx509__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycbase.cpython-311.opt-1.pycbase.cpython-311.pyccertificate_transparency.cpython-311.opt-1.pyccertificate_transparency.cpython-311.pycextensions.cpython-311.opt-1.pycextensions.cpython-311.pycgeneral_name.cpython-311.opt-1.pycgeneral_name.cpython-311.pycname.cpython-311.opt-1.pycname.cpython-311.pycocsp.cpython-311.opt-1.pycocsp.cpython-311.pycoid.cpython-311.opt-1.pycoid.cpython-311.pycbase.pycertificate_transparency.pyextensions.pygeneral_name.pyname.pyocsp.pyoid.pypython311-cryptographyCHANGELOG.rstCONTRIBUTING.rstREADME.rstpython311-cryptographyLICENSELICENSE.APACHELICENSE.BSD/usr/lib64/python3.11/site-packages//usr/lib64/python3.11/site-packages/cryptography-41.0.3-py3.11.egg-info//usr/lib64/python3.11/site-packages/cryptography//usr/lib64/python3.11/site-packages/cryptography/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat//usr/lib64/python3.11/site-packages/cryptography/hazmat/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/backends//usr/lib64/python3.11/site-packages/cryptography/hazmat/backends/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/backends/openssl//usr/lib64/python3.11/site-packages/cryptography/hazmat/backends/openssl/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings/_rust//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings/_rust/openssl//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings/openssl//usr/lib64/python3.11/site-packages/cryptography/hazmat/bindings/openssl/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/ciphers//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/kdf//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/kdf/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/serialization//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/serialization/__pycache__//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/twofactor//usr/lib64/python3.11/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__//usr/lib64/python3.11/site-packages/cryptography/x509//usr/lib64/python3.11/site-packages/cryptography/x509/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python311-cryptography//usr/share/licenses//usr/share/licenses/python311-cryptography/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32695/SUSE_SLE-15-SP4_Update/0a6e951a3e514bbd1ed22084ad07dda1-python-cryptography.SUSE_SLE-15-SP4_Updatedrpmxz5aarch64-suse-linuxdirectoryASCII textPython script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aec7e93e57b532d8051d508d1a970e64e04b0ecb, strippedemptyUTF-8 Unicode text  !"#$%&'()*+,-./012345JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RR R RRRR RR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR1-|SErcF3utf-80d18b69c26202d6b6e0c188747da329d8b4c0d6edfce0806976ca294d7100131? 7zXZ !t/+2]"k%Ca ILZ=ߜdIݹt@ Q|ː\/e,Ԓ nUQ8n=79U rԎS*lr&,wCc Zb |6_ P3~,xE䍟(xNL6{:MIQb6/ʯ%<$'WAu܀ tZY*Hգ}Dͣ۩^)^\[5ԓ>}ug Ym۠N:/*"~,~*hoNtᅷ2/4E ӗo  cg,GGg a+Ck.շ< z9IVW6#3.\ ҳU1bt' yPI>E>7u*)xiJyH=V*R+y2h-k[% jxs<jU}aRvgy .l~6–Cu;&7ÿݞ/;D5@{F{0E %b}5-?ߠY[1U0̧z&(bK`1ТJGփh_?AM{5z_5叴%Q-eR!oMrIT`Y n?qfX}_-{RbR UQIz_No'[ ?V60q[XwȈ>v|a*Hgjcavj4]Xzxb~cBm51قIN ;"FHoʍX884 Q7l!kH:ʿ%5PIЩ)` _x[\reOܰ 48WOL1)E KqCq&$UMz/\tjCiz!!i 2o @E{؝ނUwT(E$^G%vń%K@ZP !8=ɣ{[~LNMfR47pZWz?ͷKa>e~MzJgMVx,¡&*ZS,E.EoX№sH(1 UtBVImo:a7bM^Gnzu׀!xR@Uփ˚:ᄅ(s72[)Eecd̻a&ro3 ~h-{kkL8J{\ZnxDP[)R8*wu=˽ͯÀHnE$ 9NhI1mf\H=ĘK\*Ǎ~}:v*HyP<&Rʦr5[@햼r8-)b+^b 4Ѥb,qK/O^ F,caٝkOz]h⏋9^E昑}_:ISc2kqȦ66Z,T YbN;2U|(ޔu*'Pwpa\ p43C>KZl_tFy~86*(:#e1-ttqJ!Vn׌ku2E`y>^fa>AXGQWmNdki t2/S73 }7֚qo/k>ANE,ٴ`w/Dotk7ozhvtik$ äZ]CO.ĖFLDSXS&֍-tR)}j^%&f<%9CVMr)wc'3Bwemچ81H/7-.N]DLNwf9DNt +3 Ft/`'NFj&‡ Rh}vrjkӏH޷&Z>d_3ZwA𴭻X4]>~n+1|,P$k̲ ^zo؁z܈%uK lQLOr,cAWh!L㒙;[@*# 5n%qAlتG.^j?ZVRo_ 8ma\~7_>2|k0L=8xl L ڽ”s]bB5$rw>VIVKFjBVh>+S>̡x5y[8:뀏jͷJ z ܢ,~1Л<+(@?q1+>@j!LMfK^co[EcqE1ӡ:_w#9青iO@fiFZ©D-0so+&) `+,[.1mfmZfO9tG\+);񥘨◱,WJm;0Ik2 =vB:j`Lڛcdk:ħDEKyY @:A'7\lPyU2Y0F+V|i{lIB%q@~3%@n&sGZ;ݮb¿-{Eu&m /N}fCi5Wc!H?,v9ýmB`u9Կ^q-Sٙ CZd1x_ágKG8گ{ڡ]=*ۺA"b7V$^х83XT\a' zi]Чs wvek3DjT# W۶ YZ