diff --git a/Network/TLS/Receiving.hs b/Network/TLS/Receiving.hs
--- a/Network/TLS/Receiving.hs
+++ b/Network/TLS/Receiving.hs
@@ -218,7 +218,7 @@
 
 processCertificates :: [X509] -> TLSSt ()
 processCertificates certs = do
-	let (X509 mainCert _ _ _) = head certs
+	let (X509 mainCert _ _ _ _) = head certs
 	case certPubKey mainCert of
 		PubKeyRSA (lm, m, e) -> do
 			let pk = PubRSA (RSA.PublicKey { RSA.public_sz = fromIntegral lm, RSA.public_n = m, RSA.public_e = e })
diff --git a/tls.cabal b/tls.cabal
--- a/tls.cabal
+++ b/tls.cabal
@@ -1,5 +1,5 @@
 Name:                tls
-Version:             0.6.2
+Version:             0.6.3
 Description:
    native TLS protocol implementation, focusing on purity and more type-checking.
    .
@@ -37,7 +37,7 @@
                    , bytestring
                    , crypto-api >= 0.5
                    , cryptocipher >= 0.2.5
-                   , certificate >= 0.7 && < 0.8
+                   , certificate >= 0.8.1 && < 0.9
   Exposed-modules:   Network.TLS
                      Network.TLS.Cipher
                      Network.TLS.Compression
