licencias-minds3/leerlicencia.py

48 lines
1.4 KiB
Python

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)