Use autoclass for PKey
diff --git a/OpenSSL/crypto.py b/OpenSSL/crypto.py
index 3a69bea..6cc5ff2 100644
--- a/OpenSSL/crypto.py
+++ b/OpenSSL/crypto.py
@@ -152,6 +152,9 @@
 
 
 class PKey(object):
+    """
+    A class representing an DSA or RSA public key or key pair.
+    """
     _only_public = False
     _initialized = True
 
@@ -163,12 +166,19 @@
 
     def generate_key(self, type, bits):
         """
-        Generate a key of a given type, with a given number of a bits
+        Generate a key pair of the given type, with the given number of a bits.
 
-        :param type: The key type (TYPE_RSA or TYPE_DSA)
-        :param bits: The number of bits
+        This generates a key "into" the this object.
 
-        :return: None
+        :param type: The key type.
+        :type type: :py:data:`TYPE_RSA` or :py:data:`TYPE_DSA`
+        :param bits: The number of bits.
+        :type bits: :py:data:`int` ``>= 0``
+        :raises TypeError: If :py:data:`type` or :py:data:`bits` isn't
+            of the appropriate type.
+        :raises ValueError: If the number of bits isn't an integer of
+            the appropriate size.
+        :return: :py:data:`None`
         """
         if not isinstance(type, int):
             raise TypeError("type must be an integer")
@@ -225,6 +235,8 @@
         """
         Check the consistency of an RSA private key.
 
+        This is the Python equivalent of OpenSSL's ``RSA_check_key``.
+
         :return: True if key is consistent.
         :raise Error: if the key is inconsistent.
         :raise TypeError: if the key is of a type which cannot be checked.
@@ -1353,7 +1365,7 @@
         """
         Adds the certificate :py:data:`cert` to this store.
 
-        This is the Python equivalent of OpenSSL's X509_STORE_add_cert.
+        This is the Python equivalent of OpenSSL's ``X509_STORE_add_cert``.
 
         :param X509 cert: The certificate to add to this store.
         :raises TypeError: If the certificate is not an :py:class:`X509`.
diff --git a/doc/api/crypto.rst b/doc/api/crypto.rst
index 028ddd8..e3d4f14 100644
--- a/doc/api/crypto.rst
+++ b/doc/api/crypto.rst
@@ -476,30 +476,8 @@
 PKey objects
 ------------
 
-The PKey object has the following methods:
-
-.. py:method:: PKey.bits()
-
-    Return the number of bits of the key.
-
-
-.. py:method:: PKey.generate_key(type, bits)
-
-    Generate a public/private key pair of the type *type* (one of
-    :py:const:`TYPE_RSA` and :py:const:`TYPE_DSA`) with the size *bits*.
-
-
-.. py:method:: PKey.type()
-
-    Return the type of the key.
-
-
-.. py:method:: PKey.check()
-
-    Check the consistency of this key, returning True if it is consistent and
-    raising an exception otherwise.  This is only valid for RSA keys.  See the
-    OpenSSL RSA_check_key man page for further limitations.
-
+.. autoclass:: PKey
+               :members:
 
 .. _openssl-pkcs7: