import gnupg def leer_descifrar_y_verificar_licencia(archivo_licencia, passphrase): # Inicializar GPG gpg = gnupg.GPG() try: # Leer el contenido cifrado del archivo with open(archivo_licencia, 'rb') as f: contenido_cifrado = f.read() # Descifrar el contenido descifrado = gpg.decrypt(contenido_cifrado, passphrase=passphrase) if not descifrado.ok: print(f"Error al descifrar los datos: {descifrado.status}") return print("Datos descifrados correctamente.") # Los datos descifrados contienen la licencia firmada datos_descifrados = descifrado.data.decode('utf-8') # Verificar la firma verificacion = gpg.verify(datos_descifrados) if not verificacion: print("La firma de la licencia no es válida.") else: print("La firma de la licencia es válida.") # Imprimir los datos de la licencia print("Datos de la licencia:") print(datos_descifrados) except Exception as e: print(f"Error al leer, descifrar o verificar los datos: {str(e)}") # Archivo de licencia a leer y descifrar archivo_licencia = 'licencia.cbs' # Frase de paso para descifrar passphrase = '172999' # Llamar a la función para leer, descifrar y verificar la licencia leer_descifrar_y_verificar_licencia(archivo_licencia, passphrase)