Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

141 рядки
5.5 KiB

  1. Metadata-Version: 2.3
  2. Name: rsa
  3. Version: 4.9.1
  4. Summary: Pure-Python RSA implementation
  5. License: Apache-2.0
  6. Author: Sybren A. Stüvel
  7. Author-email: sybren@stuvel.eu
  8. Requires-Python: >=3.6,<4
  9. Classifier: Development Status :: 5 - Production/Stable
  10. Classifier: Intended Audience :: Developers
  11. Classifier: Intended Audience :: Education
  12. Classifier: Intended Audience :: Information Technology
  13. Classifier: License :: OSI Approved :: Apache Software License
  14. Classifier: Operating System :: OS Independent
  15. Classifier: Programming Language :: Python
  16. Classifier: Programming Language :: Python :: 3
  17. Classifier: Programming Language :: Python :: 3.6
  18. Classifier: Programming Language :: Python :: 3.7
  19. Classifier: Programming Language :: Python :: 3.8
  20. Classifier: Programming Language :: Python :: 3.9
  21. Classifier: Programming Language :: Python :: 3.10
  22. Classifier: Programming Language :: Python :: 3.11
  23. Classifier: Programming Language :: Python :: 3.12
  24. Classifier: Programming Language :: Python :: 3.13
  25. Classifier: Programming Language :: Python :: Implementation :: CPython
  26. Classifier: Programming Language :: Python :: Implementation :: PyPy
  27. Classifier: Topic :: Security :: Cryptography
  28. Requires-Dist: pyasn1 (>=0.1.3)
  29. Project-URL: Homepage, https://stuvel.eu/rsa
  30. Project-URL: Repository, https://github.com/sybrenstuvel/python-rsa
  31. Description-Content-Type: text/markdown
  32. # Python-RSA has been archived
  33. Hi folks,
  34. I'm Sybren, one of the original authors and the maintainer of this project.
  35. Unfortunately I don't have the time and brain space left to properly maintain
  36. Python-RSA. As you can see from the lack of activity on the open issues, and the
  37. lack of commits, that has been the case for a while now.
  38. As Python-RSA is included as a dependency in quite a few high-profile projects,
  39. I don't feel comfortable handing over the project to someone else. It's just too
  40. big of a risk.
  41. Thanks for having used this little library for so long, and in so many projects.
  42. I truely didn't expect that when I started working on it. Also big thanks to all
  43. the people helping out and improving the project.
  44. There are improvements that haven't made it into a new release. As I said, I
  45. don't have the time and the brain space to really investigate and oversee the
  46. security impact of all those changes. It's not a decision I've made lightly.
  47. So that's it. If you want to keep the project alive, please fork it. Give it the
  48. love it deserves, investigate those yet-unreleased improvements, and have a
  49. project that's then already better than how I left this one.
  50. Cheers,
  51. Sybren
  52. ---------------------------------------------
  53. # Pure Python RSA implementation
  54. [![PyPI](https://img.shields.io/pypi/v/rsa.svg)](https://pypi.org/project/rsa/)
  55. [![Build Status](https://travis-ci.org/sybrenstuvel/python-rsa.svg?branch=master)](https://travis-ci.org/sybrenstuvel/python-rsa)
  56. [![Coverage Status](https://coveralls.io/repos/github/sybrenstuvel/python-rsa/badge.svg?branch=master)](https://coveralls.io/github/sybrenstuvel/python-rsa?branch=master)
  57. [![Code Climate](https://api.codeclimate.com/v1/badges/a99a88d28ad37a79dbf6/maintainability)](https://codeclimate.com/github/codeclimate/codeclimate/maintainability)
  58. [Python-RSA](https://stuvel.eu/rsa) is a pure-Python RSA implementation. It supports
  59. encryption and decryption, signing and verifying signatures, and key
  60. generation according to PKCS#1 version 1.5. It can be used as a Python
  61. library as well as on the commandline. The code was mostly written by
  62. Sybren A. Stüvel.
  63. Documentation can be found at the [Python-RSA homepage](https://stuvel.eu/rsa). For all changes, check [the changelog](https://github.com/sybrenstuvel/python-rsa/blob/master/CHANGELOG.md).
  64. Download and install using:
  65. pip install rsa
  66. or download it from the [Python Package Index](https://pypi.org/project/rsa/).
  67. The source code is maintained at [GitHub](https://github.com/sybrenstuvel/python-rsa/) and is
  68. licensed under the [Apache License, version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
  69. ## Security
  70. Because of how Python internally stores numbers, it is very hard (if not impossible) to make a pure-Python program secure against timing attacks. This library is no exception, so use it with care. See https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python/ for more info.
  71. ## Setup of Development Environment
  72. ```
  73. python3 -m venv .venv
  74. . ./.venv/bin/activate
  75. pip install poetry
  76. poetry install
  77. ```
  78. ## Publishing a New Release
  79. Since this project is considered critical on the Python Package Index,
  80. two-factor authentication is required. For uploading packages to PyPi, an API
  81. key is required; username+password will not work.
  82. First, generate an API token at https://pypi.org/manage/account/token/. Then,
  83. use this token when publishing instead of your username and password.
  84. As username, use `__token__`.
  85. As password, use the token itself, including the `pypi-` prefix.
  86. See https://pypi.org/help/#apitoken for help using API tokens to publish. This
  87. is what I have in `~/.pypirc`:
  88. ```
  89. [distutils]
  90. index-servers =
  91. rsa
  92. # Use `twine upload -r rsa` to upload with this token.
  93. [rsa]
  94. repository = https://upload.pypi.org/legacy/
  95. username = __token__
  96. password = pypi-token
  97. ```
  98. ```
  99. . ./.venv/bin/activate
  100. pip install twine
  101. poetry build
  102. twine check dist/rsa-4.9.1.tar.gz dist/rsa-4.9.1-*.whl
  103. twine upload -r rsa dist/rsa-4.9.1.tar.gz dist/rsa-4.9.1-*.whl
  104. ```
  105. The `pip install twine` is necessary as Python-RSA requires Python >= 3.6, and
  106. Twine requires at least version 3.7. This means Poetry refuses to add it as
  107. dependency.