tis-opensc icon

OpenSC

Silent install package for OpenSC

0.27.1-6
Drivers
Drivers

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-opensc
  • name: OpenSC
  • version: 0.27.1-6
  • categories: Drivers
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • licence: LGPL
  • locale: all
  • target_os: windows
  • impacted_process: pkcs11-tool,opensc-notify,opensc-tool
  • architecture: all
  • signature_date:
  • size: 92.10 Mo
  • homepage : https://github.com/OpenSC/OpenSC/wiki

package           : tis-opensc
version           : 0.27.1-6
architecture      : all
section           : base
priority          : optional
name              : OpenSC
categories        : Drivers
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : OpenSC smartcard framework
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://github.com/OpenSC/OpenSC/releases
installed_size    : 
impacted_process  : pkcs11-tool,opensc-notify,opensc-tool
description_fr    : Cadre de carte à puce OpenSC
description_pl    : OpenSC smartcard framework
description_de    : OpenSC Smartcard-Framework
description_es    : Marco de la tarjeta inteligente OpenSC
description_pt    : Estrutura do OpenSC smartcard
description_it    : Quadro di riferimento per smartcard OpenSC
description_nl    : OpenSC smartcard-kader
description_ru    : Система смарт-карт OpenSC
audit_schedule    : 
editor            : 
keywords          : 
licence           : LGPL
homepage          : https://github.com/OpenSC/OpenSC/wiki
package_uuid      : 84141abc-7eb8-49df-a948-10ff0a5a0e29
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/OpenSC/OpenSC/releases
min_os_version    : 
max_os_version    : 
icon_sha256sum    : b80b143a5ab7954131c83e41e21b34607c7ed9a02d307f064c3099ec6a342f62
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-04-01T07:16:45.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         : VIv5fxXoSGUjQcP/yiIQiMokxpzNmbce/rgOYUZC4GRd8So1+S350lyLYYS+qorQ2BXvD1JzK5T9S/3L0gM5C7QBx2isczIeBAEm/QlNQZRZvOcHnxCsXTwOk2BShm4dXavUM1XA9LNvnqrstqcRa3InFMTnZ7J6VGEKKMNrKkOARdjjvoC9Lm4vTpsHrDpsTVxcNA+J1ST9ptyeCcMQiJhz91irepzk9lWpoH+DDqI5qKX93kam+12EVY3BOD0CX1f4SRTtYfqFKRqI6l/bFMEl3KzfbxpJKcwwfSjs88wjMt3yjrMeXaCQ8bjeVHJBJ2awom+8+AebvR1GBSly1A==

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


def install():
    # Initializing variables
    package_version = control.get_software_version()
    # removing previous version
    for uninstall in installed_softwares("OpenSC smartcard framework"):
        print("Uninstall %s" % uninstall["name"])
        cmd = uninstall_cmd(uninstall["key"])
        run(cmd)

    # Installing the package
    install_msi_if_needed(
        "OpenSC-%s_x86.msi" % package_version,
        min_version=package_version,
    )

    if iswin64():
        install_msi_if_needed(
            "OpenSC-%s_x64.msi" % package_version,
            min_version=package_version,
        )

    if iswinarm():
        install_msi_if_needed(
            "OpenSC-%s_arm64.msi" % package_version,
            min_version=package_version,
        )

    if not 'opensc' in registry_readstring(HKEY_LOCAL_MACHINE,r"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Path").lower():
        add_to_system_path(makepath(programfiles,'OpenSC Project','OpenSC','tools'))

def iswinarm():
    return platform.machine() == 'ARM64'

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


def update_package():
    print("Download/Update package content from upstream binary sources")

    # Initializing variables
    app_name = control.name
    url_api = "https://api.github.com/repos/OpenSC/OpenSC/releases/latest"
    proxy = get_proxies()
    bin_name_string_x64 = "OpenSC-%s_x64.msi"
    bin_name_string_x86 = "OpenSC-%s_x86.msi"
    bin_name_string_arm = "OpenSC-%s_arm64.msi"
    # Getting latest informations from Github API
    json_load = json.loads(wgets(url_api, proxies=proxy))
    for download in json_load:
        version = json_load["tag_name"]
        break

    latest_bin_x64 = bin_name_string_x64 % version
    latest_bin_x86 = bin_name_string_x86 % version
    latest_bin_arm = bin_name_string_arm % version
    url_dl_x64 = "https://github.com/OpenSC/OpenSC/releases/download/" + version + "/" + latest_bin_x64
    url_dl_x86 = "https://github.com/OpenSC/OpenSC/releases/download/" + version + "/" + latest_bin_x86
    url_dl_arm = "https://github.com/OpenSC/OpenSC/releases/download/" + version + "/" + latest_bin_arm

    print("Latest " + app_name + " version is: " + version)

    # Downloading latest binaries
    if not isfile(latest_bin_x64):
        print("Downloading: " + latest_bin_x64)
        wget(url_dl_x64, latest_bin_x64, proxies=proxy)

    if not isfile(latest_bin_x86):
        print("Downloading: " + latest_bin_x86)
        wget(url_dl_x86, latest_bin_x86, proxies=proxy)

    if not isfile(latest_bin_arm):
        print("Downloading: " + latest_bin_arm)
        wget(url_dl_arm, latest_bin_arm, proxies=proxy)

        # Changing version of the package
        control.version = "%s-%s" % (version, int(control.version.split("-")[-1]) + 1)
        control.save_control_to_wapt()
        print("Changing version to: %s in WAPT\\control" % control.version)

    # Deleting outdated binaries
    for bin_in_dir in glob.glob("*.msi"):
        if bin_in_dir != latest_bin_x64 and bin_in_dir != latest_bin_x86 and bin_in_dir != latest_bin_arm:
            print("Outdated binary: " + bin_in_dir + " Deleted")
            remove_file(bin_in_dir)

16e058da0b056540e8d4bc452eb5d64bff0e6a94371c692a3fd087c19f39a08a : OpenSC-0.27.1_arm64.msi
88ea45e848063ff5f3594a457b7f023223472eae9c9c543f8035f7689bb7b319 : OpenSC-0.27.1_x64.msi
266e1cc593922814a695951f9f39cafe22d9334ab5e5aa96b607bd045a9dfe49 : OpenSC-0.27.1_x86.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
f03a9d7d0536aee4a1637ef89b06864836c9e9db305c0d67cdb14150f932439d : WAPT/control
b80b143a5ab7954131c83e41e21b34607c7ed9a02d307f064c3099ec6a342f62 : WAPT/icon.png
aa7443c77abf181e1b78dafdc98fc256aa893e185ed4f17d2cdb97bbe8488454 : luti.json
8a0bd1927fa690ee538e32d9d5914c645a23ea72464652a8efb25085fe769fd0 : setup.py
4abcedd6c2961b490c2a23cdda09cc65f96fa3ccc9c677eea4f9170bfc6e108d : update_package.py