Fixed #529 -- use the native bytes syntax (#536)

diff --git a/tests/test_crypto.py b/tests/test_crypto.py
index c441e15..a44ac14 100644
--- a/tests/test_crypto.py
+++ b/tests/test_crypto.py
@@ -15,7 +15,7 @@
 
 import pytest
 
-from six import u, b, binary_type
+from six import binary_type
 
 from cryptography.hazmat.backends.openssl.backend import backend
 from cryptography.hazmat.primitives import serialization
@@ -60,7 +60,7 @@
 GOOD_DIGEST = "SHA1"
 BAD_DIGEST = "monkeys"
 
-root_cert_pem = b("""-----BEGIN CERTIFICATE-----
+root_cert_pem = b"""-----BEGIN CERTIFICATE-----
 MIIC7TCCAlagAwIBAgIIPQzE4MbeufQwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UE
 BhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQHEwdDaGljYWdvMRAwDgYDVQQKEwdU
 ZXN0aW5nMRgwFgYDVQQDEw9UZXN0aW5nIFJvb3QgQ0EwIhgPMjAwOTAzMjUxMjM2
@@ -78,9 +78,9 @@
 hkgaZnzoIq/Uamidegk4hirsCT/R+6vsKAAxNTcBjUeZjlykCJWy5ojShGftXIKY
 w/njVbKMXrvc83qmTdGl3TAM0fxQIpqgcglFLveEBgzn
 -----END CERTIFICATE-----
-""")
+"""
 
-root_key_pem = b("""-----BEGIN RSA PRIVATE KEY-----
+root_key_pem = b"""-----BEGIN RSA PRIVATE KEY-----
 MIICXQIBAAKBgQD5mkLpi7q6ROdu7khB3S9aanA0Zls7vvfGOmB80/yeylhGpsjA
 jWen0VtSQke/NlEPGtO38tsV7CsuFnSmschvAnGrcJl76b0UOOHUgDTIoRxC6QDU
 3claegwsrBA+sJEBbqx5RdXbIRGicPG/8qQ4Zm1SKOgotcbwiaor2yxZ2wIDAQAB
@@ -95,9 +95,9 @@
 6AWSeGAdtRFHVzR7oHjVAkB4hutvxiOeiIVQNBhM6RSI9aBPMI21DoX2JRoxvNW2
 cbvAhow217X9V0dVerEOKxnNYspXRrh36h7k4mQA+sDq
 -----END RSA PRIVATE KEY-----
-""")
+"""
 
-intermediate_cert_pem = b("""-----BEGIN CERTIFICATE-----
+intermediate_cert_pem = b"""-----BEGIN CERTIFICATE-----
 MIICVzCCAcCgAwIBAgIRAMPzhm6//0Y/g2pmnHR2C4cwDQYJKoZIhvcNAQENBQAw
 WDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQHEwdDaGljYWdvMRAw
 DgYDVQQKEwdUZXN0aW5nMRgwFgYDVQQDEw9UZXN0aW5nIFJvb3QgQ0EwHhcNMTQw
@@ -112,9 +112,9 @@
 9n5zXb1ZwhW/sTWgUvmOceJ4/XVs9FkdWOOn1J0XBch9ZIiFe/s5ASIgG7fUdcUF
 9mAWS6FK2ca3xIh5kIupCXOFa0dPvlw/YUFT
 -----END CERTIFICATE-----
-""")
+"""
 
-intermediate_key_pem = b("""-----BEGIN RSA PRIVATE KEY-----
+intermediate_key_pem = b"""-----BEGIN RSA PRIVATE KEY-----
 MIICWwIBAAKBgQDYcEQw5lfbEQRjr5Yy4yxAHGV0b9Al+Lmu7wLHMkZ/ZMmKFGIb
 ljbviiD1Nz97Oh2cpB91YwOXOTN2vXHq26S+A5xe8z/QJbBsyghMur88CjdT21H2
 qwMa+r5dCQwEhuGIiZ3KbzB/n4DTMYI5zy4IYPv0pjxShZn4aZTCCK2IUwIDAQAB
@@ -129,9 +129,9 @@
 /qUot9YUBF8m6BuGsQJATHHmdFy/fG1VLkyBp49CAa8tN3Z5r/CgTznI4DfMTf4C
 NbRHn2UmYlwQBa+L5lg9phewNe8aEwpPyPLoV85U8Q==
 -----END RSA PRIVATE KEY-----
-""")
+"""
 
-server_cert_pem = b("""-----BEGIN CERTIFICATE-----
+server_cert_pem = b"""-----BEGIN CERTIFICATE-----
 MIICKDCCAZGgAwIBAgIJAJn/HpR21r/8MA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
 BAYTAlVTMQswCQYDVQQIEwJJTDEQMA4GA1UEBxMHQ2hpY2FnbzEQMA4GA1UEChMH
 VGVzdGluZzEYMBYGA1UEAxMPVGVzdGluZyBSb290IENBMCIYDzIwMDkwMzI1MTIz
@@ -145,9 +145,9 @@
 2mgpFQ6FHpoIENGvJhdEKpptQ5i7KaGhnDNTfdy3x1+h852G99f1iyj0RmbuFcM8
 uzujnS8YXWvM7DM1Ilozk4MzPug8jzFp5uhKCQ==
 -----END CERTIFICATE-----
-""")
+"""
 
-server_key_pem = normalize_privatekey_pem(b("""-----BEGIN RSA PRIVATE KEY-----
+server_key_pem = normalize_privatekey_pem(b"""-----BEGIN RSA PRIVATE KEY-----
 MIICWwIBAAKBgQC+pvhuud1dLaQQvzipdtlcTotgr5SuE2LvSx0gz/bg1U3u1eQ+
 U5eqsxaEUceaX5p5Kk+QflvW8qdjVNxQuYS5uc0gK2+OZnlIYxCf4n5GYGzVIx3Q
 SBj/TAEFB2WuVinZBiCbxgL7PFM1Kpa+EwVkCAduPpSflJJPwkYGrK2MHQIDAQAB
@@ -162,9 +162,9 @@
 NaeNCFfH3aeTrX0LyQJAMBWjWmeKM2G2sCExheeQK0ROnaBC8itCECD4Jsve4nqf
 r50+LF74iLXFwqysVCebPKMOpDWp/qQ1BbJQIPs7/A==
 -----END RSA PRIVATE KEY-----
-"""))
+""")
 
-intermediate_server_cert_pem = b("""-----BEGIN CERTIFICATE-----
+intermediate_server_cert_pem = b"""-----BEGIN CERTIFICATE-----
 MIICWDCCAcGgAwIBAgIRAPQFY9jfskSihdiNSNdt6GswDQYJKoZIhvcNAQENBQAw
 ZjEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMQwwCgYDVQQKEwNvcmcxETAPBgNVBAsT
 CG9yZy11bml0MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEjAQBgNVBAcTCVNh
@@ -179,9 +179,9 @@
 3bfAtV7eSAqBsfxYXyof7G1ALANQERkq3+oyLP1iVt08W1WOUlIMPhdCF/QuCwy6
 x9MJLhUCGLJPM+O2rAPWVD9wCmvq10ALsiH3yA==
 -----END CERTIFICATE-----
-""")
+"""
 
-intermediate_server_key_pem = b("""-----BEGIN RSA PRIVATE KEY-----
+intermediate_server_key_pem = b"""-----BEGIN RSA PRIVATE KEY-----
 MIICXAIBAAKBgQCqklnKB37DV9os6vWI4CZsGHHlJlZxMJn9mMdBMkzsa49PrbhC
 SqyLEWCFEp0NE7CnCcA/uAxG6QuqLLj6RG4ZPk5/IaCAv3mLbGoD7N6GOPTyVJOW
 8Yel48mALJNq8jLn4uOyPgMqcrK6HGZuJdNGsfzc0OCLFWQ5tMSaH85UrQIDAQAB
@@ -196,9 +196,9 @@
 ipWJWe0aAlP18ZcEQQJBAL+5lekZ/GUdQoZ4HAsN5a9syrzavJ9VvU1KOOPorPZK
 nMRZbbQgP+aSB7yl6K0gaLaZ8XaK0pjxNBh6ASqg9f4=
 -----END RSA PRIVATE KEY-----
-""")
+"""
 
-client_cert_pem = b("""-----BEGIN CERTIFICATE-----
+client_cert_pem = b"""-----BEGIN CERTIFICATE-----
 MIICJjCCAY+gAwIBAgIJAKxpFI5lODkjMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
 BAYTAlVTMQswCQYDVQQIEwJJTDEQMA4GA1UEBxMHQ2hpY2FnbzEQMA4GA1UEChMH
 VGVzdGluZzEYMBYGA1UEAxMPVGVzdGluZyBSb290IENBMCIYDzIwMDkwMzI1MTIz
@@ -212,9 +212,9 @@
 9Zdr0U4UDCU9SmmGYh4o7R4TZ5pGFvBYvjhHbkSFYFQXZxKUi+WUxplP6I0wr2KJ
 PSTJCjJOn3xo2NTKRgV1gaoTf2EhL+RG8TQ=
 -----END CERTIFICATE-----
-""")
+"""
 
-client_key_pem = normalize_privatekey_pem(b("""-----BEGIN RSA PRIVATE KEY-----
+client_key_pem = normalize_privatekey_pem(b"""-----BEGIN RSA PRIVATE KEY-----
 MIICXgIBAAKBgQDAZh/SRtNm5ntMT4qb6YzEpTroMlq2rn+GrRHRiZ+xkCw/CGNh
 btPir7/QxaUj26BSmQrHw1bGKEbPsWiW7bdXSespl+xKiku4G/KvnnmWdeJHqsiX
 eUZtqurMELcPQAw9xPHEuhqqUJvvEoMTsnCEqGM+7DtboCRajYyHfluARQIDAQAB
@@ -229,9 +229,9 @@
 JJEQjOMCVsEJlRk54WWjAkEAzoZNH6UhDdBK5F38rVt/y4SEHgbSfJHIAmPS32Kq
 f6GGcfNpip0Uk7q7udTKuX7Q/buZi/C4YW7u3VKAquv9NA==
 -----END RSA PRIVATE KEY-----
-"""))
+""")
 
-cleartextCertificatePEM = b("""-----BEGIN CERTIFICATE-----
+cleartextCertificatePEM = b"""-----BEGIN CERTIFICATE-----
 MIIC7TCCAlagAwIBAgIIPQzE4MbeufQwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UE
 BhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQHEwdDaGljYWdvMRAwDgYDVQQKEwdU
 ZXN0aW5nMRgwFgYDVQQDEw9UZXN0aW5nIFJvb3QgQ0EwIhgPMjAwOTAzMjUxMjM2
@@ -249,9 +249,9 @@
 hkgaZnzoIq/Uamidegk4hirsCT/R+6vsKAAxNTcBjUeZjlykCJWy5ojShGftXIKY
 w/njVbKMXrvc83qmTdGl3TAM0fxQIpqgcglFLveEBgzn
 -----END CERTIFICATE-----
-""")
+"""
 
-cleartextPrivateKeyPEM = normalize_privatekey_pem(b("""\
+cleartextPrivateKeyPEM = normalize_privatekey_pem(b"""\
 -----BEGIN RSA PRIVATE KEY-----
 MIICXQIBAAKBgQD5mkLpi7q6ROdu7khB3S9aanA0Zls7vvfGOmB80/yeylhGpsjA
 jWen0VtSQke/NlEPGtO38tsV7CsuFnSmschvAnGrcJl76b0UOOHUgDTIoRxC6QDU
@@ -267,9 +267,9 @@
 6AWSeGAdtRFHVzR7oHjVAkB4hutvxiOeiIVQNBhM6RSI9aBPMI21DoX2JRoxvNW2
 cbvAhow217X9V0dVerEOKxnNYspXRrh36h7k4mQA+sDq
 -----END RSA PRIVATE KEY-----
-"""))
+""")
 
-cleartextCertificateRequestPEM = b("""-----BEGIN CERTIFICATE REQUEST-----
+cleartextCertificateRequestPEM = b"""-----BEGIN CERTIFICATE REQUEST-----
 MIIBnjCCAQcCAQAwXjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAklMMRAwDgYDVQQH
 EwdDaGljYWdvMRcwFQYDVQQKEw5NeSBDb21wYW55IEx0ZDEXMBUGA1UEAxMORnJl
 ZGVyaWNrIERlYW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANp6Y17WzKSw
@@ -280,9 +280,9 @@
 Vrb3HUNqOkiwsJf6kCtq5oPn3QVYzTa76Dt2y3Rtzv6boRSlmlfrgS92GNma8JfR
 oICQk3nAudi6zl1Dix3BCv1pUp5KMtGn3MeDEi6QFGy2rA==
 -----END CERTIFICATE REQUEST-----
-""")
+"""
 
-encryptedPrivateKeyPEM = b("""-----BEGIN RSA PRIVATE KEY-----
+encryptedPrivateKeyPEM = b"""-----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
 DEK-Info: DES-EDE3-CBC,9573604A18579E9E
 
@@ -300,12 +300,12 @@
 MbzjS007Oe4qqBnCWaFPSnJX6uLApeTbqAxAeyCql56ULW5x6vDMNC3dwjvS/CEh
 11n8RkgFIQA0AhuKSIg3CbuartRsJnWOLwgLTzsrKYL4yRog1RJrtw==
 -----END RSA PRIVATE KEY-----
-""")
+"""
 
-encryptedPrivateKeyPEMPassphrase = b("foobar")
+encryptedPrivateKeyPEMPassphrase = b"foobar"
 
 
-cleartextPublicKeyPEM = b("""-----BEGIN PUBLIC KEY-----
+cleartextPublicKeyPEM = b"""-----BEGIN PUBLIC KEY-----
 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxszlc+b71LvlLS0ypt/l
 gT/JzSVJtnEqw9WUNGeiChywX2mmQLHEt7KP0JikqUFZOtPclNY823Q4pErMTSWC
 90qlUxI47vNJbXGRfmO2q6Zfw6SE+E9iUb74xezbOJLjBuUIkQzEKEFV+8taiRV+
@@ -314,14 +314,14 @@
 8Xk5iKICEXwnZreIt3jyygqoOKsKZMK/Zl2VhMGhJR6HXRpQCyASzEG7bgtROLhL
 ywIDAQAB
 -----END PUBLIC KEY-----
-""")
+"""
 
 # Some PKCS#7 stuff.  Generated with the openssl command line:
 #
 #    openssl crl2pkcs7 -inform pem -outform pem -certfile s.pem -nocrl
 #
 # with a certificate and key (but the key should be irrelevant) in s.pem
-pkcs7Data = b("""\
+pkcs7Data = b"""\
 -----BEGIN PKCS7-----
 MIIDNwYJKoZIhvcNAQcCoIIDKDCCAyQCAQExADALBgkqhkiG9w0BBwGgggMKMIID
 BjCCAm+gAwIBAgIBATANBgkqhkiG9w0BAQQFADB7MQswCQYDVQQGEwJTRzERMA8G
@@ -342,7 +342,7 @@
 /g5NDjxFZNDJP1dGiLAxPW6JXwov4v0FmdzfLOZ01jDcgQQZqEpYlgpuI5JEWUQ9
 Ho4EzbYCOaEAMQA=
 -----END PKCS7-----
-""")
+"""
 
 pkcs7DataASN1 = base64.b64decode(b"""
 MIIDNwYJKoZIhvcNAQcCoIIDKDCCAyQCAQExADALBgkqhkiG9w0BBwGgggMKMIID
@@ -365,7 +365,7 @@
 Ho4EzbYCOaEAMQA=
 """)
 
-crlData = b("""\
+crlData = b"""\
 -----BEGIN X509 CRL-----
 MIIBWzCBxTANBgkqhkiG9w0BAQQFADBYMQswCQYDVQQGEwJVUzELMAkGA1UECBMC
 SUwxEDAOBgNVBAcTB0NoaWNhZ28xEDAOBgNVBAoTB1Rlc3RpbmcxGDAWBgNVBAMT
@@ -376,9 +376,9 @@
 0yp4HXRFFoRhhSE/hP+eteaPXRgrsNRLHe9ZDd69wmh7J1wMDb0m81RG7kqcbsid
 vrzEeLDRiiPl92dyyWmu
 -----END X509 CRL-----
-""")
+"""
 
-crlDataUnsupportedExtension = b("""\
+crlDataUnsupportedExtension = b"""\
 -----BEGIN X509 CRL-----
 MIIGRzCCBS8CAQIwDQYJKoZIhvcNAQELBQAwJzELMAkGA1UEBhMCVVMxGDAWBgNV
 BAMMD2NyeXB0b2dyYXBoeS5pbxgPMjAxNTAxMDEwMDAwMDBaGA8yMDE2MDEwMTAw
@@ -415,12 +415,12 @@
 SdEILd164bfBeLuplVI+xpmTEMVNpXBlSXl7+xIw9Vk7p7Q1Pa3k/SvhOldYCm6y
 C1xAg/AAq6w78yzYt18j5Mj0s6eeHi1YpHKw
 -----END X509 CRL-----
-""")
+"""
 
 
 # A broken RSA private key which can be used to test the error path through
 # PKey.check.
-inconsistentPrivateKeyPEM = b("""-----BEGIN RSA PRIVATE KEY-----
+inconsistentPrivateKeyPEM = b"""-----BEGIN RSA PRIVATE KEY-----
 MIIBPAIBAAJBAKy+e3dulvXzV7zoTZWc5TzgApr8DmeQHTYC8ydfzH7EECe4R1Xh
 5kwIzOuuFfn178FBiS84gngaNcrFi0Z5fAkCAwEaAQJBAIqm/bz4NA1H++Vx5Ewx
 OcKp3w19QSaZAwlGRtsUxrP7436QjnREM3Bm8ygU11BjkPVmtrKm6AayQfCHqJoT
@@ -429,11 +429,11 @@
 HjubeEgjpj32AQIhAJqMGTaZVOwevTXvvHwNeH+vRWsAYU/gbx+OQB+7VOcBAiEA
 oolb6NMg/R3enNPvS1O4UU1H8wpaF77L4yiSWlE0p4w=
 -----END RSA PRIVATE KEY-----
-""")
+"""
 
 # certificate with NULL bytes in subjectAltName and common name
 
-nulbyteSubjectAltNamePEM = b("""-----BEGIN CERTIFICATE-----
+nulbyteSubjectAltNamePEM = b"""-----BEGIN CERTIFICATE-----
 MIIE2DCCA8CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBxTELMAkGA1UEBhMCVVMx
 DzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMSMwIQYDVQQKDBpQ
 eXRob24gU29mdHdhcmUgRm91bmRhdGlvbjEgMB4GA1UECwwXUHl0aG9uIENvcmUg
@@ -460,9 +460,9 @@
 kX4LxlEx5RAvpGB2zZVRGr6LobD9rVK91xuHYNIxxxfEGE8tCCWjp0+3ksri9SXx
 VHWBnbM9YaL32u3hxm8sYB/Yb8WSBavJCWJJqRStVRHM1koZlJmXNx2BX4vPo6iW
 RFEIPQsFZRLrtnCAiEhyT8bC2s/Njlu6ly9gtJZWSV46Q3ZjBL4q9sHKqZQ=
------END CERTIFICATE-----""")
+-----END CERTIFICATE-----"""
 
-large_key_pem = b("""-----BEGIN RSA PRIVATE KEY-----
+large_key_pem = b"""-----BEGIN RSA PRIVATE KEY-----
 MIIJYgIBAAKCAg4AtRua8eIeevRfsj+fkcHr1vmse7Kgb+oX1ssJAvCb1R7JQMnH
 hNDjDP6b3vEkZuPUzlDHymP+cNkXvvi4wJ4miVbO3+SeU4Sh+jmsHeHzGIXat9xW
 9PFtuPM5FQq8zvkY8aDeRYmYwN9JKu4/neMBCBqostYlTEWg+bSytO/qWnyHTHKh
@@ -514,7 +514,7 @@
 le7YjqHugezmjMGlA0sDw5aCXjfbl74vowRFYMO6e3ItApfSRgNV86CDoX74WI/5
 AYU/QVM4wGt8XGT2KwDFJaxYGKsGDMWmXY04dS+WPuetCbouWUusyFwRb9SzFave
 vYeU7Ab/
------END RSA PRIVATE KEY-----""")
+-----END RSA PRIVATE KEY-----"""
 
 ec_private_key_pem = b"""-----BEGIN PRIVATE KEY-----
 MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgYirTZSx+5O8Y6tlG
@@ -568,7 +568,7 @@
         # This isn't necessarily the best string representation.  Perhaps it
         # will be changed/improved in the future.
         self.assertEquals(
-            str(X509Extension(b('basicConstraints'), True, b('CA:false'))),
+            str(X509Extension(b'basicConstraints', True, b'CA:false')),
             'CA:FALSE')
 
     def test_type(self):
@@ -579,7 +579,7 @@
         self.assertIdentical(X509Extension, X509ExtensionType)
         self.assertConsistentType(
             X509Extension,
-            'X509Extension', b('basicConstraints'), True, b('CA:true'))
+            'X509Extension', b'basicConstraints', True, b'CA:true')
 
     def test_construction(self):
         """
@@ -587,14 +587,14 @@
         flag, and an extension value and returns an
         :py:class:`X509ExtensionType` instance.
         """
-        basic = X509Extension(b('basicConstraints'), True, b('CA:true'))
+        basic = X509Extension(b'basicConstraints', True, b'CA:true')
         self.assertTrue(
             isinstance(basic, X509ExtensionType),
             "%r is of type %r, should be %r" % (
                 basic, type(basic), X509ExtensionType))
 
         comment = X509Extension(
-            b('nsComment'), False, b('pyOpenSSL unit test'))
+            b'nsComment', False, b'pyOpenSSL unit test')
         self.assertTrue(
             isinstance(comment, X509ExtensionType),
             "%r is of type %r, should be %r" % (
@@ -606,26 +606,26 @@
         extension name or value.
         """
         self.assertRaises(
-            Error, X509Extension, b('thisIsMadeUp'), False, b('hi'))
+            Error, X509Extension, b'thisIsMadeUp', False, b'hi')
         self.assertRaises(
-            Error, X509Extension, b('basicConstraints'), False, b('blah blah'))
+            Error, X509Extension, b'basicConstraints', False, b'blah blah')
 
         # Exercise a weird one (an extension which uses the r2i method).  This
         # exercises the codepath that requires a non-NULL ctx to be passed to
         # X509V3_EXT_nconf.  It can't work now because we provide no
         # configuration database.  It might be made to work in the future.
         self.assertRaises(
-            Error, X509Extension, b('proxyCertInfo'), True,
-            b('language:id-ppl-anyLanguage,pathlen:1,policy:text:AB'))
+            Error, X509Extension, b'proxyCertInfo', True,
+            b'language:id-ppl-anyLanguage,pathlen:1,policy:text:AB')
 
     def test_get_critical(self):
         """
         :py:meth:`X509ExtensionType.get_critical` returns the value of the
         extension's critical flag.
         """
-        ext = X509Extension(b('basicConstraints'), True, b('CA:true'))
+        ext = X509Extension(b'basicConstraints', True, b'CA:true')
         self.assertTrue(ext.get_critical())
-        ext = X509Extension(b('basicConstraints'), False, b('CA:true'))
+        ext = X509Extension(b'basicConstraints', False, b'CA:true')
         self.assertFalse(ext.get_critical())
 
     def test_get_short_name(self):
@@ -633,26 +633,26 @@
         :py:meth:`X509ExtensionType.get_short_name` returns a string giving the
         short type name of the extension.
         """
-        ext = X509Extension(b('basicConstraints'), True, b('CA:true'))
-        self.assertEqual(ext.get_short_name(), b('basicConstraints'))
-        ext = X509Extension(b('nsComment'), True, b('foo bar'))
-        self.assertEqual(ext.get_short_name(), b('nsComment'))
+        ext = X509Extension(b'basicConstraints', True, b'CA:true')
+        self.assertEqual(ext.get_short_name(), b'basicConstraints')
+        ext = X509Extension(b'nsComment', True, b'foo bar')
+        self.assertEqual(ext.get_short_name(), b'nsComment')
 
     def test_get_data(self):
         """
         :py:meth:`X509Extension.get_data` returns a string giving the data of
         the extension.
         """
-        ext = X509Extension(b('basicConstraints'), True, b('CA:true'))
+        ext = X509Extension(b'basicConstraints', True, b'CA:true')
         # Expect to get back the DER encoded form of CA:true.
-        self.assertEqual(ext.get_data(), b('0\x03\x01\x01\xff'))
+        self.assertEqual(ext.get_data(), b'0\x03\x01\x01\xff')
 
     def test_get_data_wrong_args(self):
         """
         :py:meth:`X509Extension.get_data` raises :py:exc:`TypeError` if passed
         any arguments.
         """
-        ext = X509Extension(b('basicConstraints'), True, b('CA:true'))
+        ext = X509Extension(b'basicConstraints', True, b'CA:true')
         self.assertRaises(TypeError, ext.get_data, None)
         self.assertRaises(TypeError, ext.get_data, "foo")
         self.assertRaises(TypeError, ext.get_data, 7)
@@ -664,13 +664,13 @@
         case.
         """
         ext1 = X509Extension(
-            b('basicConstraints'), False, b('CA:TRUE'), subject=self.x509)
+            b'basicConstraints', False, b'CA:TRUE', subject=self.x509)
         self.x509.add_extensions([ext1])
         self.x509.sign(self.pkey, 'sha1')
         # This is a little lame.  Can we think of a better way?
         text = dump_certificate(FILETYPE_TEXT, self.x509)
-        self.assertTrue(b('X509v3 Basic Constraints:') in text)
-        self.assertTrue(b('CA:TRUE') in text)
+        self.assertTrue(b'X509v3 Basic Constraints:' in text)
+        self.assertTrue(b'CA:TRUE' in text)
 
     def test_subject(self):
         """
@@ -678,11 +678,11 @@
         :py:class:`X509Extension` provides its value.
         """
         ext3 = X509Extension(
-            b('subjectKeyIdentifier'), False, b('hash'), subject=self.x509)
+            b'subjectKeyIdentifier', False, b'hash', subject=self.x509)
         self.x509.add_extensions([ext3])
         self.x509.sign(self.pkey, 'sha1')
         text = dump_certificate(FILETYPE_TEXT, self.x509)
-        self.assertTrue(b('X509v3 Subject Key Identifier:') in text)
+        self.assertTrue(b'X509v3 Subject Key Identifier:' in text)
 
     def test_missing_subject(self):
         """
@@ -690,7 +690,7 @@
         is given no value, something happens.
         """
         self.assertRaises(
-            Error, X509Extension, b('subjectKeyIdentifier'), False, b('hash'))
+            Error, X509Extension, b'subjectKeyIdentifier', False, b'hash')
 
     def test_invalid_subject(self):
         """
@@ -710,12 +710,12 @@
         case.
         """
         ext1 = X509Extension(
-            b('basicConstraints'), False, b('CA:TRUE'), issuer=self.x509)
+            b'basicConstraints', False, b'CA:TRUE', issuer=self.x509)
         self.x509.add_extensions([ext1])
         self.x509.sign(self.pkey, 'sha1')
         text = dump_certificate(FILETYPE_TEXT, self.x509)
-        self.assertTrue(b('X509v3 Basic Constraints:') in text)
-        self.assertTrue(b('CA:TRUE') in text)
+        self.assertTrue(b'X509v3 Basic Constraints:' in text)
+        self.assertTrue(b'CA:TRUE' in text)
 
     def test_issuer(self):
         """
@@ -723,13 +723,13 @@
         :py:class:`X509Extension` provides its value.
         """
         ext2 = X509Extension(
-            b('authorityKeyIdentifier'), False, b('issuer:always'),
+            b'authorityKeyIdentifier', False, b'issuer:always',
             issuer=self.x509)
         self.x509.add_extensions([ext2])
         self.x509.sign(self.pkey, 'sha1')
         text = dump_certificate(FILETYPE_TEXT, self.x509)
-        self.assertTrue(b('X509v3 Authority Key Identifier:') in text)
-        self.assertTrue(b('DirName:/CN=Yoda root CA') in text)
+        self.assertTrue(b'X509v3 Authority Key Identifier:' in text)
+        self.assertTrue(b'DirName:/CN=Yoda root CA' in text)
 
     def test_missing_issuer(self):
         """
@@ -739,8 +739,8 @@
         self.assertRaises(
             Error,
             X509Extension,
-            b('authorityKeyIdentifier'), False,
-            b('keyid:always,issuer:always'))
+            b'authorityKeyIdentifier', False,
+            b'keyid:always,issuer:always')
 
     def test_invalid_issuer(self):
         """
@@ -1174,8 +1174,8 @@
         a = self._x509name(CN="foo", C="US")
         self.assertEqual(
             a.der(),
-            b('0\x1b1\x0b0\t\x06\x03U\x04\x06\x13\x02US'
-              '1\x0c0\n\x06\x03U\x04\x03\x0c\x03foo'))
+            b'0\x1b1\x0b0\t\x06\x03U\x04\x06\x13\x02US'
+            b'1\x0c0\n\x06\x03U\x04\x03\x0c\x03foo')
 
     def test_get_components(self):
         """
@@ -1186,11 +1186,11 @@
         a = self._x509name()
         self.assertEqual(a.get_components(), [])
         a.CN = "foo"
-        self.assertEqual(a.get_components(), [(b("CN"), b("foo"))])
+        self.assertEqual(a.get_components(), [(b"CN", b"foo")])
         a.organizationalUnitName = "bar"
         self.assertEqual(
             a.get_components(),
-            [(b("CN"), b("foo")), (b("OU"), b("bar"))])
+            [(b"CN", b"foo"), (b"OU", b"bar")])
 
     def test_load_nul_byte_attribute(self):
         """
@@ -1361,12 +1361,12 @@
         """
         request = X509Req()
         request.add_extensions([
-            X509Extension(b('basicConstraints'), True, b('CA:false'))])
+            X509Extension(b'basicConstraints', True, b'CA:false')])
         exts = request.get_extensions()
         self.assertEqual(len(exts), 1)
-        self.assertEqual(exts[0].get_short_name(), b('basicConstraints'))
+        self.assertEqual(exts[0].get_short_name(), b'basicConstraints')
         self.assertEqual(exts[0].get_critical(), 1)
-        self.assertEqual(exts[0].get_data(), b('0\x00'))
+        self.assertEqual(exts[0].get_data(), b'0\x00')
 
     def test_get_extensions(self):
         """
@@ -1377,16 +1377,16 @@
         exts = request.get_extensions()
         self.assertEqual(exts, [])
         request.add_extensions([
-            X509Extension(b('basicConstraints'), True, b('CA:true')),
-            X509Extension(b('keyUsage'), False, b('digitalSignature'))])
+            X509Extension(b'basicConstraints', True, b'CA:true'),
+            X509Extension(b'keyUsage', False, b'digitalSignature')])
         exts = request.get_extensions()
         self.assertEqual(len(exts), 2)
-        self.assertEqual(exts[0].get_short_name(), b('basicConstraints'))
+        self.assertEqual(exts[0].get_short_name(), b'basicConstraints')
         self.assertEqual(exts[0].get_critical(), 1)
-        self.assertEqual(exts[0].get_data(), b('0\x03\x01\x01\xff'))
-        self.assertEqual(exts[1].get_short_name(), b('keyUsage'))
+        self.assertEqual(exts[0].get_data(), b'0\x03\x01\x01\xff')
+        self.assertEqual(exts[1].get_short_name(), b'keyUsage')
         self.assertEqual(exts[1].get_critical(), 0)
-        self.assertEqual(exts[1].get_data(), b('\x03\x02\x07\x80'))
+        self.assertEqual(exts[1].get_data(), b'\x03\x02\x07\x80')
 
     def test_add_extensions_wrong_args(self):
         """
@@ -1572,28 +1572,28 @@
         self.assertEqual(get(), None)
 
         # GMT (Or is it UTC?) -exarkun
-        when = b("20040203040506Z")
+        when = b"20040203040506Z"
         set(when)
         self.assertEqual(get(), when)
 
         # A plus two hours and thirty minutes offset
-        when = b("20040203040506+0530")
+        when = b"20040203040506+0530"
         set(when)
         self.assertEqual(get(), when)
 
         # A minus one hour fifteen minutes offset
-        when = b("20040203040506-0115")
+        when = b"20040203040506-0115"
         set(when)
         self.assertEqual(get(), when)
 
         # An invalid string results in a ValueError
-        self.assertRaises(ValueError, set, b("foo bar"))
+        self.assertRaises(ValueError, set, b"foo bar")
 
         # The wrong number of arguments results in a TypeError.
         self.assertRaises(TypeError, set)
         with pytest.raises(TypeError):
             set(b"20040203040506Z", b"20040203040506Z")
-        self.assertRaises(TypeError, get, b("foo bar"))
+        self.assertRaises(TypeError, get, b"foo bar")
 
     # XXX ASN1_TIME (not GENERALIZEDTIME)
 
@@ -1620,7 +1620,7 @@
         internally.
         """
         cert = load_certificate(FILETYPE_PEM, self.pemData)
-        self.assertEqual(cert.get_notBefore(), b("20090325123658Z"))
+        self.assertEqual(cert.get_notBefore(), b"20090325123658Z")
 
     def test_get_notAfter(self):
         """
@@ -1629,7 +1629,7 @@
         internally.
         """
         cert = load_certificate(FILETYPE_PEM, self.pemData)
-        self.assertEqual(cert.get_notAfter(), b("20170611123658Z"))
+        self.assertEqual(cert.get_notAfter(), b"20170611123658Z")
 
     def test_gmtime_adj_notBefore_wrong_args(self):
         """
@@ -1732,14 +1732,14 @@
             # Digest verified with the command:
             # openssl x509 -in root_cert.pem -noout -fingerprint -md5
             cert.digest("MD5"),
-            b("19:B3:05:26:2B:F8:F2:FF:0B:8F:21:07:A8:28:B8:75"))
+            b"19:B3:05:26:2B:F8:F2:FF:0B:8F:21:07:A8:28:B8:75")
 
     def _extcert(self, pkey, extensions):
         cert = X509()
         cert.set_pubkey(pkey)
         cert.get_subject().commonName = "Unit Tests"
         cert.get_issuer().commonName = "Unit Tests"
-        when = b(datetime.now().strftime("%Y%m%d%H%M%SZ"))
+        when = datetime.now().strftime("%Y%m%d%H%M%SZ").encode("ascii")
         cert.set_notBefore(when)
         cert.set_notAfter(when)
 
@@ -1754,10 +1754,10 @@
         that are present in the certificate.
         """
         pkey = load_privatekey(FILETYPE_PEM, client_key_pem)
-        ca = X509Extension(b('basicConstraints'), True, b('CA:FALSE'))
-        key = X509Extension(b('keyUsage'), True, b('digitalSignature'))
+        ca = X509Extension(b'basicConstraints', True, b'CA:FALSE')
+        key = X509Extension(b'keyUsage', True, b'digitalSignature')
         subjectAltName = X509Extension(
-            b('subjectAltName'), True, b('DNS:example.com'))
+            b'subjectAltName', True, b'DNS:example.com')
 
         # Try a certificate with no extensions at all.
         c = self._extcert(pkey, [])
@@ -1777,27 +1777,27 @@
         :py:obj:`X509Extension` corresponding to the extension at that index.
         """
         pkey = load_privatekey(FILETYPE_PEM, client_key_pem)
-        ca = X509Extension(b('basicConstraints'), True, b('CA:FALSE'))
-        key = X509Extension(b('keyUsage'), True, b('digitalSignature'))
+        ca = X509Extension(b'basicConstraints', True, b'CA:FALSE')
+        key = X509Extension(b'keyUsage', True, b'digitalSignature')
         subjectAltName = X509Extension(
-            b('subjectAltName'), False, b('DNS:example.com'))
+            b'subjectAltName', False, b'DNS:example.com')
 
         cert = self._extcert(pkey, [ca, key, subjectAltName])
 
         ext = cert.get_extension(0)
         self.assertTrue(isinstance(ext, X509Extension))
         self.assertTrue(ext.get_critical())
-        self.assertEqual(ext.get_short_name(), b('basicConstraints'))
+        self.assertEqual(ext.get_short_name(), b'basicConstraints')
 
         ext = cert.get_extension(1)
         self.assertTrue(isinstance(ext, X509Extension))
         self.assertTrue(ext.get_critical())
-        self.assertEqual(ext.get_short_name(), b('keyUsage'))
+        self.assertEqual(ext.get_short_name(), b'keyUsage')
 
         ext = cert.get_extension(2)
         self.assertTrue(isinstance(ext, X509Extension))
         self.assertFalse(ext.get_critical())
-        self.assertEqual(ext.get_short_name(), b('subjectAltName'))
+        self.assertEqual(ext.get_short_name(), b'subjectAltName')
 
         self.assertRaises(IndexError, cert.get_extension, -1)
         self.assertRaises(IndexError, cert.get_extension, 4)
@@ -1812,13 +1812,13 @@
         cert = load_certificate(FILETYPE_PEM, nulbyteSubjectAltNamePEM)
 
         ext = cert.get_extension(3)
-        self.assertEqual(ext.get_short_name(), b('subjectAltName'))
+        self.assertEqual(ext.get_short_name(), b'subjectAltName')
         self.assertEqual(
-            b("DNS:altnull.python.org\x00example.com, "
-              "email:null@python.org\x00user@example.org, "
-              "URI:http://null.python.org\x00http://example.org, "
-              "IP Address:192.0.2.1, IP Address:2001:DB8:0:0:0:0:0:1\n"),
-            b(str(ext)))
+            b"DNS:altnull.python.org\x00example.com, "
+            b"email:null@python.org\x00user@example.org, "
+            b"URI:http://null.python.org\x00http://example.org, "
+            b"IP Address:192.0.2.1, IP Address:2001:DB8:0:0:0:0:0:1\n",
+            str(ext).encode("ascii"))
 
     def test_invalid_digest_algorithm(self):
         """
@@ -1845,8 +1845,8 @@
         self.assertTrue(isinstance(subj, X509Name))
         self.assertEquals(
             subj.get_components(),
-            [(b('C'), b('US')), (b('ST'), b('IL')), (b('L'), b('Chicago')),
-             (b('O'), b('Testing')), (b('CN'), b('Testing Root CA'))])
+            [(b'C', b'US'), (b'ST', b'IL'), (b'L', b'Chicago'),
+             (b'O', b'Testing'), (b'CN', b'Testing Root CA')])
 
     def test_set_subject_wrong_args(self):
         """
@@ -1872,7 +1872,7 @@
         cert.set_subject(name)
         self.assertEquals(
             cert.get_subject().get_components(),
-            [(b('C'), b('AU')), (b('O'), b('Unit Tests'))])
+            [(b'C', b'AU'), (b'O', b'Unit Tests')])
 
     def test_get_issuer_wrong_args(self):
         """
@@ -1892,8 +1892,8 @@
         comp = subj.get_components()
         self.assertEquals(
             comp,
-            [(b('C'), b('US')), (b('ST'), b('IL')), (b('L'), b('Chicago')),
-             (b('O'), b('Testing')), (b('CN'), b('Testing Root CA'))])
+            [(b'C', b'US'), (b'ST', b'IL'), (b'L', b'Chicago'),
+             (b'O', b'Testing'), (b'CN', b'Testing Root CA')])
 
     def test_set_issuer_wrong_args(self):
         """
@@ -1918,7 +1918,7 @@
         cert.set_issuer(name)
         self.assertEquals(
             cert.get_issuer().get_components(),
-            [(b('C'), b('AU')), (b('O'), b('Unit Tests'))])
+            [(b'C', b'AU'), (b'O', b'Unit Tests')])
 
     def test_get_pubkey_uninitialized(self):
         """
@@ -1964,7 +1964,7 @@
         """
         cert = load_certificate(FILETYPE_PEM, self.pemData)
         self.assertEqual(
-            b("sha1WithRSAEncryption"), cert.get_signature_algorithm())
+            b"sha1WithRSAEncryption", cert.get_signature_algorithm())
 
     def test_get_undefined_signature_algorithm(self):
         """
@@ -1973,7 +1973,7 @@
         """
         # This certificate has been modified to indicate a bogus OID in the
         # signature algorithm field so that OpenSSL does not recognize it.
-        certPEM = b("""\
+        certPEM = b"""\
 -----BEGIN CERTIFICATE-----
 MIIC/zCCAmigAwIBAgIBATAGBgJ8BQUAMHsxCzAJBgNVBAYTAlNHMREwDwYDVQQK
 EwhNMkNyeXB0bzEUMBIGA1UECxMLTTJDcnlwdG8gQ0ExJDAiBgNVBAMTG00yQ3J5
@@ -1993,7 +1993,7 @@
 PEVk0Mk/V0aIsDE9bolfCi/i/QWZ3N8s5nTWMNyBBBmoSliWCm4jkkRZRD0ejgTN
 tgI5
 -----END CERTIFICATE-----
-""")
+"""
         cert = load_certificate(FILETYPE_PEM, certPEM)
         self.assertRaises(ValueError, cert.get_signature_algorithm)
 
@@ -2347,7 +2347,7 @@
         """
         passwd = b'Dogmeat[]{}!@#$%^&*()~`?/.,<>-_+=";:'
         p12 = self.gen_pkcs12(server_cert_pem, server_key_pem, root_cert_pem)
-        for friendly_name in [b('Serverlicious'), None, b('###')]:
+        for friendly_name in [b'Serverlicious', None, b'###']:
             p12.set_friendlyname(friendly_name)
             self.assertEqual(p12.get_friendlyname(), friendly_name)
             dumped_p12 = p12.export(passphrase=passwd, iter=2, maciter=3)
@@ -2609,7 +2609,7 @@
         """
         self.assertRaises(
             Error,
-            load_privatekey, FILETYPE_PEM, encryptedPrivateKeyPEM, b("quack"))
+            load_privatekey, FILETYPE_PEM, encryptedPrivateKeyPEM, b"quack")
 
     def test_load_privatekey_passphraseWrongType(self):
         """
@@ -2653,7 +2653,7 @@
 
         def cb(*a):
             called.append(None)
-            return b("quack")
+            return b"quack"
         self.assertRaises(
             Error,
             load_privatekey, FILETYPE_PEM, encryptedPrivateKeyPEM, cb)
@@ -2742,7 +2742,7 @@
         :py:obj:`dump_privatekey` writes an encrypted PEM when given a
         passphrase.
         """
-        passphrase = b("foo")
+        passphrase = b"foo"
         key = load_privatekey(FILETYPE_PEM, cleartextPrivateKeyPEM)
         pem = dump_privatekey(FILETYPE_PEM, key, GOOD_CIPHER, passphrase)
         self.assertTrue(isinstance(pem, binary_type))
@@ -2876,7 +2876,7 @@
         :py:obj:`dump_privatekey` writes an encrypted PEM when given a callback
         which returns the correct passphrase.
         """
-        passphrase = b("foo")
+        passphrase = b"foo"
         called = []
 
         def cb(writing):
@@ -3068,7 +3068,7 @@
         type name.
         """
         pkcs7 = load_pkcs7_data(FILETYPE_PEM, pkcs7Data)
-        self.assertEquals(pkcs7.get_type_name(), b('pkcs7-signedData'))
+        self.assertEquals(pkcs7.get_type_name(), b'pkcs7-signedData')
 
     def test_attribute(self):
         """
@@ -3163,7 +3163,7 @@
         revoked = Revoked()
         self.assertTrue(isinstance(revoked, Revoked))
         self.assertEquals(type(revoked), Revoked)
-        self.assertEquals(revoked.get_serial(), b('00'))
+        self.assertEquals(revoked.get_serial(), b'00')
         self.assertEquals(revoked.get_rev_date(), None)
         self.assertEquals(revoked.get_reason(), None)
 
@@ -3183,16 +3183,16 @@
         with grace.
         """
         revoked = Revoked()
-        ret = revoked.set_serial(b('10b'))
+        ret = revoked.set_serial(b'10b')
         self.assertEquals(ret, None)
         ser = revoked.get_serial()
-        self.assertEquals(ser, b('010B'))
+        self.assertEquals(ser, b'010B')
 
-        revoked.set_serial(b('31ppp'))  # a type error would be nice
+        revoked.set_serial(b'31ppp')  # a type error would be nice
         ser = revoked.get_serial()
-        self.assertEquals(ser, b('31'))
+        self.assertEquals(ser, b'31')
 
-        self.assertRaises(ValueError, revoked.set_serial, b('pqrst'))
+        self.assertRaises(ValueError, revoked.set_serial, b'pqrst')
         self.assertRaises(TypeError, revoked.set_serial, 100)
         self.assertRaises(TypeError, revoked.get_serial, 1)
         self.assertRaises(TypeError, revoked.get_serial, None)
@@ -3208,7 +3208,7 @@
         date = revoked.get_rev_date()
         self.assertEquals(date, None)
 
-        now = b(datetime.now().strftime("%Y%m%d%H%M%SZ"))
+        now = datetime.now().strftime("%Y%m%d%H%M%SZ").encode("ascii")
         ret = revoked.set_rev_date(now)
         self.assertEqual(ret, None)
         date = revoked.get_rev_date()
@@ -3227,8 +3227,8 @@
                 self.assertEquals(ret, None)
                 reason = revoked.get_reason()
                 self.assertEquals(
-                    reason.lower().replace(b(' '), b('')),
-                    r.lower().replace(b(' '), b('')))
+                    reason.lower().replace(b' ', b''),
+                    r.lower().replace(b' ', b''))
                 r = reason  # again with the resp of get
 
         revoked.set_reason(None)
@@ -3242,7 +3242,7 @@
         """
         revoked = Revoked()
         self.assertRaises(TypeError, revoked.set_reason, 100)
-        self.assertRaises(ValueError, revoked.set_reason, b('blue'))
+        self.assertRaises(ValueError, revoked.set_reason, b'blue')
 
     def test_get_reason_wrong_arguments(self):
         """
@@ -3295,10 +3295,10 @@
         """
         crl = CRL()
         revoked = Revoked()
-        now = b(datetime.now().strftime("%Y%m%d%H%M%SZ"))
+        now = datetime.now().strftime("%Y%m%d%H%M%SZ").encode("ascii")
         revoked.set_rev_date(now)
-        revoked.set_serial(b('3ab'))
-        revoked.set_reason(b('sUpErSeDEd'))
+        revoked.set_serial(b'3ab')
+        revoked.set_reason(b'sUpErSeDEd')
         crl.add_revoked(revoked)
         return crl
 
@@ -3315,10 +3315,10 @@
 
         # These magic values are based on the way the CRL above was constructed
         # and with what certificate it was exported.
-        text.index(b('Serial Number: 03AB'))
-        text.index(b('Superseded'))
+        text.index(b'Serial Number: 03AB')
+        text.index(b'Superseded')
         text.index(
-            b('Issuer: /C=US/ST=IL/L=Chicago/O=Testing/CN=Testing Root CA')
+            b'Issuer: /C=US/ST=IL/L=Chicago/O=Testing/CN=Testing Root CA'
         )
 
     def test_export_der(self):
@@ -3334,10 +3334,10 @@
         text = _runopenssl(
             dumped_crl, b"crl", b"-noout", b"-text", b"-inform", b"DER"
         )
-        text.index(b('Serial Number: 03AB'))
-        text.index(b('Superseded'))
+        text.index(b'Serial Number: 03AB')
+        text.index(b'Superseded')
         text.index(
-            b('Issuer: /C=US/ST=IL/L=Chicago/O=Testing/CN=Testing Root CA')
+            b'Issuer: /C=US/ST=IL/L=Chicago/O=Testing/CN=Testing Root CA'
         )
 
     def test_export_text(self):
@@ -3365,7 +3365,7 @@
         crl = self._get_crl()
         dumped_crl = crl.export(self.cert, self.pkey, digest=b"sha1")
         text = _runopenssl(dumped_crl, b"crl", b"-noout", b"-text")
-        text.index(b('Signature Algorithm: sha1'))
+        text.index(b'Signature Algorithm: sha1')
 
     def test_export_md5_digest(self):
         """
@@ -3378,7 +3378,7 @@
             self.assertEqual(0, len(catcher))
         dumped_crl = crl.export(self.cert, self.pkey, digest=b"md5")
         text = _runopenssl(dumped_crl, b"crl", b"-noout", b"-text")
-        text.index(b('Signature Algorithm: md5'))
+        text.index(b'Signature Algorithm: md5')
 
     def test_export_default_digest(self):
         """
@@ -3395,7 +3395,7 @@
                 str(catcher[0].message),
             )
         text = _runopenssl(dumped_crl, b"crl", b"-noout", b"-text")
-        text.index(b('Signature Algorithm: md5'))
+        text.index(b'Signature Algorithm: md5')
 
     def test_export_invalid(self):
         """
@@ -3468,20 +3468,20 @@
         crl = CRL()
 
         revoked = Revoked()
-        now = b(datetime.now().strftime("%Y%m%d%H%M%SZ"))
+        now = datetime.now().strftime("%Y%m%d%H%M%SZ").encode("ascii")
         revoked.set_rev_date(now)
-        revoked.set_serial(b('3ab'))
+        revoked.set_serial(b'3ab')
         crl.add_revoked(revoked)
-        revoked.set_serial(b('100'))
-        revoked.set_reason(b('sUpErSeDEd'))
+        revoked.set_serial(b'100')
+        revoked.set_reason(b'sUpErSeDEd')
         crl.add_revoked(revoked)
 
         revs = crl.get_revoked()
         self.assertEqual(len(revs), 2)
         self.assertEqual(type(revs[0]), Revoked)
         self.assertEqual(type(revs[1]), Revoked)
-        self.assertEqual(revs[0].get_serial(), b('03AB'))
-        self.assertEqual(revs[1].get_serial(), b('0100'))
+        self.assertEqual(revs[0].get_serial(), b'03AB')
+        self.assertEqual(revs[1].get_serial(), b'0100')
         self.assertEqual(revs[0].get_rev_date(), now)
         self.assertEqual(revs[1].get_rev_date(), now)
 
@@ -3514,19 +3514,19 @@
         crl = load_crl(FILETYPE_PEM, crlData)
         revs = crl.get_revoked()
         self.assertEqual(len(revs), 2)
-        self.assertEqual(revs[0].get_serial(), b('03AB'))
+        self.assertEqual(revs[0].get_serial(), b'03AB')
         self.assertEqual(revs[0].get_reason(), None)
-        self.assertEqual(revs[1].get_serial(), b('0100'))
-        self.assertEqual(revs[1].get_reason(), b('Superseded'))
+        self.assertEqual(revs[1].get_serial(), b'0100')
+        self.assertEqual(revs[1].get_reason(), b'Superseded')
 
         der = _runopenssl(crlData, b"crl", b"-outform", b"DER")
         crl = load_crl(FILETYPE_ASN1, der)
         revs = crl.get_revoked()
         self.assertEqual(len(revs), 2)
-        self.assertEqual(revs[0].get_serial(), b('03AB'))
+        self.assertEqual(revs[0].get_serial(), b'03AB')
         self.assertEqual(revs[0].get_reason(), None)
-        self.assertEqual(revs[1].get_serial(), b('0100'))
-        self.assertEqual(revs[1].get_reason(), b('Superseded'))
+        self.assertEqual(revs[1].get_serial(), b'0100')
+        self.assertEqual(revs[1].get_reason(), b'Superseded')
 
     def test_load_crl_wrong_args(self):
         """
@@ -3752,12 +3752,12 @@
         :py:obj:`sign` generates a cryptographic signature which
         :py:obj:`verify` can check.
         """
-        content = b(
-            "It was a bright cold day in April, and the clocks were striking "
-            "thirteen. Winston Smith, his chin nuzzled into his breast in an "
-            "effort to escape the vile wind, slipped quickly through the "
-            "glass doors of Victory Mansions, though not quickly enough to "
-            "prevent a swirl of gritty dust from entering along with him.")
+        content = (
+            b"It was a bright cold day in April, and the clocks were striking "
+            b"thirteen. Winston Smith, his chin nuzzled into his breast in an "
+            b"effort to escape the vile wind, slipped quickly through the "
+            b"glass doors of Victory Mansions, though not quickly enough to "
+            b"prevent a swirl of gritty dust from entering along with him.")
 
         # sign the content with this private key
         priv_key = load_privatekey(FILETYPE_PEM, root_key_pem)
@@ -3781,7 +3781,7 @@
             # signing it.
             self.assertRaises(
                 Error, verify,
-                good_cert, sig, content + b("tainted"), digest)
+                good_cert, sig, content + b"tainted", digest)
 
         # test that unknown digest types fail
         self.assertRaises(
@@ -3834,7 +3834,7 @@
         """
         :py:obj:`sign` produces a signature for a string with embedded nulls.
         """
-        content = b("Watch out!  \0  Did you see it?")
+        content = b"Watch out!  \0  Did you see it?"
         priv_key = load_privatekey(FILETYPE_PEM, root_key_pem)
         good_cert = load_certificate(FILETYPE_PEM, root_cert_pem)
         sig = sign(priv_key, content, "sha1")
@@ -3844,12 +3844,12 @@
         """
         :py:obj:`sign` produces a signature for a string when using a long key.
         """
-        content = b(
-            "It was a bright cold day in April, and the clocks were striking "
-            "thirteen. Winston Smith, his chin nuzzled into his breast in an "
-            "effort to escape the vile wind, slipped quickly through the "
-            "glass doors of Victory Mansions, though not quickly enough to "
-            "prevent a swirl of gritty dust from entering along with him.")
+        content = (
+            b"It was a bright cold day in April, and the clocks were striking "
+            b"thirteen. Winston Smith, his chin nuzzled into his breast in an "
+            b"effort to escape the vile wind, slipped quickly through the "
+            b"glass doors of Victory Mansions, though not quickly enough to "
+            b"prevent a swirl of gritty dust from entering along with him.")
 
         priv_key = load_privatekey(FILETYPE_PEM, large_key_pem)
         sign(priv_key, content, "sha1")
@@ -3892,7 +3892,7 @@
             curve = next(iter(curves))
             self.assertEqual(curve.name, get_elliptic_curve(curve.name).name)
         else:
-            self.assertRaises(ValueError, get_elliptic_curve, u("prime256v1"))
+            self.assertRaises(ValueError, get_elliptic_curve, u"prime256v1")
 
     def test_not_a_curve(self):
         """
@@ -3900,7 +3900,7 @@
         with a name which does not identify a supported curve.
         """
         self.assertRaises(
-            ValueError, get_elliptic_curve, u("this curve was just invented"))
+            ValueError, get_elliptic_curve, u"this curve was just invented")
 
     def test_repr(self):
         """