from OpenSSL import crypto # Generar clave privada y certificado autofirmado key = crypto.PKey() key.generate_key(crypto.TYPE_RSA, 2048) cert = crypto.X509() cert.get_subject().C = "ES" # País cert.get_subject().ST = "Madrid" # Estado o provincia cert.get_subject().L = "Madrid" # Localidad cert.get_subject().O = "SRM" # Organización cert.get_subject().CN = "146.59.69.180" # Common Name (CN) cert.set_serial_number(1000) cert.gmtime_adj_notBefore(0) cert.gmtime_adj_notAfter(31536000) # Válido por 1 año cert.set_issuer(cert.get_subject()) cert.set_pubkey(key) cert.sign(key, 'sha256') # Guardar la clave privada y el certificado with open("/home/data2/mosquitto/config/key_new.pem", "wb") as key_file: key_file.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key)) with open("/home/data2/mosquitto/config/cert_new.pem", "wb") as cert_file: cert_file.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) print("Certificado y clave privada generados exitosamente.")