Skip to content

Commit cd86457

Browse files
committed
Drop Python 2
1 parent e047759 commit cd86457

38 files changed

+139
-284
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
),
7878
include_package_data=True,
7979
python_requires=">=3.6",
80-
install_requires=["six >= 1.4.1"] + setup_requirements,
80+
install_requires=setup_requirements,
8181
setup_requires=setup_requirements,
8282
extras_require={
8383
"test": [

src/cryptography/fernet.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import struct
1010
import time
1111

12-
import six
13-
1412
from cryptography import utils
1513
from cryptography.exceptions import InvalidSignature
1614
from cryptography.hazmat.backends import _get_backend
@@ -96,7 +94,7 @@ def _get_unverified_token_data(token):
9694
except (TypeError, binascii.Error):
9795
raise InvalidToken
9896

99-
if not data or six.indexbytes(data, 0) != 0x80:
97+
if not data or data[0] != 0x80:
10098
raise InvalidToken
10199

102100
try:

src/cryptography/hazmat/_der.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
# for complete details.
44

55

6-
import six
7-
86
from cryptography.utils import int_from_bytes, int_to_bytes
97

108

@@ -52,7 +50,7 @@ def check_empty(self):
5250
def read_byte(self):
5351
if len(self.data) < 1:
5452
raise ValueError("Invalid DER input: insufficient data")
55-
ret = six.indexbytes(self.data, 0)
53+
ret = self.data[0]
5654
self.data = self.data[1:]
5755
return ret
5856

@@ -110,20 +108,20 @@ def read_single_element(self, expected_tag):
110108
return self.read_element(expected_tag)
111109

112110
def read_optional_element(self, expected_tag):
113-
if len(self.data) > 0 and six.indexbytes(self.data, 0) == expected_tag:
111+
if len(self.data) > 0 and self.data[0] == expected_tag:
114112
return self.read_element(expected_tag)
115113
return None
116114

117115
def as_integer(self):
118116
if len(self.data) == 0:
119117
raise ValueError("Invalid DER input: empty integer contents")
120-
first = six.indexbytes(self.data, 0)
118+
first = self.data[0]
121119
if first & 0x80 == 0x80:
122120
raise ValueError("Negative DER integers are not supported")
123121
# The first 9 bits must not all be zero or all be ones. Otherwise, the
124122
# encoding should have been one byte shorter.
125123
if len(self.data) > 1:
126-
second = six.indexbytes(self.data, 1)
124+
second = self.data[1]
127125
if first == 0 and second & 0x80 == 0:
128126
raise ValueError(
129127
"Invalid DER input: integer not minimally-encoded"
@@ -132,7 +130,7 @@ def as_integer(self):
132130

133131

134132
def encode_der_integer(x):
135-
if not isinstance(x, six.integer_types):
133+
if not isinstance(x, int):
136134
raise ValueError("Value must be an integer")
137135
if x < 0:
138136
raise ValueError("Negative integers are not supported")
@@ -144,12 +142,12 @@ def encode_der(tag, *children):
144142
length = 0
145143
for child in children:
146144
length += len(child)
147-
chunks = [six.int2byte(tag)]
145+
chunks = [bytes([tag])]
148146
if length < 0x80:
149-
chunks.append(six.int2byte(length))
147+
chunks.append(bytes([length]))
150148
else:
151149
length_bytes = int_to_bytes(length)
152-
chunks.append(six.int2byte(0x80 | len(length_bytes)))
150+
chunks.append(bytes([0x80 | len(length_bytes)]))
153151
chunks.append(length_bytes)
154152
chunks.extend(children)
155153
return b"".join(chunks)

src/cryptography/hazmat/backends/interfaces.py

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@
55

66
import abc
77

8-
import six
98

10-
11-
@six.add_metaclass(abc.ABCMeta)
12-
class CipherBackend(object):
9+
class CipherBackend(metaclass=abc.ABCMeta):
1310
@abc.abstractmethod
1411
def cipher_supported(self, cipher, mode):
1512
"""
@@ -29,8 +26,7 @@ def create_symmetric_decryption_ctx(self, cipher, mode):
2926
"""
3027

3128

32-
@six.add_metaclass(abc.ABCMeta)
33-
class HashBackend(object):
29+
class HashBackend(metaclass=abc.ABCMeta):
3430
@abc.abstractmethod
3531
def hash_supported(self, algorithm):
3632
"""
@@ -44,8 +40,7 @@ def create_hash_ctx(self, algorithm):
4440
"""
4541

4642

47-
@six.add_metaclass(abc.ABCMeta)
48-
class HMACBackend(object):
43+
class HMACBackend(metaclass=abc.ABCMeta):
4944
@abc.abstractmethod
5045
def hmac_supported(self, algorithm):
5146
"""
@@ -60,8 +55,7 @@ def create_hmac_ctx(self, key, algorithm):
6055
"""
6156

6257

63-
@six.add_metaclass(abc.ABCMeta)
64-
class CMACBackend(object):
58+
class CMACBackend(metaclass=abc.ABCMeta):
6559
@abc.abstractmethod
6660
def cmac_algorithm_supported(self, algorithm):
6761
"""
@@ -75,8 +69,7 @@ def create_cmac_ctx(self, algorithm):
7569
"""
7670

7771

78-
@six.add_metaclass(abc.ABCMeta)
79-
class PBKDF2HMACBackend(object):
72+
class PBKDF2HMACBackend(metaclass=abc.ABCMeta):
8073
@abc.abstractmethod
8174
def pbkdf2_hmac_supported(self, algorithm):
8275
"""
@@ -93,8 +86,7 @@ def derive_pbkdf2_hmac(
9386
"""
9487

9588

96-
@six.add_metaclass(abc.ABCMeta)
97-
class RSABackend(object):
89+
class RSABackend(metaclass=abc.ABCMeta):
9890
@abc.abstractmethod
9991
def generate_rsa_private_key(self, public_exponent, key_size):
10092
"""
@@ -128,8 +120,7 @@ def load_rsa_public_numbers(self, numbers):
128120
"""
129121

130122

131-
@six.add_metaclass(abc.ABCMeta)
132-
class DSABackend(object):
123+
class DSABackend(metaclass=abc.ABCMeta):
133124
@abc.abstractmethod
134125
def generate_dsa_parameters(self, key_size):
135126
"""
@@ -180,8 +171,7 @@ def load_dsa_parameter_numbers(self, numbers):
180171
"""
181172

182173

183-
@six.add_metaclass(abc.ABCMeta)
184-
class EllipticCurveBackend(object):
174+
class EllipticCurveBackend(metaclass=abc.ABCMeta):
185175
@abc.abstractmethod
186176
def elliptic_curve_signature_algorithm_supported(
187177
self, signature_algorithm, curve
@@ -228,8 +218,7 @@ def derive_elliptic_curve_private_key(self, private_value, curve):
228218
"""
229219

230220

231-
@six.add_metaclass(abc.ABCMeta)
232-
class PEMSerializationBackend(object):
221+
class PEMSerializationBackend(metaclass=abc.ABCMeta):
233222
@abc.abstractmethod
234223
def load_pem_private_key(self, data, password):
235224
"""
@@ -250,8 +239,7 @@ def load_pem_parameters(self, data):
250239
"""
251240

252241

253-
@six.add_metaclass(abc.ABCMeta)
254-
class DERSerializationBackend(object):
242+
class DERSerializationBackend(metaclass=abc.ABCMeta):
255243
@abc.abstractmethod
256244
def load_der_private_key(self, data, password):
257245
"""
@@ -272,8 +260,7 @@ def load_der_parameters(self, data):
272260
"""
273261

274262

275-
@six.add_metaclass(abc.ABCMeta)
276-
class X509Backend(object):
263+
class X509Backend(metaclass=abc.ABCMeta):
277264
@abc.abstractmethod
278265
def load_pem_x509_certificate(self, data):
279266
"""
@@ -331,8 +318,7 @@ def x509_name_bytes(self, name):
331318
"""
332319

333320

334-
@six.add_metaclass(abc.ABCMeta)
335-
class DHBackend(object):
321+
class DHBackend(metaclass=abc.ABCMeta):
336322
@abc.abstractmethod
337323
def generate_dh_parameters(self, generator, key_size):
338324
"""
@@ -386,8 +372,7 @@ def dh_x942_serialization_supported(self):
386372
"""
387373

388374

389-
@six.add_metaclass(abc.ABCMeta)
390-
class ScryptBackend(object):
375+
class ScryptBackend(metaclass=abc.ABCMeta):
391376
@abc.abstractmethod
392377
def derive_scrypt(self, key_material, salt, length, n, r, p):
393378
"""

src/cryptography/hazmat/backends/openssl/backend.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import warnings
1010
from contextlib import contextmanager
1111

12-
from six.moves import range
13-
1412
from cryptography import utils, x509
1513
from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
1614
from cryptography.hazmat._der import (

src/cryptography/hazmat/backends/openssl/decode_asn1.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import datetime
77
import ipaddress
88

9-
import six
10-
119
from cryptography import x509
1210
from cryptography.hazmat._der import DERReader, INTEGER, NULL, SEQUENCE
1311
from cryptography.x509.extensions import _TLS_FEATURE_TYPE_TO_ENUM
@@ -594,7 +592,7 @@ def _decode_dist_points(backend, cdps):
594592
def _decode_reasons(backend, reasons):
595593
# We will check each bit from RFC 5280
596594
enum_reasons = []
597-
for bit_position, reason in six.iteritems(_REASON_BIT_MAPPING):
595+
for bit_position, reason in _REASON_BIT_MAPPING.items():
598596
if backend._lib.ASN1_BIT_STRING_get_bit(reasons, bit_position):
599597
enum_reasons.append(reason)
600598

src/cryptography/hazmat/backends/openssl/encode_asn1.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import calendar
77
import ipaddress
88

9-
import six
10-
119
from cryptography import utils, x509
1210
from cryptography.hazmat.backends.openssl.decode_asn1 import (
1311
_CRL_ENTRY_REASON_ENUM_TO_CODE,
@@ -205,7 +203,7 @@ def _encode_certificate_policies(backend, certificate_policies):
205203
backend.openssl_assert(pqi != backend._ffi.NULL)
206204
res = backend._lib.sk_POLICYQUALINFO_push(pqis, pqi)
207205
backend.openssl_assert(res >= 1)
208-
if isinstance(qualifier, six.text_type):
206+
if isinstance(qualifier, str):
209207
pqi.pqualid = _txt2obj(
210208
backend, x509.OID_CPS_QUALIFIER.dotted_string
211209
)

src/cryptography/hazmat/primitives/asymmetric/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@
55

66
import abc
77

8-
import six
98

10-
11-
@six.add_metaclass(abc.ABCMeta)
12-
class AsymmetricSignatureContext(object):
9+
class AsymmetricSignatureContext(metaclass=abc.ABCMeta):
1310
@abc.abstractmethod
1411
def update(self, data):
1512
"""
@@ -23,8 +20,7 @@ def finalize(self):
2320
"""
2421

2522

26-
@six.add_metaclass(abc.ABCMeta)
27-
class AsymmetricVerificationContext(object):
23+
class AsymmetricVerificationContext(metaclass=abc.ABCMeta):
2824
@abc.abstractmethod
2925
def update(self, data):
3026
"""

src/cryptography/hazmat/primitives/asymmetric/dh.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
import abc
77

8-
import six
9-
108
from cryptography import utils
119
from cryptography.hazmat.backends import _get_backend
1210

@@ -21,7 +19,7 @@ def generate_parameters(generator, key_size, backend=None):
2119

2220
class DHPrivateNumbers(object):
2321
def __init__(self, x, public_numbers):
24-
if not isinstance(x, six.integer_types):
22+
if not isinstance(x, int):
2523
raise TypeError("x must be an integer.")
2624

2725
if not isinstance(public_numbers, DHPublicNumbers):
@@ -54,7 +52,7 @@ def private_key(self, backend=None):
5452

5553
class DHPublicNumbers(object):
5654
def __init__(self, y, parameter_numbers):
57-
if not isinstance(y, six.integer_types):
55+
if not isinstance(y, int):
5856
raise TypeError("y must be an integer.")
5957

6058
if not isinstance(parameter_numbers, DHParameterNumbers):
@@ -87,11 +85,11 @@ def public_key(self, backend=None):
8785

8886
class DHParameterNumbers(object):
8987
def __init__(self, p, g, q=None):
90-
if not isinstance(p, six.integer_types) or not isinstance(
91-
g, six.integer_types
88+
if not isinstance(p, int) or not isinstance(
89+
g, int
9290
):
9391
raise TypeError("p and g must be integers")
94-
if q is not None and not isinstance(q, six.integer_types):
92+
if q is not None and not isinstance(q, int):
9593
raise TypeError("q must be integer or None")
9694

9795
if g < 2:
@@ -126,8 +124,7 @@ def parameters(self, backend=None):
126124
q = utils.read_only_property("_q")
127125

128126

129-
@six.add_metaclass(abc.ABCMeta)
130-
class DHParameters(object):
127+
class DHParameters(metaclass=abc.ABCMeta):
131128
@abc.abstractmethod
132129
def generate_private_key(self):
133130
"""
@@ -150,8 +147,7 @@ def parameter_numbers(self):
150147
DHParametersWithSerialization = DHParameters
151148

152149

153-
@six.add_metaclass(abc.ABCMeta)
154-
class DHPrivateKey(object):
150+
class DHPrivateKey(metaclass=abc.ABCMeta):
155151
@abc.abstractproperty
156152
def key_size(self):
157153
"""
@@ -178,8 +174,7 @@ def exchange(self, peer_public_key):
178174
"""
179175

180176

181-
@six.add_metaclass(abc.ABCMeta)
182-
class DHPrivateKeyWithSerialization(DHPrivateKey):
177+
class DHPrivateKeyWithSerialization(DHPrivateKey, metaclass=abc.ABCMeta):
183178
@abc.abstractmethod
184179
def private_numbers(self):
185180
"""
@@ -193,8 +188,7 @@ def private_bytes(self, encoding, format, encryption_algorithm):
193188
"""
194189

195190

196-
@six.add_metaclass(abc.ABCMeta)
197-
class DHPublicKey(object):
191+
class DHPublicKey(metaclass=abc.ABCMeta):
198192
@abc.abstractproperty
199193
def key_size(self):
200194
"""

0 commit comments

Comments
 (0)