Convert http01_example.py to use cryptography's APIs (#10098)

Co-authored-by: ohemorange <ebportnoy@gmail.com>
This commit is contained in:
Alex Gaynor
2024-12-18 23:54:44 +00:00
committed by GitHub
co-authored by ohemorange
parent 06ea141ca9
commit 724be8848a
+8 -6
View File
@@ -28,6 +28,7 @@ Workflow:
from contextlib import contextmanager from contextlib import contextmanager
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa from cryptography.hazmat.primitives.asymmetric import rsa
import josepy as jose import josepy as jose
import OpenSSL import OpenSSL
@@ -68,10 +69,9 @@ def new_csr_comp(domain_name, pkey_pem=None):
"""Create certificate signing request.""" """Create certificate signing request."""
if pkey_pem is None: if pkey_pem is None:
# Create private key. # Create private key.
pkey = OpenSSL.crypto.PKey() pkey = rsa.generate_private_key(public_exponent=65537, key_size=CERT_PKEY_BITS)
pkey.generate_key(OpenSSL.crypto.TYPE_RSA, CERT_PKEY_BITS) pkey_pem = pkey.public_bytes(serialization.Encoding.PEM)
pkey_pem = OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM,
pkey)
csr_pem = crypto_util.make_csr(pkey_pem, [domain_name]) csr_pem = crypto_util.make_csr(pkey_pem, [domain_name])
return pkey_pem, csr_pem return pkey_pem, csr_pem
@@ -201,8 +201,10 @@ def example_http():
# Revoke certificate # Revoke certificate
fullchain_com = jose.ComparableX509( fullchain_com = jose.ComparableX509(
OpenSSL.crypto.load_certificate( OpenSSL.crypto.X509.from_cryptography(
OpenSSL.crypto.FILETYPE_PEM, fullchain_pem)) x509.load_pem_x509_certificate(fullchain_pem)
)
)
try: try:
client_acme.revoke(fullchain_com, 0) # revocation reason = 0 client_acme.revoke(fullchain_com, 0) # revocation reason = 0