diff --git a/docs/x509/reference.rst b/docs/x509/reference.rst
index 2ccc527..61f73e9 100644
--- a/docs/x509/reference.rst
+++ b/docs/x509/reference.rst
@@ -1119,7 +1119,7 @@
 
         The binary value of the identifier.
 
-    .. classmethod:: create_from_public_key(public_key)
+    .. classmethod:: from_public_key(public_key)
 
         .. versionadded:: 1.0
 
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index b58166f..6c9cd56 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -682,7 +682,7 @@
         self._digest = digest
 
     @classmethod
-    def create_from_public_key(cls, public_key):
+    def from_public_key(cls, public_key):
         # This is a very slow way to do this.
         serialized = public_key.public_bytes(
             serialization.Encoding.DER,
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index 4c7cce5..73cdfc5 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -955,7 +955,7 @@
 
     @pytest.mark.requires_backend_interface(interface=RSABackend)
     @pytest.mark.requires_backend_interface(interface=X509Backend)
-    def test_create_from_rsa_public_key(self, backend):
+    def test_from_rsa_public_key(self, backend):
         cert = _load_cert(
             os.path.join("x509", "PKITS_data", "certs", "GoodCACert.crt"),
             x509.load_der_x509_certificate,
@@ -964,14 +964,14 @@
         ext = cert.extensions.get_extension_for_oid(
             x509.OID_SUBJECT_KEY_IDENTIFIER
         )
-        ski = x509.SubjectKeyIdentifier.create_from_public_key(
+        ski = x509.SubjectKeyIdentifier.from_public_key(
             cert.public_key()
         )
         assert ext.value == ski
 
     @pytest.mark.requires_backend_interface(interface=DSABackend)
     @pytest.mark.requires_backend_interface(interface=X509Backend)
-    def test_create_from_dsa_public_key(self, backend):
+    def test_from_dsa_public_key(self, backend):
         cert = _load_cert(
             os.path.join("x509", "custom", "dsa_selfsigned_ca.pem"),
             x509.load_pem_x509_certificate,
@@ -981,14 +981,14 @@
         ext = cert.extensions.get_extension_for_oid(
             x509.OID_SUBJECT_KEY_IDENTIFIER
         )
-        ski = x509.SubjectKeyIdentifier.create_from_public_key(
+        ski = x509.SubjectKeyIdentifier.from_public_key(
             cert.public_key()
         )
         assert ext.value == ski
 
     @pytest.mark.requires_backend_interface(interface=EllipticCurveBackend)
     @pytest.mark.requires_backend_interface(interface=X509Backend)
-    def test_create_from_ec_public_key(self, backend):
+    def test_from_ec_public_key(self, backend):
         _skip_curve_unsupported(backend, ec.SECP384R1())
         cert = _load_cert(
             os.path.join("x509", "ecdsa_root.pem"),
@@ -999,7 +999,7 @@
         ext = cert.extensions.get_extension_for_oid(
             x509.OID_SUBJECT_KEY_IDENTIFIER
         )
-        ski = x509.SubjectKeyIdentifier.create_from_public_key(
+        ski = x509.SubjectKeyIdentifier.from_public_key(
             cert.public_key()
         )
         assert ext.value == ski
