warcprox crashes with the following error when using
`cryptography==35.0.0`.
```
ValueError: Valid PEM but no BEGIN CERTIFICATE/END CERTIFICATE delimiters. Are you sure this is a certificate?
Traceback (most recent call last):
File "/opt/spn2/bin/warcprox", line 8, in <module>
sys.exit(main())
File "/opt/spn2/lib/python3.8/site-packages/warcprox/main.py", line 330, in main
controller = warcprox.controller.WarcproxController(options)
File "/opt/spn2/lib/python3.8/site-packages/warcprox/controller.py", line 145, in __init__
self.proxy = warcprox.warcproxy.WarcProxy(
File "/opt/spn2/lib/python3.8/site-packages/warcprox/warcproxy.py", line 561, in __init__
SingleThreadedWarcProxy.__init__(
File "/opt/spn2/lib/python3.8/site-packages/warcprox/warcproxy.py", line 509, in __init__
warcprox.mitmproxy.SingleThreadedMitmProxy.__init__(
File "/opt/spn2/lib/python3.8/site-packages/warcprox/mitmproxy.py", line 861, in __init__
self.ca = CertificateAuthority(
File "/opt/spn2/lib/python3.8/site-packages/warcprox/certauth.py", line 69, in __init__
self.cert, self.key = self.read_pem(ca_file)
File "/opt/spn2/lib/python3.8/site-packages/warcprox/certauth.py", line 210, in read_pem
cert = x509.load_pem_x509_certificate(f.read(), default_backend())
File "/opt/spn2/lib/python3.8/site-packages/cryptography/x509/base.py", line 436, in load_pem_x509_certificate
return rust_x509.load_pem_x509_certificate(data)
ValueError: Valid PEM but no BEGIN CERTIFICATE/END CERTIFICATE delimiters. Are you sure this is a certificate?
```
PyOpenSSL is deprecated. We replace it with `cryptography` following
their recommendation at: https://pypi.org/project/pyOpenSSL/
We drop the `pyopenssl` dependency.
Copy certauth.py and tests_certauth.gr from `certauth==1.1.6`
b526eb2bfd
Change only imports.
Drop unused imports.
Update setup.py: drop `certauth` and add `pyopenssl`.
Save WARCs in subdirectories equal to the current value of Warcprox-Meta['warc-prefix'].
E.g. if warc-prefix=='spn2' and --dir=/warcs, save them in /warcs/spn2/.