Use AlreadyFinalized not ValueError
diff --git a/cryptography/hazmat/primitives/padding.py b/cryptography/hazmat/primitives/padding.py
index d78c6a5..c1a763b 100644
--- a/cryptography/hazmat/primitives/padding.py
+++ b/cryptography/hazmat/primitives/padding.py
@@ -20,6 +20,7 @@
 import six
 
 from cryptography import utils
+from cryptography.exceptions import AlreadyFinalized
 from cryptography.hazmat.bindings.utils import _create_modulename
 from cryptography.hazmat.primitives import interfaces
 
@@ -101,7 +102,7 @@
 
     def update(self, data):
         if self._buffer is None:
-            raise ValueError("Context was already finalized")
+            raise AlreadyFinalized("Context was already finalized")
 
         if isinstance(data, six.text_type):
             raise TypeError("Unicode-objects must be encoded before padding")
@@ -117,7 +118,7 @@
 
     def finalize(self):
         if self._buffer is None:
-            raise ValueError("Context was already finalized")
+            raise AlreadyFinalized("Context was already finalized")
 
         pad_size = self.block_size // 8 - len(self._buffer)
         result = self._buffer + six.int2byte(pad_size) * pad_size
@@ -134,7 +135,7 @@
 
     def update(self, data):
         if self._buffer is None:
-            raise ValueError("Context was already finalized")
+            raise AlreadyFinalized("Context was already finalized")
 
         if isinstance(data, six.text_type):
             raise TypeError("Unicode-objects must be encoded before unpadding")
@@ -153,7 +154,7 @@
 
     def finalize(self):
         if self._buffer is None:
-            raise ValueError("Context was already finalized")
+            raise AlreadyFinalized("Context was already finalized")
 
         if len(self._buffer) != self.block_size // 8:
             raise ValueError("Invalid padding bytes")
diff --git a/tests/hazmat/primitives/test_padding.py b/tests/hazmat/primitives/test_padding.py
index 932cef1..cac54f2 100644
--- a/tests/hazmat/primitives/test_padding.py
+++ b/tests/hazmat/primitives/test_padding.py
@@ -17,6 +17,7 @@
 
 import six
 
+from cryptography.exceptions import AlreadyFinalized
 from cryptography.hazmat.primitives import padding
 
 
@@ -97,15 +98,15 @@
     def test_use_after_finalize(self):
         padder = padding.PKCS7(128).padder()
         b = padder.finalize()
-        with pytest.raises(ValueError):
+        with pytest.raises(AlreadyFinalized):
             padder.update(b"")
-        with pytest.raises(ValueError):
+        with pytest.raises(AlreadyFinalized):
             padder.finalize()
 
         unpadder = padding.PKCS7(128).unpadder()
         unpadder.update(b)
         unpadder.finalize()
-        with pytest.raises(ValueError):
+        with pytest.raises(AlreadyFinalized):
             unpadder.update(b"")
-        with pytest.raises(ValueError):
+        with pytest.raises(AlreadyFinalized):
             unpadder.finalize()