decode_ssl / app.py
raannakasturi's picture
Update app.py
636c84f verified
raw
history blame
1.87 kB
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:
cert = cert.encode()
ssl_out = {}
try:
decoded_cert = x509.load_pem_x509_certificate(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()