The internals of codemagic.models.Certificate rely heavily on X.509 certificate implementation OpenSSL.crypto.X509 from pyOpenSSL module.
Lately there have been number of conflicts (and consequently bugs in this repo) due to incompatibilities between pyOpenSSL and cryptography (such as #217). It is also strongly encouraged to replace pyOpenSSL usages with cryptography where possible (see the note on PyPI description).
The internals of
codemagic.models.Certificate
rely heavily on X.509 certificate implementationOpenSSL.crypto.X509
from pyOpenSSL module.Lately there have been number of conflicts (and consequently bugs in this repo) due to incompatibilities between pyOpenSSL and cryptography (such as #217). It is also strongly encouraged to replace pyOpenSSL usages with cryptography where possible (see the note on PyPI description).
Considering the above,
codemagic.models.Certificate
was refactored to usecryptography.x509.Certificate
internally instead ofOpenSSL.crypto.X509
.Changes were tested with the following pyOpenSSL and cryptography version combinations:
19.0.0
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.19.1.0
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.20.0.0
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.20.0.1
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.21.0.0
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.22.0.0
and cryptography versions3.3.1
,35.0.0
,36.0.2
,37.0.1
and37.0.2
.Note that cryptography version 37.0.0 is still not supported and remains excluded from the allowed versions (also in
setup.py
).