diff --git a/.gitmodules b/.gitmodules
index c97560b..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "vendor/pycrypto"]
- path = vendor/pycrypto
- url = git://github.com/Legrandin/pycrypto.git
diff --git a/README.md b/README.md
index 114eab8..52a8867 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ The JWS spec reserves several algorithms for cryptographic signing. Out of the 9
* HS512 – HMAC using SHA-512 hash algorithm
-**RSA** – requires special version of pycrypto, read below
+**RSA** – requires pycrypto >= 2.5: ``pip install pycrypto``
* RS256 – RSA using SHA-256 hash algorithm
@@ -34,12 +34,7 @@ There is also a mechanism for extending functionality by adding your own
algorithms without cracking open the whole codebase. See the advanced usage
section for an example.
-NOTE: you must use the version of pycrypto submoduled to
-``vendor/pycrypto`` to get RSA256 support. However if you don't ever plan on using
-RSA, you don't have to worry about it – all crypto libraries are lazily loaded
-so you won't even notice it's not there.
-
-If you want to know why RSA support is limited, read this: https://github.com/brianlovesdata/python-jws/blob/master/jws/algos.py#L42
+For RSA and ECDSA, all crypto libraries are lazily loaded so you won't need the dependencies unless you try to use the functionality.
Usage
-----
diff --git a/README.txt b/README.txt
index 143fb3b..52a8867 100644
--- a/README.txt
+++ b/README.txt
@@ -4,8 +4,7 @@ A Python implementation of [JSON Web Signatures draft 02](http://self-issued.inf
Installing
----------
- $ git://github.com/brianlovesdata/python-jws.git
- $ python setup.py install
+ $ pip install jws
@@ -21,7 +20,7 @@ The JWS spec reserves several algorithms for cryptographic signing. Out of the 9
* HS512 – HMAC using SHA-512 hash algorithm
-**RSA** – requires special version of pycrypto, read below
+**RSA** – requires pycrypto >= 2.5: ``pip install pycrypto``
* RS256 – RSA using SHA-256 hash algorithm
@@ -35,12 +34,7 @@ There is also a mechanism for extending functionality by adding your own
algorithms without cracking open the whole codebase. See the advanced usage
section for an example.
-NOTE: you must use the version of pycrypto submoduled to
-``vendor/pycrypto`` to get RSA256 support. However if you don't ever plan on using
-RSA, you don't have to worry about it – all crypto libraries are lazily loaded
-so you won't even notice it's not there.
-
-If you want to know why RSA support is limited, read this: https://github.com/brianlovesdata/python-jws/blob/master/jws/algos.py#L42
+For RSA and ECDSA, all crypto libraries are lazily loaded so you won't need the dependencies unless you try to use the functionality.
Usage
-----
@@ -116,11 +110,11 @@ Other Stuff
---------
Check out
-https://github.com/brianlovesdata/python-jws/blob/master/examples/minijwt.py
+https://github.com/brianloveswords/python-jws/blob/master/examples/minijwt.py
for a 14-line implemention of JWT.
See
-https://github.com/brianlovesdata/python-jws/blob/master/examples/ragecrypto.py
+https://github.com/brianloveswords/python-jws/blob/master/examples/ragecrypto.py
for a rage-comic inspired cryptography extension.
TODO
diff --git a/jws/algos.py b/jws/algos.py
index dae1498..fa389c1 100644
--- a/jws/algos.py
+++ b/jws/algos.py
@@ -43,24 +43,8 @@ class RSABase(HasherBase):
"""
Support for RSA signing.
- The ``Crypto`` package is required. However...
+ The ``Crypto`` package >= 2.5 is required.
- NOTE: THIS ALGORITHM IS CRIPPLED AND INCOMPLETE
-
- Section 7.2 of the specification (found at
- http://self-issued.info/docs/draft-jones-json-web-signature.html)
- describes the algorithm for creating a JWS with RSA. It is mandatory to
- use RSASSA-PKCS1-V1_5-SIGN and either SHA256, 385 or 512.
-
- Problem 1: The Crypto library doesn't currently support PKCS1-V1_5. There
- is a fork that does have support:
-
- https://github.com/Legrandin/pycrypto/tree/pkcs1
-
- Problem 2: The PKCS signing method requires a Crypto.Hash class.
- Crypto.Hash doesn't yet have support anything above SHA256.
-
- Bottom line, you should probably use ECDSA instead.
"""
supported_bits = (256,384,512,) #:Seems to worka > 256
diff --git a/vendor/pycrypto b/vendor/pycrypto
deleted file mode 160000
index a2ef0a2..0000000
--- a/vendor/pycrypto
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a2ef0a2bde6f226c458dbf0c218e8fa317f7da59