diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index 6f024da..9b8e8f0 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -19,7 +19,7 @@
 from cryptography import utils
 from cryptography.exceptions import (
     InvalidTag, InternalError, AlreadyFinalized, UnsupportedCipher,
-    UnsupportedHash, UnsupportedPadding, InvalidSignature
+    UnsupportedAlgorithm, UnsupportedHash, UnsupportedPadding, InvalidSignature
 )
 from cryptography.hazmat.backends.interfaces import (
     CipherBackend, HashBackend, HMACBackend, PBKDF2HMACBackend, RSABackend
@@ -777,11 +777,15 @@
                 self._verify_method = self._verify_pkcs1
         elif isinstance(padding, PSS):
             if not isinstance(padding._mgf, MGF1):
-                raise TypeError("Only MGF1 is supported by this backend")
+                raise UnsupportedAlgorithm(
+                    "Only MGF1 is supported by this backend"
+                )
 
             if not self._backend.mgf1_hash_supported(padding._mgf._algorithm):
-                raise UnsupportedHash("This backend only supports MGF1 with "
-                                      "SHA1 when OpenSSL is not 1.0.1+")
+                raise UnsupportedHash(
+                    "When OpenSSL is older than 1.0.1 then only SHA1 is "
+                    "supported with MGF1."
+                )
 
             if self._backend._lib.Cryptography_HAS_PKEY_CTX:
                 self._verify_method = self._verify_pkey_ctx
diff --git a/tests/hazmat/primitives/test_rsa.py b/tests/hazmat/primitives/test_rsa.py
index a09d6d6..955e69c 100644
--- a/tests/hazmat/primitives/test_rsa.py
+++ b/tests/hazmat/primitives/test_rsa.py
@@ -21,7 +21,9 @@
 import pytest
 
 from cryptography import exceptions, utils
-from cryptography.exceptions import UnsupportedInterface
+from cryptography.exceptions import (
+    UnsupportedAlgorithm, UnsupportedInterface
+)
 from cryptography.hazmat.primitives import hashes, interfaces
 from cryptography.hazmat.primitives.asymmetric import rsa, padding
 
@@ -713,7 +715,7 @@
             backend=backend
         )
         public_key = private_key.public_key()
-        with pytest.raises(TypeError):
+        with pytest.raises(UnsupportedAlgorithm):
             public_key.verifier(b"sig", padding.PSS(mgf=DummyMGF()),
                                 hashes.SHA1(), backend)
 
