procertum-simplysign-desktop
maintainer delthas
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt binary installer from the vendor's official domain (certum.pl), which is plausibly the project's own release infrastructure; the binary is manually extracted rather than executed, and the source is verified via provided checksums, reducing supply-chain risk despite the non-whitelisted host.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt binary installer from the vendor's official domain (certum.pl), which is plausibly the project's own release infrastructure; the binary is manually extracted rather than executed, and the source is verified via provided checksums, reducing supply-chain risk despite the non-whitelisted host.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:17
"https://files.certum.eu/software/SimplySignDesktop/Linux-Ubuntu/${_fullver}/SimplySignDesktop-${_fullver}-x86_64-prod-ubuntu.bin" -
PKGBUILD:18
"ccsca2021.der::https://repository.certum.pl/ccsca2021.cer"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: delthas <arch@delthas.fr>
2
pkgname=procertum-simplysign-desktop
3
pkgver=2.9.14
4
_fullver=${pkgver}-9.4.3.0
5
pkgrel=1
6
pkgdesc="Creation of secure electronic signatures using a mobile device."
7
arch=(x86_64)
8
url="https://support.certum.eu/en/software/procertum-smartsign/"
9
license=("LicenseRef-${pkgname}-software-license")
10
install="${pkgname}.install"
11
depends=("gcc-libs" "libxml2-legacy" "glib2" "dbus" "sqlite" "fontconfig" "hicolor-icon-theme")
12
optdepends=("procertum-smartsign: create and verify signatures using the cloud certificate"
13
"osslsigncode: sign Windows executables (Authenticode) with the cloud certificate"
14
"pkcs11-provider: OpenSSL PKCS#11 provider backend used by osslsigncode"
15
"opensc: pkcs11-tool to inspect the token and export the certificate")
16
source=(
17
"https://files.certum.eu/software/SimplySignDesktop/Linux-Ubuntu/${_fullver}/SimplySignDesktop-${_fullver}-x86_64-prod-ubuntu.bin"
18
"ccsca2021.der::https://repository.certum.pl/ccsca2021.cer"
19
)
20
md5sums=('36a19c83255d35f51d09a1f299845177'
21
'8c36fe1381de5ebbbaed200e535c0548')
22
23
prepare() {
24
# Avoid trusting the installer; extract manually from the first gzip header.
25
26
# This is the "naive" command that calls the installer, to extract itself.
27
# sh "./SimplySignDesktop-${_fullver}-${CARCH}-prod-ubuntu.bin" --noexec --keep --nox11 --nochown --target "${srcdir}/${pkgname}-${pkgver}"
28
29
# This tells grep not to try to parse Unicode codepoints from the file, since we are doing binary operations.
30
export LANG=C
31
OFFSET=$(grep -obUaP -m 1 "\x1F\x8B" SimplySignDesktop-${_fullver}-x86_64-prod-ubuntu.bin | cut -d ':' -f 1)
32
mkdir -p "${srcdir}/${pkgname}-${pkgver}"
33
tail -c +$(($OFFSET+1)) SimplySignDesktop-${_fullver}-x86_64-prod-ubuntu.bin | tar -C "${srcdir}/${pkgname}-${pkgver}" -xzf -
34
}
35
36
package() {
37
cd "${srcdir}/${pkgname}-${pkgver}/SSD-$pkgver-dist"
38
39
install -d "$pkgdir/usr/lib/$pkgname"
40
# Use cp -a, not install: the bundled Qt5/ICU/OpenSSL libraries ship as
41
# SONAME symlink chains that install(1) would dereference into many full copies.
42
cp -a lib* SimplySign*.so SimplySignDesktop.xml CACerts languages plugins "$pkgdir/usr/lib/$pkgname/"
43
install -Dm755 -t "$pkgdir/usr/lib/$pkgname" SimplySignDesktop
44
45
# Certum's bundled CACerts omits the (non-EV) Certum Code Signing 2021 CA
46
# intermediate, so code-signing certs cannot be verified / chained. Add it.
47
install -Dm644 "$srcdir/ccsca2021.der" "$pkgdir/usr/lib/$pkgname/CACerts/ccsca2021.der"
48
49
# Expose the cloud PKCS#11 module system-wide, like the upstream installer does.
50
# SimplySign Desktop loads it via LD_LIBRARY_PATH; proCertum SmartSign finds it on
51
# java.library.path (/usr/lib), enabling cloud signing when both packages are installed.
52
_pkcs=$(basename SimplySignPKCS_64-MS-*.so)
53
ln -rs "$pkgdir/usr/lib/$pkgname/$_pkcs" "$pkgdir/usr/lib/libSimplySignPKCS.so"
54
55
mkdir -p "$pkgdir/usr/bin"
56
cat >"$pkgdir/usr/bin/$pkgname" << EOF
57
#!/bin/sh
58
export LD_LIBRARY_PATH=/usr/lib/$pkgname
59
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/$pkgname/plugins
60
export OPENSSL_CONF=/etc/ssl/
61
# Seed the per-user config on first run: SimplySign Desktop crashes without a
62
# current \$HOME/SimplySignDesktop.xml, and a package must not write to \$HOME at
63
# build/install time. On upgrades a stale config may need refreshing (see .install).
64
[ -f "\$HOME/SimplySignDesktop.xml" ] || cp /usr/lib/$pkgname/SimplySignDesktop.xml "\$HOME/SimplySignDesktop.xml"
65
exec /usr/lib/$pkgname/SimplySignDesktop
66
EOF
67
chmod 755 "$pkgdir/usr/bin/$pkgname"
68
69
install -Dm644 icon_64x64.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png"
70
71
sed -i -E 's|(Exec=).*|\1'"/usr/bin/$pkgname"'|gm' SimplySignDesktop.desktop
72
sed -i -E 's|(Icon=).*|\1'"$pkgname"'|gm' SimplySignDesktop.desktop
73
install -Dm644 SimplySignDesktop.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
74
75
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" licenses/SimplySignDesktop_*_licence.rtf
76
}
77
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |