diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,8 @@
+### 0.4.1.0
+
+- Migrate from _asn1-\*_, *pem*, *hourglass* to _crypton-asn1-\*_,
+  *crypton-pem*, *time-hourglass* respectively.
+
 ### 0.4.0.1
 
 - Ensure that the list of certificates in the OCSP response comprises the
diff --git a/Data/X509/AIA.hs b/Data/X509/AIA.hs
--- a/Data/X509/AIA.hs
+++ b/Data/X509/AIA.hs
@@ -3,7 +3,7 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.X509.AIA
--- Copyright   :  (c) Alexey Radkov 2024
+-- Copyright   :  (c) Alexey Radkov 2024-2026
 -- License     :  BSD-style
 --
 -- Maintainer  :  alexey.radkov@gmail.com
diff --git a/Data/X509/OCSP.hs b/Data/X509/OCSP.hs
--- a/Data/X509/OCSP.hs
+++ b/Data/X509/OCSP.hs
@@ -3,7 +3,7 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.X509.OCSP
--- Copyright   :  (c) Alexey Radkov 2024
+-- Copyright   :  (c) Alexey Radkov 2024-2026
 -- License     :  BSD-style
 --
 -- Maintainer  :  alexey.radkov@gmail.com
@@ -89,7 +89,7 @@
 -- | Build and encode OCSP request in ASN.1 format.
 --
 -- The returned value contains the encoded request and an object of type
--- 'CertId' with hashes calculated by the SHA1 algorithm.
+-- t'CertId' with hashes calculated by the SHA1 algorithm.
 encodeOCSPRequestASN1
     :: Certificate              -- ^ Certificate
     -> Certificate              -- ^ Issuer certificate
@@ -122,7 +122,7 @@
 -- | Build and encode OCSP request in ASN.1\/DER format.
 --
 -- The returned value contains the encoded request and an object of type
--- 'CertId' with hashes calculated by the SHA1 algorithm.
+-- t'CertId' with hashes calculated by the SHA1 algorithm.
 encodeOCSPRequest
     :: Certificate              -- ^ Certificate
     -> Certificate              -- ^ Issuer certificate
@@ -267,7 +267,7 @@
 --
 -- -- ...
 --
--- verifySignature\' :: 'OCSPResponse' -> 'Certificate' -> t'Data.X509.Validation.SignatureVerification'
+-- verifySignature\' :: t'OCSPResponse' -> t'Certificate' -> t'Data.X509.Validation.SignatureVerification'
 -- verifySignature\' resp v'Certificate' {..}
 --     | Just __/OCSPResponseVerificationData/__ {..} <-
 --         'getOCSPResponseVerificationData' resp =
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
 The following license covers this documentation, and the source code, except
 where otherwise indicated.
 
-Copyright 2024, Alexey Radkov. All rights reserved.
+Copyright 2024-2026, Alexey Radkov. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -67,7 +67,7 @@
 
 ```ShellSession
 $ cabal run
-client-ocsp: HttpExceptionRequest Request {
+Exception: HttpExceptionRequest Request {
   host                 = "localhost"
   port                 = 8010
   secure               = True
diff --git a/test/data/certs/root/rootCA.crt b/test/data/certs/root/rootCA.crt
--- a/test/data/certs/root/rootCA.crt
+++ b/test/data/certs/root/rootCA.crt
@@ -1,24 +1,24 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/test/data/certs/server-chain.crt b/test/data/certs/server-chain.crt
--- a/test/data/certs/server-chain.crt
+++ b/test/data/certs/server-chain.crt
@@ -1,49 +1,49 @@
 -----BEGIN CERTIFICATE-----
-MIIESjCCAzKgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBlzELMAkGA1UEBhMCVVMx
+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
-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
+TXkgQ29tcGFueSBSb290MRgwFgYKCZImiZPyLGQBAQwIdGVzdE9DU1AwIBcNMjYw
+MTEzMTUxMDEyWhgPMjEyNTEyMjAxNTEwMTJaMIGRMQswCQYDVQQGEwJVUzETMBEG
+A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzETMBEGA1UE
+CgwKTXkgQ29tcGFueTESMBAGA1UECwwJT0NTUCBUZXN0MRIwEAYDVQQDDAlsb2Nh
+bGhvc3QxGDAWBgoJkiaJk/IsZAEBDAh0ZXN0T0NTUDCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBALc/E9KRj/zm0OHDjP0R1vntXc3Hvbpwneg/+Vk79a20
+F+SIfLVGxh3QEguiwmuoipXC9g0TfDABGWLAkPPq7hMA/KCojIsK28Ob60+ZPmzX
+UB8Xj6y1DQ4vDtaiK7TcN6zq148mNrjc+G+LFLqUP6X9RYE74nyAb1nw/H56rCYQ
+YqhalIZKdQHypvnk6ACtFVpSrXua//3EKnVfVqhUDt7kqxD4/JIv1FDX72/aHnoD
+TERnaoYY0Tn5cW0kPSo/dqJmUhx8XOMjOA0JC0MOvXD9pnw4qk4JDrUUeaQMQbVB
+sFHoLn8RA6NBuHPFRfumk+RQVO9qGuUC9sUrFto++qMCAwEAAaOBpDCBoTAJBgNV
+HRMEAjAAMAsGA1UdDwQEAwIF4DAxBggrBgEFBQcBAQQlMCMwIQYIKwYBBQUHMAGG
+FWh0dHA6Ly9sb2NhbGhvc3Q6ODA4MTAfBgNVHSMEGDAWgBRNeB/d2e4XoPnThG36
+ZZ7VDUWYCzAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYEFBatLrUyyU61
+V7vralrZpHzQh9rIMA0GCSqGSIb3DQEBCwUAA4IBAQB0aJz5I8aRNpDhKgAbhL1f
+GPqWeid2lmWGUawYKVyd5TD4oKm3otEykoBVMcfKof6UFLBTKWrAZcWImrthbgKU
+Fav9RSEe+9cCZCnpqypozNdu4uxGKGEV4XhEYBZpTtLylKpQ94VubPlqsnuVt3ZL
+UiuhvGAXQso4xJ51H1IMO6AUNTrQZeCGfLySicZqwTntDToxowy+d8BgTFQTQd+D
+gbp+4xRbdLhkQl/IkT7NDHhOlBd8xNOPB+kaUCWRcOKWiuGhMkUinKb01wHlR2Qk
+n3u9zYPKV4Lbjso5gTzUfbQ/zy4Fz8WtA9Fgs1i4eaN1nh9R80GNzgwGkfXjuIRw
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIEETCCAvmgAwIBAgIUe2DUr7xVus0f0O+WP0CVWoNeKEwwDQYJKoZIhvcNAQEL
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/test/data/certs/server/server.crt b/test/data/certs/server/server.crt
--- a/test/data/certs/server/server.crt
+++ b/test/data/certs/server/server.crt
@@ -1,25 +1,25 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/test/data/req.der b/test/data/req.der
Binary files a/test/data/req.der and b/test/data/req.der differ
diff --git a/test/data/resp.der b/test/data/resp.der
Binary files a/test/data/resp.der and b/test/data/resp.der differ
diff --git a/test/test-ocsp.hs b/test/test-ocsp.hs
--- a/test/test-ocsp.hs
+++ b/test/test-ocsp.hs
@@ -15,12 +15,12 @@
 import Data.ASN1.Encoding
 import Data.ASN1.BinaryEncoding
 import Data.List (uncons)
- 
+
 toCertificate :: ByteString -> Certificate
 toCertificate cert = either error getCertificate $ do
     pem <- pemParseBS cert >>= maybe (Left "no pems") (pure . fst) . uncons
     decodeSignedObject $ pemContent pem
- 
+
 testAIA :: Certificate -> Test
 testAIA cert = TestCase $ extensionGet (certExtensions cert) @?= expected
     where expected = Just $
@@ -29,21 +29,21 @@
                                        , aiaLocation = "http://localhost:8081"
                                        }
                   ]
- 
+
 testOCSPRequestASN1 :: Certificate -> Certificate -> [ASN1] -> Test
 testOCSPRequestASN1 cert issuerCert = TestCase . (buildRequest @?=)
     where buildRequest = fst $ encodeOCSPRequestASN1 cert issuerCert
- 
+
 testOCSPRequest :: Certificate -> Certificate -> ByteString -> Test
 testOCSPRequest cert issuerCert = TestCase . (buildRequest @?=) . L.fromStrict
     where buildRequest = fst $ encodeOCSPRequest cert issuerCert
- 
+
 testOCSPResponse :: Maybe OCSPResponse -> Test
 testOCSPResponse resp =
     TestCase $ getRespStatus @?= Just OCSPRespCertGood
     where getRespStatus = ocspRespCertStatus . ocspRespCertData <$>
               (resp >>= ocspRespPayload)
- 
+
 verifyOCSPResponse :: Certificate -> Maybe OCSPResponse -> Test
 verifyOCSPResponse issuerCert resp =
     TestCase $ getVerificationStatus @?= Just SignaturePass
diff --git a/x509-ocsp.cabal b/x509-ocsp.cabal
--- a/x509-ocsp.cabal
+++ b/x509-ocsp.cabal
@@ -1,7 +1,7 @@
 cabal-version:          2.4
 
 name:                   x509-ocsp
-version:                0.4.0.1
+version:                0.4.1.0
 synopsis:               Basic X509 OCSP implementation
 description:            Build X509 OCSP requests and parse responses
 homepage:               https://github.com/lyokha/x509-ocsp
@@ -12,7 +12,7 @@
 author:                 Alexey Radkov <alexey.radkov@gmail.com>
 maintainer:             Alexey Radkov <alexey.radkov@gmail.com>
 stability:              experimental
-copyright:              2024 Alexey Radkov
+copyright:              2024-2026 Alexey Radkov
 category:               Data
 build-type:             Simple
 
@@ -25,8 +25,8 @@
   build-depends:        base >= 4.8 && < 5
                       , bytestring
                       , crypton-x509
-                      , asn1-encoding
-                      , asn1-types
+                      , crypton-asn1-encoding
+                      , crypton-asn1-types
                       , cryptohash-sha1
 
             -- only needed for haddock to hyperlink entities in code examples:
@@ -44,9 +44,9 @@
                       , bytestring
                       , crypton-x509
                       , crypton-x509-validation
-                      , asn1-encoding
-                      , asn1-types
-                      , pem
+                      , crypton-asn1-encoding
+                      , crypton-asn1-types
+                      , crypton-pem
                       , x509-ocsp
 
   type:                 exitcode-stdio-1.0
