Spaces:
Running
Running
File size: 3,317 Bytes
636c84f c431254 29a73fb 101fab2 29a73fb 869b202 29a73fb 869b202 29a73fb 869b202 c431254 a2075a8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
import json
import gradio as gr
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from decode import decode_ssl_certificate
def decode(cert) -> dict:
try:
cert = cert.encode()
ssl_out = {}
try:
try:
decoded_cert = x509.load_pem_x509_certificate(cert, default_backend())
except:
decoded_cert = x509.load_pem_x509_csr(cert, default_backend())
if decoded_cert:
status = "Success"
message = "Certificate decoded successfully."
decoded_data = decode_ssl_certificate(decoded_cert)
data = {
"status": status,
"message": message,
"data": decoded_data
}
ssl_out = json.dumps(data, indent = 4)
else:
data = {
"status": status,
"message": message,
"data": None
}
ssl_out = json.dumps(data, indent = 4)
except Exception as e:
status = "Failed"
message = "Failed to decode certificate. Please make sure you have uploaded a valid certificate file."
data = {
"status": status,
"message": message,
"data": e
}
except:
ssl_out = {}
try:
try:
decoded_cert = x509.load_pem_x509_certificate(cert, default_backend())
except:
decoded_cert = x509.load_pem_x509_csr(cert, default_backend())
if decoded_cert:
status = "Success"
message = "Certificate decoded successfully."
decoded_data = decode_ssl_certificate(decoded_cert)
data = {
"status": status,
"message": message,
"data": decoded_data
}
ssl_out = json.dumps(data, indent = 4)
else:
data = {
"status": status,
"message": message,
"data": None
}
ssl_out = json.dumps(data, indent = 4)
except Exception as e:
status = "Failed"
message = "Failed to decode certificate. Please make sure you have uploaded a valid certificate file."
data = {
"status": status,
"message": message,
"data": e
}
ssl_out = json.dumps(data, indent = 4)
return ssl_out
def app():
with gr.Blocks(title="Project Gatekeeper - Get free SSL Certificates") as webui:
with gr.Row():
ssl = gr.Textbox(label="Enter Domains", type="text", interactive=True)
with gr.Row():
decoded_data = gr.Textbox(label="Enter Domains", type="text", interactive=False, show_copy_button=True)
btn = gr.Button(value="Generate SSL Certificate")
btn.click(decode, inputs=ssl, outputs=decoded_data)
try:
webui.queue(default_concurrency_limit=15).launch()
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
app() |