tis-eid-belgium icon

belgium e-id middleware

Paquet d’installation silencieuse pour belgium e-id middleware

5.1.23.6205-1

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-eid-belgium
  • name: belgium e-id middleware
  • version: 5.1.23.6205-1
  • maintainer: Amel FRADJ
  • licence: GNU Lesser General Public License v3.0
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 8.16 Mo
  • homepage : https://eid.belgium.be/en

package           : tis-eid-belgium
version           : 5.1.23.6205-1
architecture      : x64
section           : base
priority          : optional
name              : belgium e-id middleware
categories        : 
maintainer        : Amel FRADJ
description       : The eID is an electronic proof of identity (with chip) with which you can carry out electronic transactions
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : L'eID est une preuve d'identité électronique (avec puce) qui vous permet d'effectuer des transactions électroniques (belgique)
description_pl    : eID to elektroniczny dowód tożsamości (z chipem), za pomocą którego można przeprowadzać transakcje elektroniczne
description_de    : Die eID ist ein elektronischer Identitätsnachweis (mit Chip), mit dem Sie elektronische Transaktionen durchführen können
description_es    : El DNIe es una prueba electrónica de identidad (con chip) con la que puede realizar transacciones electrónicas
description_pt    : O eID é uma prova eletrónica de identidade (com chip) com a qual pode efetuar transacções electrónicas
description_it    : L'eID è una prova d'identità elettronica (con chip) con la quale è possibile effettuare transazioni elettroniche
description_nl    : De eID is een elektronisch identiteitsbewijs (met chip) waarmee je elektronische transacties kunt uitvoeren
description_ru    : eID - это электронное удостоверение личности (с чипом), с помощью которого вы можете совершать электронные транзакции
audit_schedule    : 
editor            : 
keywords          : 
licence           : GNU Lesser General Public License v3.0
homepage          : https://eid.belgium.be/en
package_uuid      : 25f4b4b9-af0f-4ed3-86de-0a486fb81050
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 8.1
max_os_version    : 
icon_sha256sum    : 017ed89d38d55d481946544fcd2af315ea294e814cd5fa7f5a12f6d6738891c7
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-10-14T14:47:58.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : h4NAhwSimoemL9VtaEerqmokOG8MK1vP8d6tzkWY75N3gRCVU2gYoUUo86jXtuuawvMkQuA7trL334gpfcB3mCJmd/JkETVTWsKCIYMSe4uMuTG47D/eSJY1UfgpUt1+f73kyL1td7DMa49tNAyy7SHfXAfYTTGbHs4JaqfZ8+dKDVeT8WAL89SnLB4283ax9WfvD34xWoFWwPNBR1Bs3/OW0HDyFyGQdc/TJ65WtUmwUex4fl+XGZX1/7Sx4jKTrUpsLDtkKGrHBcqu+MRRdrOphslwCaK5l+4+aPaHTfdmm4QmqyiGi2Gw+3pQQh8o5xEfMgeVVrQ8/YLai3scnQ==

# -*- coding: utf-8 -*-
from setuphelpers import *
import re

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
 {
   "key":"{DB942AEA-93D6-4FE4-8862-180D35A76030}",
   "name":"Belgium e-ID middleware 5.1.8 (build 6030)",
   "version":"5.1.6030",
   "install_date":"2024-06-14 00:00:00",
   "install_location":"C:\\Program Files (x86)\\Belgium Identity Card\\",
   "uninstall_string":"MsiExec.exe /I{DB942AEA-93D6-4FE4-8862-180D35A76030}",
   "publisher":"Belgian Government",
   "system_component":0,
   "win64":true
  }
 ]

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():
    # Declaring local variables
    bin_name= glob.glob('Belgium%20eID-*.exe')[0]
    # Installing the software



    install_exe_if_needed(bin_name,
        silentflags='/S /allusers',
        key= '{DB942AEA-93D6-4FE4-8862-180D35A7%s}' % control.get_software_version().split('.')[-1],
        min_version=control.get_software_version(),
        get_version=get_version,
        timeout=600,
    )


def get_version(app_registry_dict):
    name = app_registry_dict.get("name", "")

    # Rechercher le motif pour la version 'X.X.X' et le build '(build XXXX)'
    version_match = re.search(r'\b\d+\.\d+\.\d+\b', name)
    build_match = re.search(r'build (\d+)', name)

    if version_match and build_match:
        version = version_match.group(0)
        build = build_match.group(1)
        return f"{version}.{build}"
    else:
        return None

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import re


def update_package():
    # Déclaration des variables locales
    result = False
    proxies = get_proxies()  # Supposons que cette fonction récupère une liste de proxies
    if not proxies:
        proxies = get_proxies_from_wapt_console()  # Fonction pour récupérer des proxies depuis WAPT


    url = "https://eid.belgium.be/en"

    response = requests.get(url)
    # Recherche des balises <div> contenant les liens de téléchargement
    download_section = bs_find_all(url, 'div','class','field field--name-field-link field--type-link field--label-hidden field__item')

    if not download_section:
        print("Section de téléchargement non trouvée.")
        return False

    # Expression régulière pour trouver les liens correspondants à /download/{number}/license
    regex = re.compile(r'/download/\d+/license')

    # Recherche du lien de téléchargement spécifique
    download_links = []
    for section in download_section:
        for link in section.find_all('a', href=True):
            href = link['href']
            print(f"Lien extrait: {href}")  # Afficher chaque lien extrait pour le débogage
            if regex.search(href):
                download_link = f"https://eid.belgium.be{href}"
                break
        if download_link:
            break
    # Accéder à la page de téléchargement et extraire le lien vers le fichier .exe
    exe_link = None
    try:
        dl_response = requests.get(download_link, proxies=proxies, timeout=10)
        dl_response.raise_for_status()
        exe_tag = bs_find_all(download_link,"span","class","file file--mime-application-x-msdos-program file--general")
        if exe_tag:
            # Chercher la balise <a> à l'intérieur de la balise <span>
            a_tag = exe_tag[0].find('a', href=True)
            if a_tag and 'href' in a_tag.attrs:
                exe_link = a_tag['href']
                if not exe_link.startswith('http'):
                    exe_link = f"https://eid.belgium.be{exe_link}"
                    download_url  = exe_link
                    latest_bin = download_url.split("/")[-1]
    except requests.exceptions.RequestException as e:
        print(f"Erreur lors de l'accès au lien de téléchargement {download_link} : {e}")
    # Affiner l'expression régulière pour correspondre exactement à la version après "QuickInstaller%20"
    match = re.search(r'QuickInstaller%20(\d+\.\d+\.\d+\.\d+)', latest_bin)

    if match:
        version = match.group(1)
        print(f"La version extraite est : {version}")
    else:
        print("Aucune version trouvée dans le nom de fichier.")

    #nettoyer les fichiers temporaires
    for f in glob.glob('*.exe'):
        if f != latest_bin:
            remove_file(f)

    # Downloading latest binaries
    if not isfile(latest_bin):
        package_updated = True
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)



    control.set_software_version(version)
    control.save_control_to_wapt()

ffda57091e18581ebecabb16245dbe66df8e8b5adf92c8aa7b90657e92d3acaf : Belgium%20eID-QuickInstaller%205.1.23.6205.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
f5ed62079ded0d3fde3bb752dd0846e744b1245d16434d6136dd1cae2eb0c73a : WAPT/control
017ed89d38d55d481946544fcd2af315ea294e814cd5fa7f5a12f6d6738891c7 : WAPT/icon.png
b4ab21666995440462065b5d5cb5d35761231d41b4e6fab2f77650aa535588e7 : luti.json
f22f0c6bd2c531dead6416b586f5877b61e7b3f14b48a8fa36ea951356231449 : setup.py
0786d3dcad899d8a422c8cf906259a3aa1367b12d2d9ac58fc1f645b3c5a6b28 : update_package.py